@charset "UTF-8";
/*
Theme Name: RK Enterprise
Author: FOIS
*/
.cmn_btn a, .cmn_btn_light a, .cmn_btn_white a {
  align-items: center;
  border: 1px solid;
  border-radius: 4px;
  display: flex;
  font-size: 1.8rem;
  height: 60px;
  justify-content: center;
  padding: 10px;
  text-align: center;
  transition: 0.3s all ease-in-out; }
@media (max-width: 767px) {
  .cmn_btn a, .cmn_btn_light a, .cmn_btn_white a {
    font-size: 1.6rem;
    height: 50px; } }

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

ol,
ul {
  list-style: none; }

img {
  line-height: 1; }

a {
  transition: all 0.3s ease-in-out;
  outline: 0 none;
  text-decoration: none; }
  a:hover {
    transition: all 0.3s ease-in-out; }

html {
  display: flex;
  flex-direction: column;
  font-size: 62.5%; }

body {
  color: #000;
  display: flex;
  flex-direction: column;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6rem;
  min-height: 100vh;
  line-height: 1.6; }

main {
  flex: 0 0 auto; }

.wp-block-column > h2, .wp-block-cover__inner-container > h2, .wp-block-group > h2, .wp-block-group__inner-container > h2, .wp-block-latest-posts__post-full-content > div:not([class]) > h2, .wp-block-latest-posts__post-full-content > h2, .wp-block-media-text__content > h2 {
  color: #000; }

.is-layout-flow .mg_tp5 {
  margin-top: 5px; }

.is-layout-flow .mg_bt5 {
  margin-bottom: 5px; }

.is-layout-flow .mg_tp10 {
  margin-top: 10px; }

.is-layout-flow .mg_bt10 {
  margin-bottom: 10px; }

.is-layout-flow .mg_tp15 {
  margin-top: 15px; }

.is-layout-flow .mg_bt15 {
  margin-bottom: 15px; }

.is-layout-flow .mg_tp20 {
  margin-top: 20px; }

.is-layout-flow .mg_bt20 {
  margin-bottom: 20px; }

.is-layout-flow .mg_tp25 {
  margin-top: 25px; }

.is-layout-flow .mg_bt25 {
  margin-bottom: 25px; }

.is-layout-flow .mg_tp30 {
  margin-top: 30px; }

.is-layout-flow .mg_bt30 {
  margin-bottom: 30px; }

.is-layout-flow .mg_tp35 {
  margin-top: 35px; }

.is-layout-flow .mg_bt35 {
  margin-bottom: 35px; }

.is-layout-flow .mg_tp40 {
  margin-top: 40px; }

.is-layout-flow .mg_bt40 {
  margin-bottom: 40px; }

.is-layout-flow .mg_tp45 {
  margin-top: 45px; }

.is-layout-flow .mg_bt45 {
  margin-bottom: 45px; }

.is-layout-flow .mg_tp50 {
  margin-top: 50px; }

.is-layout-flow .mg_bt50 {
  margin-bottom: 50px; }

.is-layout-flow .mg_tp55 {
  margin-top: 55px; }

.is-layout-flow .mg_bt55 {
  margin-bottom: 55px; }

.is-layout-flow .mg_tp60 {
  margin-top: 60px; }

.is-layout-flow .mg_bt60 {
  margin-bottom: 60px; }

html {
  font-size: 62.5% !important; }

html, body {
  min-width: 320px; }

body {
  font-size: 1.6rem !important; }
  @media (max-width: 767px) {
    body {
      font-size: 1.5rem !important; } }

.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeOut 1.5s 2.5s forwards; }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    visibility: hidden; } }
.loading__logo {
  opacity: 0;
  animation: logo_fade 2s 0.5s forwards;
  width: 300px; }
  @media (max-width: 767px) {
    .loading__logo {
      width: 200px; } }

@keyframes logo_fade {
  0% {
    opacity: 0;
    transform: translateY(20px); }
  60% {
    opacity: 1;
    transform: translateY(0); }
  100% {
    opacity: 0; } }
table {
  border-collapse: collapse;
  border-spacing: 0; }

a {
  color: #284684;
  text-decoration: none; }
  @media (min-width: 768px), print {
    a {
      transition: all ease-in-out .3s; }
      a[href^="tel:"], a[href^="fax:"] {
        pointer-events: none; }
      a:hover {
        color: #c1ad5f; } }

* {
  margin: 0;
  padding: 0; }

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

@media (min-width: 768px), print {
  .pchide {
    display: none !important; } }

@media (max-width: 767px) {
  .sphide {
    display: none !important; } }

@media (max-width: 767px) {
  .sp_block {
    display: block; } }

::placeholder {
  color: #cecece; }

:-ms-input-placeholder {
  color: #cecece; }

::-webkit-input-placeholder {
  color: #cecece; }

select {
  background: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  width: 100%; }

select::-ms-expand {
  display: none; }

#wrap_all {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%; }

#wrap_all .wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px; }
  @media (min-width: 768px), print {
    #wrap_all .wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    #wrap_all .wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    #wrap_all .wrap {
      padding-left: 15px;
      padding-right: 15px; } }

input, textarea, select {
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #999;
  box-shadow: none !important;
  border-radius: 0;
  font-size: 1.6rem;
  padding: 7px;
  outline: none; }

input, select {
  align-items: center;
  display: flex;
  height: 36px; }

button {
  cursor: pointer; }

ul {
  margin: 0;
  padding: 0; }

.c-entry__body .c-entry__content > .alignfull {
  margin-left: auto;
  margin-right: auto; }

.wp-block-image img {
  width: 100% !important; }

.cmn_btn a {
  background: #c1ad5f;
  border-color: #c1ad5f;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-weight: 600; }
  .cmn_btn a:hover {
    box-shadow: none;
    background: #284684;
    border-color: #284684; }

.cmn_btn_light a {
  background: none;
  border-color: #c1ad5f;
  color: #c1ad5f !important; }
  .cmn_btn_light a:hover {
    background: #c1ad5f;
    color: #fff !important; }

.cmn_btn_white a {
  border-color: #fff;
  color: #fff; }
  .cmn_btn_white a:hover {
    background: #c1ad5f; }

.hd_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  align-items: center;
  display: flex;
  height: 80px;
  justify-content: space-between; }
  @media (min-width: 768px), print {
    .hd_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .hd_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .hd_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (min-width: 767px) and (max-width: 1023px) {
    .hd_wrap {
      padding: 0; } }
  @media (max-width: 767px) {
    .hd_wrap {
      height: 51px; } }

.hd_logo {
  width: 207px; }
  .hd_logo a {
    display: block;
    padding: 0 20px; }
  @media (max-width: 767px) {
    .hd_logo {
      width: 160px; }
      .hd_logo a {
        padding: 0; } }

.hd_right {
  align-items: center;
  display: flex;
  justify-content: space-between;
  max-width: 586px;
  width: calc(100% - 207px); }
  @media (min-width: 767px) and (max-width: 1023px) {
    .hd_right {
      justify-content: flex-end; } }

.hd_navsub {
  align-items: center;
  display: flex;
  justify-content: center;
  width: 120px; }
  .hd_navsub li {
    max-width: 40px;
    width: 33%; }
    .hd_navsub li a {
      display: flex;
      flex-wrap: wrap;
      height: 40px;
      justify-content: center;
      text-align: center;
      transition: 0.3s all ease-in-out; }
      .hd_navsub li a span {
        color: #000;
        display: block;
        font-size: 1rem;
        font-weight: 700;
        margin-top: auto;
        transition: 0.3s all ease-in-out;
        width: 100%; }
      .hd_navsub li a img {
        opacity: 0;
        margin-bottom: auto; }
    .hd_navsub li:hover span {
      color: #c1ad5f; }
    .hd_navsub li a.cartnav {
      background: url("override/src/images/common/ico-cart.svg") top center/auto 22px no-repeat; }
      .hd_navsub li a.cartnav:hover {
        background: url("override/src/images/common/ico-cart-color03.svg") top center/auto 22px no-repeat; }
        .hd_navsub li a.cartnav:hover img {
          opacity: 0; }
    .hd_navsub li a.searchnav {
      background: url("override/src/images/common/ico-search.svg") top center/auto 21px no-repeat; }
      .hd_navsub li a.searchnav:hover {
        background: url("override/src/images/common/ico-search-color03.svg") top center/auto 21px no-repeat; }
        .hd_navsub li a.searchnav:hover img {
          opacity: 0; }
    .hd_navsub li a.mailnav {
      background: url("override/src/images/common/ico-mail.svg") top center/auto 19px no-repeat; }
      .hd_navsub li a.mailnav:hover {
        background: url("override/src/images/common/ico-mail-color03.svg") top center/auto 19px no-repeat; }
        .hd_navsub li a.mailnav:hover img {
          opacity: 0; }
  @media (min-width: 767px) and (max-width: 1023px) {
    .hd_navsub {
      margin-right: 15px; } }
  @media (max-width: 767px) {
    .hd_navsub {
      margin: 0 auto 30px; } }

.hd_nav {
  display: flex;
  justify-content: space-between;
  max-width: 420px;
  width: calc(100% - 100px); }
  .hd_nav li a {
    color: #000; }
    .hd_nav li a:hover {
      color: #c1ad5f; }
  @media (min-width: 767px) and (max-width: 1023px) {
    .hd_nav {
      font-size: 1.4rem;
      margin-right: 30px;
      width: calc(100% - 200px); } }

@media (max-width: 767px) {
  .hd_menu_ico, .hd_menu_close {
    align-items: center;
    background: #c1ad5f;
    cursor: pointer;
    display: flex;
    position: fixed;
    height: 50px;
    width: 50px;
    top: 0;
    right: 0;
    text-align: center;
    justify-content: center;
    z-index: 999; } }

.spmenu {
  background: #fff;
  display: none;
  height: 100vh;
  overflow-y: scroll;
  padding: calc(20% + 46px) 22px 50px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999; }

.spmenu_in::after {
  content: "";
  display: block;
  height: 15px;
  width: 100%; }
.spmenu_in .hm_contact_tel a {
  color: #000; }
  .spmenu_in .hm_contact_tel a::before {
    background: url("override/src/images/common/ico-tel-black.svg") center/contain no-repeat; }
.spmenu_in .searchform {
  margin-bottom: 20px; }

.spmenu_logo {
  margin: 0 auto 30px;
  text-align: center;
  width: 160px; }
  .spmenu_logo a {
    display: inline-block; }

.spmenu_nav {
  border-bottom: 1px solid #d4d4d7;
  margin-bottom: 30px; }
  .spmenu_nav li a {
    border-top: 1px solid #d4d4d7;
    color: #000;
    display: block;
    font-size: 1.6rem;
    padding: 10px;
    text-align: center; }

.hd_menu_cart {
  align-items: center;
  background: #a0aeb7;
  border-right: 1px solid #fff;
  cursor: pointer;
  display: flex;
  position: fixed;
  height: 50px;
  width: 50px;
  top: 0;
  right: 50px;
  text-align: center;
  justify-content: center;
  z-index: 999; }

.footer {
  background: #284684;
  color: #fff; }

.ft_top {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  display: flex;
  justify-content: space-between;
  padding-bottom: 45px;
  padding-top: 60px; }
  @media (min-width: 768px), print {
    .ft_top {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .ft_top {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .ft_top {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .ft_top {
      display: block;
      padding-bottom: 30px;
      padding-top: 40px; } }

@media (min-width: 768px), print {
  .ft_top_left {
    padding: 0 10px;
    width: 350px; } }

.ft_logo {
  margin-bottom: 20px; }
  @media (max-width: 767px) {
    .ft_logo {
      margin-bottom: 20px; } }

.ft_permit {
  font-size: 1.3rem; }

.ft_sns {
  display: flex; }
  .ft_sns li {
    margin-left: 33px; }
    .ft_sns li:first-child {
      margin-left: 0; }
    .ft_sns li a {
      align-items: center;
      display: flex;
      justify-content: center; }
      .ft_sns li a img {
        transition: 0.3s all ease-in-out; }
    .ft_sns li a.fb_ico {
      background: url("override/src/images/common/ico-fb-color03.svg") center no-repeat; }
      .ft_sns li a.fb_ico:hover img {
        opacity: 0; }
    .ft_sns li a.ins_ico {
      background: url("override/src/images/common/ico-ins-color03.svg") center no-repeat; }
      .ft_sns li a.ins_ico:hover img {
        opacity: 0; }
    .ft_sns li a.twi_ico {
      background: url("override/src/images/common/ico-twi-color03.svg") center no-repeat; }
      .ft_sns li a.twi_ico:hover img {
        opacity: 0; }
  @media (max-width: 767px) {
    .ft_sns {
      justify-content: center; } }

.ft_top_right {
  display: flex;
  justify-content: space-between;
  max-width: 451px;
  width: calc(100% - 185px); }
  @media (max-width: 767px) {
    .ft_top_right {
      display: block;
      max-width: none;
      width: 100%; } }

.re_footer .ft_top_right {
  max-width: 600px; }

.ft_top_nav {
  margin-left: 10px;
  max-width: 130px;
  width: calc((100% - 15px)/2); }
  .ft_top_nav:first-child {
    margin-left: 0; }
  .ft_top_nav dt {
    font-weight: 500; }
    .ft_top_nav dt a {
      color: #fff;
      display: block; }
      .ft_top_nav dt a:hover {
        color: #c1ad5f; }
    @media (min-width: 768px), print {
      .ft_top_nav dt.noclick {
        pointer-events: none; } }
  .ft_top_nav dd a {
    color: #fff;
    display: block;
    font-size: 1.4rem;
    margin-top: 7px; }
    .ft_top_nav dd a:hover {
      color: #c1ad5f; }
  @media (min-width: 768px), print {
    .ft_top_nav dd {
      display: block !important; } }
  @media (max-width: 767px) {
    .ft_top_nav {
      margin-left: 0;
      margin-top: 20px;
      max-width: none;
      width: 100%; }
      .ft_top_nav dt {
        cursor: pointer;
        position: relative; }
        .ft_top_nav dt a {
          pointer-events: none; }
        .ft_top_nav dt::after {
          content: "+";
          color: #fff;
          font-size: 2rem;
          line-height: 1.1;
          position: absolute;
          right: 7px;
          top: 0; }
        .ft_top_nav dt.unshow::after {
          content: "-"; }
      .ft_top_nav dd {
        display: none; } }

@media (min-width: 768px), print {
  .ft_top_nav_double {
    max-width: none;
    width: 305px; }
    .ft_top_nav_double dd {
      overflow: hidden; }
      .ft_top_nav_double dd .ft_top_nav_lst {
        float: left;
        margin-left: 15px;
        width: calc((100% - 15px)/ 2); }
        .ft_top_nav_double dd .ft_top_nav_lst:first-child {
          margin-left: 0; } }
@media (max-width: 767px) {
  .ft_top_nav_double dd .ft_top_nav_lst {
    margin-top: 20px; }
    .ft_top_nav_double dd .ft_top_nav_lst:first-child {
      margin-top: 0; } }

.ft_bot {
  border-top: 1px solid rgba(255, 255, 255, 0.17);
  padding-bottom: 10px;
  padding-top: 10px; }
  @media (max-width: 767px) {
    .ft_bot {
      padding-top: 20px; } }

.ft_bot_in {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px; }
  @media (min-width: 768px), print {
    .ft_bot_in {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .ft_bot_in {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .ft_bot_in {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (min-width: 768px), print {
    .ft_bot_in {
      display: flex;
      justify-content: flex-end; } }

@media (min-width: 768px), print {
  .ft_bot_nav {
    display: flex; } }
@media (min-width: 768px), print {
  .ft_bot_nav li {
    margin-left: 22px; }
    .ft_bot_nav li:first-child {
      margin-left: 0; } }
.ft_bot_nav li a {
  color: #fff;
  font-size: 1.4rem; }
  .ft_bot_nav li a:hover {
    color: #c1ad5f; }

.ft_copyright {
  font-size: 1.4rem;
  text-align: right; }
  @media (max-width: 767px) {
    .ft_copyright {
      font-size: 1.2rem; } }

.pagetop a {
  align-items: center;
  background: #000;
  border-radius: 100%;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  bottom: 20px;
  display: flex;
  justify-content: center;
  height: 45px;
  right: 20px;
  position: fixed;
  transition: 0.3s all ease-in-out;
  width: 45px;
  z-index: 99; }
  .pagetop a:hover {
    background: #c1ad5f; }
  @media (max-width: 767px) {
    .pagetop a {
      bottom: 26px; } }

.ft_corp_btn a {
  align-items: center;
  border: 1px solid #fff;
  border-radius: 5px;
  color: #fff;
  display: flex;
  font-size: 1.4rem;
  height: 40px;
  justify-content: center;
  text-align: center;
  transition: .3s all ease-in-out; }
  .ft_corp_btn a:hover {
    background: #c1ad5f; }
@media (max-width: 767px) {
  .ft_corp_btn a {
    max-width: 200px;
    margin: 0 auto; } }

main {
  overflow-x: hidden;
  width: 100%; }

.js_ofi img {
  font-family: "object-fit: cover;";
  height: 100%;
  object-fit: cover;
  width: 100% !important; }

.boxlink {
  cursor: pointer; }

.cmn_ttl {
  margin-bottom: 25px;
  display: block;
  font-family: "Zen Old Mincho", serif;
  font-size: 4rem;
  font-weight: 600; }
  @media (max-width: 767px) {
    .cmn_ttl {
      margin-bottom: 15px; } }
  @media (max-width: 767px) {
    .cmn_ttl {
      font-size: 2.6rem; } }
  .cmn_ttl strong {
    color: #c1ad5f;
    display: block;
    font-family: "Cormorant Garamond", serif;
    font-size: 2.2rem;
    font-weight: 600; }
    @media (max-width: 767px) {
      .cmn_ttl strong {
        font-size: 1.8rem; } }

.cmn_ttl_en {
  color: #c1ad5f;
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: 2.2rem;
  font-weight: 600; }
  @media (max-width: 767px) {
    .cmn_ttl_en {
      font-size: 1.8rem; } }

.cmn_ttl_jp {
  display: block;
  font-family: "Zen Old Mincho", serif;
  font-size: 4rem;
  font-weight: 600;
  margin: 0; }
  @media (max-width: 767px) {
    .cmn_ttl_jp {
      font-size: 2.6rem; } }

.fadeInDown {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-name: fadeInDown;
  visibility: visible !important; }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -ms-transform: translateY(40px);
    transform: translateY(40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
.header {
  position: relative; }

.searchnav {
  cursor: pointer; }

.hd_search {
  background: #f2f4f5;
  box-shadow: 0 3px 10px inset rgba(0, 0, 0, 0.05);
  display: none;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 999; }

.hd_search_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  max-width: 800px;
  padding-bottom: 70px;
  padding-top: 60px; }
  @media (min-width: 768px), print {
    .hd_search_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .hd_search_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .hd_search_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  .hd_search_wrap .searchform {
    margin-bottom: 45px; }
    .hd_search_wrap .searchform .wp-block-search__input {
      height: 50px; }

.hd_search_ttl {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 15px; }
  .hd_search_ttl::before {
    background: #c1ad5f;
    content: "";
    display: inline-block;
    height: 14px;
    margin-right: 10px;
    vertical-align: middle;
    width: 14px; }
  @media (max-width: 767px) {
    .hd_search_ttl {
      font-size: 2rem;
      margin-bottom: 10px; }
      .hd_search_ttl::before {
        height: 10px;
        width: 10px; } }

.hd_search_btn {
  align-items: center;
  border: 1px solid #c1ad5f;
  border-radius: 4px;
  color: #c1ad5f;
  cursor: pointer;
  display: flex;
  height: 44px;
  justify-content: center;
  margin: 0 auto;
  width: 220px; }
  .hd_search_btn::before {
    content: url("override/src/images/common/ico-close.svg");
    display: inline-block;
    height: 19px;
    margin-right: 10px; }

.searchform {
  position: relative; }

.suggest_search {
  position: absolute;
  left: 0;
  top: 100%;
  background-color: #fff;
  border: 1px solid #ddd;
  font-size: 90%;
  width: 100%;
  z-index: 2;
  padding: 5px; }

.suggest_search div {
  display: block;
  width: 100%;
  overflow: hidden;
  padding: 0 5px;
  white-space: nowrap; }

.suggest_search div.select {
  /* keydown, keyup */
  color: #000;
  background-color: #f2f4f5; }

.suggest_search div.over {
  /* mouse over */
  background-color: #f2f4f5; }

#glt-translate-trigger {
  box-shadow: none !important; }

.tool-container {
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.15) !important; }

.search-highlight {
  background: #c1ad5f; }

@media (max-width: 767px) {
  .cookie-notice-container {
    margin-bottom: 30px; } }

.main_ft {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 280px;
  position: relative; }
  .main_ft::before {
    background: rgba(0, 0, 0, 0.6);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  @media (max-width: 767px) {
    .main_ft {
      height: 200px; } }

.main_ft_in {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  position: relative;
  z-index: 1; }
  @media (min-width: 768px), print {
    .main_ft_in {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .main_ft_in {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .main_ft_in {
      padding-left: 15px;
      padding-right: 15px; } }
  .main_ft_in .cmn_ttl {
    margin-bottom: 15px;
    margin-top: auto;
    text-align: center; }
  @media (max-width: 767px) {
    .main_ft_in .cmn_ttl {
      margin-bottom: 10px;
      margin-top: 0; } }

.main_ft_h1 {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 10px;
  text-align: center; }

.breadcrumbs {
  align-self: flex-end;
  font-size: 1.5rem;
  margin-top: auto;
  padding-bottom: 14px; }
  .breadcrumbs a span {
    color: #fff;
    transition: 0.3s all ease-in-out; }
  .breadcrumbs a:hover span {
    color: #c1ad5f !important; }
  .breadcrumbs .home::before {
    background: url("override/src/images/common/ico-home-white.svg") center/contain no-repeat;
    content: '';
    display: inline-block;
    height: 18px;
    transition: 0.3s all ease-in-out;
    vertical-align: sub;
    width: 16px; }
  .breadcrumbs .home span {
    display: none; }
  .breadcrumbs .home:hover::before {
    background: url("override/src/images/common/ico-home-color03.svg") center/contain no-repeat;
    transition: 0.3s all ease-in-out; }
  @media (max-width: 767px) {
    .breadcrumbs {
      display: none; } }

#wpadminbar {
  position: fixed !important; }

.c-section.p-section-front-page-content {
  padding: 0 !important;
  margin: 0 !important; }

.c-entry__content > :where(:not([width])) {
  width: 100% !important; }

[data-has-sidebar="false"] .c-entry__content {
  padding: 0 !important;
  margin: 0 !important; }

[data-fade="true"] .spider__canvas {
  height: 100% !important; }

.smb-spider-slider__figure-wrapper {
  height: 100% !important; }

.smb-spider-slider__figure-wrapper img {
  font-family: "object-fit: cover;";
  height: 100%;
  object-fit: cover;
  width: 100%; }

.is-root-container {
  font-family: "Zen Kaku Gothic New", sans-serif !important; }

.wp-block-group {
  margin-top: 0 !important; }

.smb-section__lede, .c-entry-summary__title, .c-entry-summary__meta, .c-entry-summary__term {
  font-size: 1.6rem !important; }
  @media (max-width: 767px) {
    .smb-section__lede, .c-entry-summary__title, .c-entry-summary__meta, .c-entry-summary__term {
      font-size: 1.5rem !important; } }

.p-entry-content > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) + :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6), .textwidget > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) + :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  margin-top: 0 !important; }

.wp-block-snow-monkey-blocks-buttons {
  margin: 0 !important; }

.wp-block-image {
  padding: 0 !important; }

.wp-block-snow-monkey-blocks-btn {
  width: 100% !important; }

.wp-block-column {
  flex-basis: auto !important;
  flex-grow: 0 !important; }

.wp-block-columns {
  gap: 0 !important; }

.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
  flex-basis: auto !important; }

.l-contents__inner:first-child {
  padding-top: 0 !important; }

.l-body--right-sidebar .l-contents__container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (min-width: 768px), print {
    .l-body--right-sidebar .l-contents__container {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .l-body--right-sidebar .l-contents__container {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .l-body--right-sidebar .l-contents__container {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .l-body--right-sidebar .l-contents__container {
      padding-bottom: 70px;
      padding-top: 70px; } }
  .l-body--right-sidebar .l-contents__container .l-contents__inner {
    justify-content: space-between; }
    @media (max-width: 1023px) {
      .l-body--right-sidebar .l-contents__container .l-contents__inner {
        display: flex !important; } }
    @media (max-width: 767px) {
      .l-body--right-sidebar .l-contents__container .l-contents__inner {
        display: block !important; } }
    .l-body--right-sidebar .l-contents__container .l-contents__inner .l-contents__main {
      flex: 0 0 auto !important;
      margin-right: 0 !important;
      width: calc(100% - 290px) !important; }
      @media (max-width: 767px) {
        .l-body--right-sidebar .l-contents__container .l-contents__inner .l-contents__main {
          margin-bottom: 50px;
          width: 100% !important; } }
    .l-body--right-sidebar .l-contents__container .l-contents__inner .l-contents__sidebar {
      flex: 0 0 auto !important;
      margin-top: 0 !important;
      width: 260px !important; }
      @media (max-width: 767px) {
        .l-body--right-sidebar .l-contents__container .l-contents__inner .l-contents__sidebar {
          width: 100% !important; } }

.hm_ad {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 80px;
  padding-top: 80px; }
  @media (min-width: 768px), print {
    .hm_ad {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .hm_ad {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .hm_ad {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .hm_ad {
      padding-bottom: 50px;
      padding-top: 50px; } }

.hm_bnr_lst {
  display: flex;
  justify-content: center; }
  .hm_bnr_lst li, .hm_bnr_lst .hm_bnr_lst_box {
    margin-left: 14px;
    width: calc((100% - 28px)/3); }
    .hm_bnr_lst li:first-child, .hm_bnr_lst .hm_bnr_lst_box:first-child {
      margin-left: 0; }
    .hm_bnr_lst li a, .hm_bnr_lst .hm_bnr_lst_box a {
      display: block;
      transition: 0.3s all ease-in-out; }
      .hm_bnr_lst li a:hover, .hm_bnr_lst .hm_bnr_lst_box a:hover {
        opacity: .7; }
  @media (max-width: 767px) {
    .hm_bnr_lst {
      display: block;
      max-width: 490px;
      margin: 0 auto; }
      .hm_bnr_lst li, .hm_bnr_lst .hm_bnr_lst_box {
        margin-left: 0;
        margin-top: 20px;
        width: 100%; }
        .hm_bnr_lst li:first-child, .hm_bnr_lst .hm_bnr_lst_box:first-child {
          margin-top: 0; } }

.hm_contact {
  background: url("override/src/images/common/bg_contact.jpg") center/cover no-repeat;
  position: relative; }
  .hm_contact::before {
    background: #424d63;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: .6;
    position: absolute;
    top: 0;
    width: 100%; }
  @media (min-width: 1030px) {
    .hm_contact {
      background-attachment: fixed; } }

.hm_contact_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  color: #fff;
  padding-bottom: 60px;
  padding-top: 60px;
  position: relative;
  text-align: center;
  z-index: 1; }
  @media (min-width: 768px), print {
    .hm_contact_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .hm_contact_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .hm_contact_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  .hm_contact_wrap .cmn_ttl {
    color: #fff; }

.hm_contact_intro {
  margin: 0 auto 25px; }
  @media (max-width: 767px) {
    .hm_contact_intro {
      margin-bottom: 20px; } }

.hm_contact_tel a {
  align-items: center;
  color: #fff;
  display: flex;
  font-family: "Zen Old Mincho", serif;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.4;
  justify-content: center; }
  .hm_contact_tel a::before {
    background: url("override/src/images/common/ico-tel-white.svg") center/contain no-repeat;
    content: "";
    display: inline-block;
    height: 30px;
    margin-right: 10px;
    margin-top: 8px;
    vertical-align: sub;
    width: 30px; }
@media (max-width: 767px) {
  .hm_contact_tel a {
    font-size: 2.4rem; }
    .hm_contact_tel a::before {
      height: 24px;
      margin-right: 7px;
      margin-top: 6px;
      width: 24px; } }

.hm_contact_telnote {
  font-size: 1.4rem; }
  @media (min-width: 768px), print {
    .hm_contact_telnote {
      padding-top: 5px; } }

@media (min-width: 768px), print {
  .hm_contact_in {
    margin: 0 auto;
    max-width: 1060px; } }

.hm_contact_left {
  text-align: center; }
  @media (min-width: 768px), print {
    .hm_contact_left {
      align-items: center;
      display: flex;
      justify-content: center; }
      .hm_contact_left .hm_contact_tel {
        margin-right: 15px; } }

@media (min-width: 768px), print {
  .hm_contact_right {
    padding: 8px 10px 25px;
    text-align: center; } }
@media (max-width: 767px) {
  .hm_contact_right {
    margin-bottom: 15px !important; } }

.hm_contact_btn {
  margin: 0 auto !important;
  max-width: 500px; }
  .hm_contact_btn a {
    font-size: 2rem;
    height: 84px;
    line-height: 1; }
    .hm_contact_btn a::before {
      content: url("override/src/images/common/ico-mail-white.svg");
      display: inline-flex;
      margin-right: 15px; }
  @media (max-width: 767px) {
    .hm_contact_btn a {
      font-size: 1.8rem;
      height: 64px; } }

.mainvisual {
  position: relative;
  margin: 0 !important; }
  @media (min-width: 768px), print {
    .mainvisual {
      height: 720px; } }
  @media (max-width: 767px) {
    .mainvisual {
      height: 500px; } }

.mainslideshow {
  margin: 0 !important;
  max-height: 720px;
  position: relative;
  overflow: hidden;
  width: 100vw !important; }
  .mainslideshow::before {
    background: #000929;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    opacity: .6;
    top: 0;
    width: 100%;
    z-index: 9; }
  .mainslideshow .slick-slide {
    height: 720px; }
    .mainslideshow .slick-slide .slick-track {
      width: 100vw !important; }
  @media (max-width: 767px) {
    .mainslideshow .slick-slide {
      height: 500px; } }

.mainvisual_cont {
  height: 100%;
  left: 0;
  margin-top: 0 !important;
  position: absolute;
  top: 0;
  width: 100vw;
  z-index: 99; }
  .mainvisual_cont .mainvisual_cont_in {
    margin-left: auto;
    margin-right: auto;
    max-width: 1220px;
    align-items: center;
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    text-align: center; }
    @media (min-width: 768px), print {
      .mainvisual_cont .mainvisual_cont_in {
        padding-left: 50px;
        padding-right: 50px; } }
    @media (max-width: 1023px) {
      .mainvisual_cont .mainvisual_cont_in {
        padding-left: 30px;
        padding-right: 30px; } }
    @media (max-width: 767px) {
      .mainvisual_cont .mainvisual_cont_in {
        padding-left: 15px;
        padding-right: 15px; } }
  .mainvisual_cont .mainvisual_cont_txt {
    color: #fff !important;
    font-family: "Zen Old Mincho", serif;
    font-size: 5rem;
    font-weight: 700;
    line-height: 1.8;
    margin-bottom: 50px;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    text-align: center; }
    @media (max-width: 767px) {
      .mainvisual_cont .mainvisual_cont_txt {
        font-size: 2.6rem; } }
  .mainvisual_cont .mainvisual_cont_txt_sub {
    color: #fff !important;
    font-family: "Zen Old Mincho", serif;
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.8;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    text-align: center; }
    @media (max-width: 1023px) {
      .mainvisual_cont .mainvisual_cont_txt_sub {
        font-size: 1.6rem; } }

.mainvisual_rklogo {
  margin-bottom: 40px; }
  @media (max-width: 767px) {
    .mainvisual_rklogo {
      margin-bottom: 20px; } }

.mainvisual_contdownimg {
  margin-bottom: 35px; }
  @media (max-width: 767px) {
    .mainvisual_contdownimg {
      margin: 0 auto 20px;
      max-width: 320px;
      text-align: center;
      width: 80%; } }

.mainvisualcountdown {
  border-bottom: 1px solid #fff;
  border-top: 1px solid #fff;
  margin: 0 auto;
  max-width: 415px;
  width: 100%; }

.countdown_lst {
  display: flex;
  font-family: "Lato", sans-serif;
  font-size: 6rem;
  font-weight: 600;
  padding: 20px 0; }
  .countdown_lst li {
    display: flex;
    align-items: flex-start;
    line-height: 1;
    margin-left: 15px; }
    .countdown_lst li:first-child {
      margin-left: 0; }
    .countdown_lst li span.txt {
      font-size: 1.6rem;
      font-weight: 900;
      padding-top: 6px; }
    .countdown_lst li span#seconds {
      font-size: 3rem;
      align-self: flex-end; }
    .countdown_lst li span#hours {
      margin-right: 10px; }
    .countdown_lst li span#minutes {
      margin-left: 10px;
      margin-right: 5px; }
  @media (max-width: 767px) {
    .countdown_lst {
      font-size: 4rem;
      padding: 15px 0;
      justify-content: center; }
      .countdown_lst li {
        margin-left: 10px; }
        .countdown_lst li span.txt {
          font-size: 1.5rem; }
        .countdown_lst li span#seconds {
          font-size: 2rem; }
        .countdown_lst li span#hours {
          margin-right: 5px; }
        .countdown_lst li span#minutes {
          margin-left: 5px; } }

.hm_notice {
  background: #284684;
  margin-left: calc((100% - 1120px)/2);
  width: 100vw; }
  @media (max-width: 1240px) {
    .hm_notice {
      margin-left: 50px; } }
  @media (max-width: 1023px) {
    .hm_notice {
      margin-left: 0; } }

.hm_notice_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  margin-left: 0;
  padding-bottom: 25px;
  padding-top: 25px; }
  @media (min-width: 768px), print {
    .hm_notice_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .hm_notice_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .hm_notice_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .hm_notice_wrap {
      padding-bottom: 15px;
      padding-top: 15px; } }

.hm_notice_post {
  text-align: center; }
  .hm_notice_post a {
    color: #fff;
    font-size: 1.8rem; }
    .hm_notice_post a:hover {
      color: #c1ad5f; }
    .hm_notice_post a::after {
      content: "→";
      display: inline-block;
      margin-left: 15px; }
  @media (max-width: 767px) {
    .hm_notice_post a {
      font-size: 1.6rem; }
      .hm_notice_post a::after {
        margin-left: 10px; } }

.hm_news {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-bottom: 110px;
  padding-top: 70px; }
  @media (min-width: 768px), print {
    .hm_news {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .hm_news {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .hm_news {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 1023px) {
    .hm_news {
      display: block;
      padding-bottom: 70px;
      padding-top: 40px; } }
  .hm_news .hm_news_in {
    align-items: center !important;
    justify-content: space-between;
    margin: 0 !important;
    width: 100%; }
    @media (max-width: 1023px) {
      .hm_news .hm_news_in {
        display: block; } }
    .hm_news .hm_news_in .smb-recent-posts {
      width: 100%; }

.hm_news_left {
  border-right: 1px solid #d4d4d7;
  flex-basis: auto !important;
  margin: 0;
  padding-right: 10px;
  width: 24%; }
  @media (min-width: 767px) and (max-width: 1023px) {
    .hm_news_left {
      align-items: center;
      border: none;
      display: flex;
      justify-content: space-between;
      padding-right: 0;
      width: 100%; }
      .hm_news_left .cmn_ttl {
        margin-left: 0; } }
  @media (max-width: 767px) {
    .hm_news_left {
      border: none;
      padding-right: 0;
      text-align: center;
      width: 100% !important; } }

.hm_news_lst_wrap {
  flex-basis: auto !important;
  width: 72% !important; }
  @media (max-width: 1023px) {
    .hm_news_lst_wrap {
      width: 100% !important; } }

.hm_news_lst {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  flex-basis: auto !important;
  margin: 0;
  width: 100%; }
  .hm_news_lst dt {
    align-items: center;
    display: flex;
    font-weight: 400;
    justify-content: space-between;
    margin: 6px 0;
    width: 200px; }
    .hm_news_lst dt .cat {
      background: #a0aeb7;
      border-radius: 50px;
      color: #fff;
      font-size: 1.4rem;
      font-weight: 600;
      padding: 2px;
      text-align: center;
      width: 110px; }
  .hm_news_lst dd {
    margin: 6px 0;
    padding-left: 20px;
    width: calc(100% - 200px); }
    .hm_news_lst dd a {
      color: #000; }
      .hm_news_lst dd a:hover {
        color: #c1ad5f; }
  @media (max-width: 1023px) {
    .hm_news_lst {
      display: block;
      width: 100% !important; }
      .hm_news_lst dt {
        border-top: 1px solid #d4d4d7;
        padding-top: 15px;
        width: 100%; }
        .hm_news_lst dt:first-child {
          border-top: none;
          padding-top: 0; }
      .hm_news_lst dd {
        padding-bottom: 15px;
        padding-left: 0;
        width: 100%; } }

.hm_news_lst .snow-monkey-recent-posts {
  width: 100%; }
  .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 {
    border-top: none; }
    @media (min-width: 768px), print {
      .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 .c-entries__item {
        border-bottom: none; } }
    @media (max-width: 1023px) {
      .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 .c-entries__item:last-child {
        border-bottom: none; } }
    .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 .c-entries__item a {
      padding: 7px 0; }
      @media (max-width: 1023px) {
        .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 .c-entries__item a {
          padding: 15px 0; } }
    .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 .c-entries__item .c-entry-summary__body {
      align-items: flex-start;
      display: flex;
      justify-content: space-between; }
      @media (max-width: 1023px) {
        .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 .c-entries__item .c-entry-summary__body {
          flex-wrap: wrap; } }
      .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 .c-entries__item .c-entry-summary__body .c-entry-summary__header {
        order: 2;
        width: calc(100% - 230px); }
        @media (max-width: 1023px) {
          .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 .c-entries__item .c-entry-summary__body .c-entry-summary__header {
            width: 100%; } }
      .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 .c-entries__item .c-entry-summary__body .c-entry-summary__meta {
        order: 1;
        justify-content: space-between;
        margin-top: 0;
        width: 210px; }
        .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 .c-entries__item .c-entry-summary__body .c-entry-summary__meta .c-meta {
          justify-content: space-between;
          width: 100%; }
        @media (max-width: 1023px) {
          .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 .c-entries__item .c-entry-summary__body .c-entry-summary__meta {
            padding-bottom: 6px;
            width: 100%; }
            .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 .c-entries__item .c-entry-summary__body .c-entry-summary__meta .c-meta {
              width: 100%; } }
        .hm_news_lst .snow-monkey-recent-posts .c-entries--text2 .c-entries__item .c-entry-summary__body .c-entry-summary__meta .c-entry-summary__term {
          background: #a0aeb7;
          border-radius: 50px;
          color: #fff;
          font-size: 1.4rem !important;
          font-weight: 600;
          padding: 6px;
          text-align: center;
          width: 90px; }

.hm_news_btn {
  max-width: 222px; }
  @media (min-width: 767px) and (max-width: 1023px) {
    .hm_news_btn {
      width: 300px; } }
  @media (max-width: 767px) {
    .hm_news_btn {
      margin: 0 auto !important; } }

.hm_mission {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  align-items: center !important;
  display: flex;
  justify-content: space-between;
  padding-bottom: 70px; }
  @media (min-width: 768px), print {
    .hm_mission {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .hm_mission {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .hm_mission {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 1023px) {
    .hm_mission {
      display: block; } }

.hm_mission_img {
  margin: -2.5% 0 0 -2.5% !important;
  flex-grow: 0 !important;
  flex-basis: auto !important;
  width: 48.5%; }
  @media (max-width: 767px) {
    .hm_mission_img {
      width: 100%; } }

.hm_mission_cont {
  flex-grow: 0 !important;
  flex-basis: auto !important;
  width: 47.4%; }
  @media (max-width: 767px) {
    .hm_mission_cont {
      width: 100%; } }
  .hm_mission_cont .hm_mission_txt {
    margin-bottom: 40px; }
    @media (max-width: 767px) {
      .hm_mission_cont .hm_mission_txt {
        margin-bottom: 20px; } }
  .hm_mission_cont .hm_mission_btn {
    max-width: 300px;
    width: 100% !important; }
    .hm_mission_cont .hm_mission_btn .wp-block-snow-monkey-blocks-btn {
      width: 100% !important; }
    @media (max-width: 767px) {
      .hm_mission_cont .hm_mission_btn {
        margin: 0 auto !important; } }

.hm_about {
  background: url("override/src/images/home/bg-about.jpg") center/cover no-repeat;
  position: relative; }
  .hm_about::before {
    background: #284684;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    opacity: .4;
    top: 0;
    width: 100%; }
  @media (min-width: 1030px) {
    .hm_about {
      background-attachment: fixed; } }

.hm_about_cont {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  color: #fff;
  padding-bottom: 115px;
  padding-top: 80px;
  position: relative;
  text-align: center;
  z-index: 1; }
  @media (min-width: 768px), print {
    .hm_about_cont {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .hm_about_cont {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .hm_about_cont {
      padding-left: 15px;
      padding-right: 15px; } }
  .hm_about_cont .cmn_ttl_en {
    color: #fff; }
  @media (max-width: 767px) {
    .hm_about_cont {
      padding-bottom: 70px;
      padding-top: 50px; } }

.cmn_intro_txt {
  max-width: 800px;
  margin: 0 auto 40px;
  text-align: center; }
  @media (max-width: 767px) {
    .cmn_intro_txt {
      margin-bottom: 20px; }
      .cmn_intro_txt br {
        display: none; } }

.hm_mission_numlst {
  display: flex;
  justify-content: space-around;
  margin: 0 auto 50px;
  max-width: 760px; }
  .hm_mission_numlst li {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
  @media (max-width: 767px) {
    .hm_mission_numlst {
      display: block;
      margin-bottom: 30px; }
      .hm_mission_numlst li {
        margin-top: 20px; }
        .hm_mission_numlst li:first-child {
          margin-top: 0; } }

.hm_mission_numlst_num {
  font-family: "Zen Old Mincho", serif;
  font-size: 7rem; }
  @media (max-width: 767px) {
    .hm_mission_numlst_num {
      font-size: 5rem; } }

.hm_mission_numlst_unit {
  font-family: "Zen Old Mincho", serif;
  font-size: 3rem; }
  @media (max-width: 767px) {
    .hm_mission_numlst_unit {
      font-size: 2.4rem; } }

.hm_mission_numlst_txt {
  width: 100%; }

.hm_about_btn {
  margin: 0 auto;
  max-width: 300px; }

.hm_about_block {
  display: flex; }
  @media (max-width: 1023px) {
    .hm_about_block {
      display: block; } }

.hm_about_block_right {
  order: 2;
  width: 50%; }
  @media (max-width: 1023px) {
    .hm_about_block_right {
      max-height: 550px;
      width: 100%; } }
  @media (max-width: 767px) {
    .hm_about_block_right {
      max-height: 250px; } }

.hm_about_block_left {
  order: 1;
  width: 50%; }
  .hm_about_block_left li {
    display: flex;
    height: 50%; }
    .hm_about_block_left li:nth-child(odd) .hm_about_block_left_cont {
      background: #424d63; }
    .hm_about_block_left li:nth-child(even) {
      flex-direction: row-reverse; }
      .hm_about_block_left li:nth-child(even) .hm_about_block_left_cont {
        background: #284684; }
  @media (max-width: 1023px) {
    .hm_about_block_left {
      width: 100%; } }

.hm_about_block_left_img {
  width: 50%; }

.hm_about_block_left_cont {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%; }

.hm_about_block_left_cont {
  color: #fff;
  padding: 7%; }
  @media (max-width: 1023px) {
    .hm_about_block_left_cont {
      padding: 20px; } }

.hm_about_block_left_ttl {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.4rem;
  margin-bottom: 20px; }
  @media (max-width: 767px) {
    .hm_about_block_left_ttl {
      font-size: 1.8rem;
      font-weight: 700;
      margin-bottom: 10px; }
      .hm_about_block_left_ttl br {
        display: none; } }

.hm_about_block_left_txt {
  margin-bottom: 20px; }
  @media (max-width: 767px) {
    .hm_about_block_left_txt {
      margin-bottom: 10px; } }

.cmn_url a {
  color: #c1ad5f;
  text-decoration: underline; }
  .cmn_url a:hover {
    text-decoration: none; }

.hm_recruit {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  align-items: flex-start;
  display: flex;
  padding-bottom: 100px;
  padding-top: 90px; }
  @media (min-width: 768px), print {
    .hm_recruit {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .hm_recruit {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .hm_recruit {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .hm_recruit {
      display: block;
      padding-bottom: 70px;
      padding-top: 50px; } }

.hm_recruit_cont {
  background: #f2f4f5;
  flex-grow: 0 !important;
  flex-basis: auto !important;
  margin-left: -26.3% !important;
  padding: 5% 5% 7%;
  position: relative;
  width: 51% !important;
  z-index: 2; }
  @media (max-width: 767px) {
    .hm_recruit_cont {
      margin: -25px 0 0 !important;
      padding: 25px 15px;
      width: calc(100% - 15px) !important; } }
  .hm_recruit_cont .hm_recruit_txt {
    margin-bottom: 40px; }
    @media (max-width: 767px) {
      .hm_recruit_cont .hm_recruit_txt {
        margin-bottom: 20px; } }
  .hm_recruit_cont .hm_recruit_btn {
    width: 100%;
    max-width: 300px; }
    .hm_recruit_cont .hm_recruit_btn .wp-block-snow-monkey-blocks-btn {
      width: 100% !important; }
    @media (max-width: 767px) {
      .hm_recruit_cont .hm_recruit_btn {
        margin: 0 auto;
        max-width: none; } }

.hm_recruit_img {
  box-shadow: 0 3px 30px rgba(0, 0, 0, 0.1);
  flex-grow: 0 !important;
  flex-basis: auto !important;
  margin-top: 5% !important;
  width: 76.3% !important; }
  @media (max-width: 767px) {
    .hm_recruit_img {
      margin-top: 0;
      margin-left: 15px !important;
      margin-right: -15px !important;
      width: 100% !important; } }

.hm_sdgs {
  padding-top: 0; }
  @media (min-width: 768px), print {
    .hm_sdgs {
      flex-direction: row-reverse; }
      .hm_sdgs .hm_recruit_cont {
        margin-left: 0 !important;
        margin-right: -28.3% !important; } }
  @media (max-width: 767px) {
    .hm_sdgs .hm_recruit_cont {
      margin-left: 15px !important; } }

.hm_sdgs_img {
  flex-grow: 0 !important;
  flex-basis: auto !important;
  text-align: right;
  width: 77.8% !important; }
  .hm_sdgs_img .hm_sdgs_img_in {
    display: inline-block;
    margin-bottom: 50px;
    margin-right: 29px;
    width: 56.5%; }
  .hm_sdgs_img .hm_recruit_img {
    margin-top: 0 !important;
    width: 100% !important; }
    @media (max-width: 767px) {
      .hm_sdgs_img .hm_recruit_img {
        margin-left: -15px !important;
        margin-right: 15px !important; } }
  @media (max-width: 767px) {
    .hm_sdgs_img {
      width: 100% !important; }
      .hm_sdgs_img .hm_sdgs_img_in {
        margin-bottom: 20px;
        margin-right: 0;
        padding-right: 15px;
        text-align: center;
        width: 100%; } }

.hm_service {
  margin-left: calc((100% - 1120px)/2);
  padding-top: 80px;
  max-width: 100%;
 /*
@include tablet {
  margin-left: 30px;
}*/ }
  @media (max-width: 1240px) {
    .hm_service {
      margin-left: 50px; } }
  @media (max-width: 1023px) {
    .hm_service {
      padding-top: 50px;
      margin-left: 0; } }

.hm_service_wrap {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 1023px) {
    .hm_service_wrap {
      display: block !important;
      margin-left: auto; } }

.hm_service_left {
  flex-basis: auto !important;
  width: 270px !important; }
  @media (min-width: 767px) and (max-width: 1023px) {
    .hm_service_left {
      align-items: center;
      display: flex;
      justify-content: space-between;
      width: 100% !important; } }
  @media (max-width: 767px) {
    .hm_service_left {
      margin-left: auto;
      margin-right: auto;
      max-width: 1220px;
      text-align: center;
      width: 100% !important; } }
  @media (max-width: 767px) and (min-width: 768px), print and (max-width: 767px) {
    .hm_service_left {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 767px) and (max-width: 1023px) {
    .hm_service_left {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) and (max-width: 767px) {
    .hm_service_left {
      padding-left: 15px;
      padding-right: 15px; } }

.hm_service_right {
  flex-basis: auto !important;
  padding: 40px 0 0 76px;
  position: relative;
  width: calc(100% - 320px) !important; }
  .hm_service_right::before {
    background: url("override/src/images/home/bg-service.jpg") center/cover no-repeat;
    content: "";
    height: 220px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  .hm_service_right::after {
    background: linear-gradient(to right, #7292D4 0%, #06338F 100%);
    content: "";
    height: 220px;
    left: 0;
    position: absolute;
    opacity: .8;
    top: 0;
    width: 100%; }
  @media (max-width: 1023px) {
    .hm_service_right {
      padding: 40px 15px 0;
      margin-top: 30px !important;
      width: 100% !important; } }

.hm_service_lst {
  position: relative;
  margin-right: -76px;
  z-index: 3; }
  .hm_service_lst .slick-list {
    padding-bottom: 20px; }
  .hm_service_lst .slick-track {
    display: flex; }
  @media (max-width: 1023px) {
    .hm_service_lst {
      margin-right: 0;
      overflow: visible !important; }
      .hm_service_lst .slick-list {
        overflow: visible !important; } }

.hm_service_box {
  background: #fff;
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.1);
  height: auto !important;
  margin-right: 30px;
  padding: 40px 40px 100px;
  position: relative;
  text-align: center;
  width: 300px; }
  @media (max-width: 1023px) {
    .hm_service_box {
      margin-right: 15px;
      padding: 20px 20px 70px; } }

.hm_service_box_ico {
  margin-bottom: 30px;
  text-align: center; }
  .hm_service_box_ico img {
    display: inline-block !important; }
  @media (max-width: 1023px) {
    .hm_service_box_ico {
      margin-bottom: 20px; } }

.hm_service_box_logo {
  margin-bottom: 30px;
  text-align: center; }
  .hm_service_box_logo img {
    display: inline-block !important; }
  @media (max-width: 1023px) {
    .hm_service_box_logo {
      margin-bottom: 20px; } }

.hm_service_box_txt {
  margin-bottom: 20px; }
  @media (max-width: 1023px) {
    .hm_service_box_txt {
      margin-bottom: 10px; } }

.hm_service_box_btn {
  bottom: 40px;
  left: 40px;
  position: absolute;
  width: calc(100% - 80px); }
  @media (max-width: 1023px) {
    .hm_service_box_btn {
      bottom: 20px;
      left: 20px;
      position: absolute;
      width: calc(100% - 40px); } }
  .hm_service_box_btn.extend a::after {
    content: url("override/src/images/common/ico-arrow-extend.svg");
    display: inline-block;
    margin-left: 5px; }
  .hm_service_box_btn.extend:hover a::after {
    content: url("override/src/images/common/ico-arrow-extend-white.svg"); }

.hm_service_arrowlst {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
  width: 140px; }
  .hm_service_arrowlst li {
    border: 1px solid #c1ad5f !important;
    border-radius: 100%;
    cursor: pointer;
    height: 55px;
    margin-top: 0 !important;
    transition: 0.3s all ease-in-out;
    width: 55px; }
    .hm_service_arrowlst li.hm_service_arrow_prev {
      background: url("override/src/images/common/ico-arrow-left.svg") center no-repeat; }
      .hm_service_arrowlst li.hm_service_arrow_prev:hover {
        background: url("override/src/images/common/ico-arrow-left-white.svg") center #c1ad5f no-repeat; }
    .hm_service_arrowlst li.hm_service_arrow_next {
      background: url("override/src/images/common/ico-arrow-right.svg") center no-repeat; }
      .hm_service_arrowlst li.hm_service_arrow_next:hover {
        background: url("override/src/images/common/ico-arrow-right-white.svg") center #c1ad5f no-repeat; }
  @media (max-width: 1023px) {
    .hm_service_arrowlst {
      margin: 20px auto; }
      .hm_service_arrowlst li {
        height: 50px;
        width: 50px; } }

.hm_business_lst {
  counter-reset: section;
  position: relative;
  z-index: 1; }
  .hm_business_lst .slick-list {
    padding-bottom: 20px !important; }
    .hm_business_lst .slick-list .slick-track {
      display: flex !important; }
  .hm_business_lst .business_box {
    background: #fff;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.15);
    height: inherit !important;
    margin-top: 0;
    margin-right: 30px; }
    .hm_business_lst .business_box a {
      color: #000;
      position: relative; }
    .hm_business_lst .business_box .business_box_img {
      box-shadow: none;
      height: 200px !important;
      overflow: hidden;
      width: 100%; }
      .hm_business_lst .business_box .business_box_img img {
        transition: 0.3s all ease-in-out; }
    .hm_business_lst .business_box .business_box_img a:hover img {
      transform: scale(1.1, 1.1); }
    .hm_business_lst .business_box .business_box_ttl a {
      transition: 0.3s all ease-in-out; }
      .hm_business_lst .business_box .business_box_ttl a:hover {
        color: #284684; }
      .hm_business_lst .business_box .business_box_ttl a span {
        margin-bottom: 0 !important; }
    @media (max-width: 1023px) {
      .hm_business_lst .business_box {
        margin: 0 10px; }
        .hm_business_lst .business_box .business_box_img {
          height: 160px !important; } }

.hm_business_cont {
  padding: 35px 10% 30px;
  text-align: center; }
  .hm_business_cont .business_box_ttl {
    font-size: 2.4rem;
    margin-bottom: 15px; }
    .hm_business_cont .business_box_ttl::before {
      font-size: 1.6rem;
      margin-bottom: 0; }
  .hm_business_cont .hm_service_box_txt {
    margin-bottom: 0 !important;
    text-align: left; }
    .hm_business_cont .hm_service_box_txt a {
      color: #c1ad5f;
      text-decoration: underline;
      transition: 0.3s all ease-in-out;
      margin-top: 10px; }
      .hm_business_cont .hm_service_box_txt a:hover {
        text-decoration: none; }
  @media (max-width: 767px) {
    .hm_business_cont {
      padding: 0 15px 25px; }
      .hm_business_cont .business_box_ttl {
        font-size: 2rem; }
        .hm_business_cont .business_box_ttl::before {
          font-size: 1.5rem; } }

.block-editor-block-list__layout.mainvisual_cont {
  position: static !important; }
  .block-editor-block-list__layout.mainvisual_cont .mainvisual_cont_txt {
    color: #000 !important; }

.company_wrap {
  padding-bottom: 110px;
  padding-top: 110px;
  background: #f2f4f5; }
  @media (max-width: 767px) {
    .company_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }

.company_box {
  margin-top: 80px;
  position: relative; }
  .company_box:first-child {
    margin-top: 0; }
  @media (min-width: 768px), print {
    .company_box {
      height: 540px; }
      .company_box:nth-child(even) .company_box_img {
        right: 0; }
      .company_box:nth-child(even) .company_box_in {
        justify-content: flex-start; } }
  @media (max-width: 767px) {
    .company_box {
      margin-top: 50px; }
      .company_box:nth-child(even) .company_box_img {
        margin-left: 30px; } }

.company_box_img {
  position: absolute;
  height: 100%;
  width: 71.5%; }
  @media (max-width: 767px) {
    .company_box_img {
      height: 350px;
      position: relative;
      width: calc(100% - 30px); } }

.company_box_in {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: flex-end;
  position: relative;
  z-index: 2; }
  @media (min-width: 768px), print {
    .company_box_in {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .company_box_in {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .company_box_in {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .company_box_in {
      display: block;
      height: auto;
      margin-top: -30px; } }

.company_box_cont {
  background: #fff;
  box-shadow: 3px 0 20px rgba(0, 0, 0, 0.1);
  padding: 60px 80px; }
  .company_box_cont .cmn_ttl {
    margin-bottom: 30px; }
  @media (min-width: 768px), print {
    .company_box_cont {
      min-width: 520px; } }
  @media (max-width: 767px) {
    .company_box_cont {
      padding: 30px; }
      .company_box_cont .cmn_ttl {
        margin-bottom: 20px; } }

.company_box_txt {
  margin-bottom: 40px; }
  @media (max-width: 767px) {
    .company_box_txt {
      margin-bottom: 25px; } }

.company_box_btn {
  max-width: 300px; }

.subpage_nav {
  background: #f1f3f6;
  padding-bottom: 80px;
  padding-top: 70px; }
  @media (max-width: 767px) {
    .subpage_nav {
      padding-bottom: 50px;
      padding-top: 45px; } }

.subpage_nav_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px; }
  @media (min-width: 768px), print {
    .subpage_nav_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .subpage_nav_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .subpage_nav_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  .subpage_nav_wrap .cmn_ttl {
    margin-bottom: 45px;
    text-align: center; }
  @media (max-width: 767px) {
    .subpage_nav_wrap .cmn_ttl {
      margin-bottom: 25px; } }

.subpage_lst {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .subpage_lst li {
    height: 120px;
    margin-left: 20px;
    margin-top: 30px;
    max-width: 530px;
    width: calc(50% - 10px); }
    .subpage_lst li a {
      align-items: center;
      background: #fff;
      box-shadow: 3px 0 20px rgba(0, 0, 0, 0.1);
      display: flex;
      height: 100%;
      position: relative;
      transition: 0.3s all ease-in-out;
      width: 100%; }
      .subpage_lst li a::before {
        background: url("override/src/images/common/ico-arrow-long-right-cmn.png") center/contain no-repeat;
        content: "";
        height: 14px;
        position: absolute;
        right: 20px;
        top: calc(50% - 7px);
        transition: 0.3s all ease-in-out;
        width: 16px; }
      .subpage_lst li a:hover {
        box-shadow: none; }
        .subpage_lst li a:hover::before {
          right: 10px; }
  @media (min-width: 768px), print {
    .subpage_lst li:nth-child(2n + 1) {
      margin-left: 0; }
    .subpage_lst li:nth-child(-n + 2) {
      margin-top: 0; } }
  @media (max-width: 1023px) {
    .subpage_lst li a::before {
      right: 10px; } }
  @media (max-width: 767px) {
    .subpage_lst li {
      height: 90px;
      margin-left: 0;
      margin-top: 15px;
      max-width: 100%;
      width: 100%; }
      .subpage_lst li:first-child {
        margin-top: 0; } }

.subpage_img {
  height: 100%;
  width: 180px; }
  @media (max-width: 767px) {
    .subpage_img {
      min-width: 110px;
      width: 110px; } }

.subpage_ttl {
  line-height: 1.3;
  margin: 0 !important;
  padding: 10px 30px 10px 25px;
  text-align: left !important; }
  .subpage_ttl .cmn_ttl_en {
    font-size: 1.6rem; }
  .subpage_ttl .cmn_ttl_jp {
    color: #000;
    font-size: 2.4rem; }
  @media (max-width: 1023px) {
    .subpage_ttl {
      padding: 5px 20px 5px 15px; }
      .subpage_ttl .cmn_ttl_en {
        font-size: 1.4rem; }
      .subpage_ttl .cmn_ttl_jp {
        color: #000;
        font-size: 1.7rem; } }

/*MESSAGE*/
.message_wrap {
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (max-width: 767px) {
    .message_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }

.mes_top_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 50px;
  padding-top: 110px; }
  @media (min-width: 768px), print {
    .mes_top_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .mes_top_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .mes_top_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  .mes_top_wrap .policy_nav {
    justify-content: flex-start; }
    .mes_top_wrap .policy_nav li {
      margin-left: 3.5%; }
      .mes_top_wrap .policy_nav li:first-child {
        margin-left: 0; }
  @media (max-width: 767px) {
    .mes_top_wrap {
      padding-top: 70px; }
      .mes_top_wrap .policy_nav li {
        margin-left: 0; } }

.mes_top_img {
  padding-bottom: 15px !important; }

.mes_profile {
  padding-bottom: 110px;
  padding-top: 110px;
  background: #f2f4f5; }
  @media (max-width: 767px) {
    .mes_profile {
      padding-bottom: 70px;
      padding-top: 70px; } }

.mes_profile_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px; }
  @media (min-width: 768px), print {
    .mes_profile_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .mes_profile_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .mes_profile_wrap {
      padding-left: 15px;
      padding-right: 15px; } }

.mes_profile_txt {
  line-height: 2.2;
  max-width: 1000px;
  margin: 0 auto; }

.cmn_square_lst li {
  margin-top: 12px;
  padding-left: 20px;
  position: relative; }
  .cmn_square_lst li .smb-list__icon {
    display: none; }
  .cmn_square_lst li:first-child {
    margin-top: 0; }
  .cmn_square_lst li::before {
    background: #284684;
    content: "";
    height: 8px;
    left: 0;
    position: absolute;
    top: 9px;
    width: 8px; }
@media (max-width: 767px) {
  .cmn_square_lst li {
    margin-top: 8px;
    padding-left: 15px; } }

.mes_point_ttl {
  color: #c1ad5f !important;
  font-family: "Zen Old Mincho", serif;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 15px;
  position: relative; }
  .mes_point_ttl strong {
    display: block;
    font-size: 7rem;
    line-height: 1.4; }
  .mes_point_ttl::after {
    background: #000;
    content: "";
    display: block;
    height: 4px;
    margin-top: 20px;
    width: 125px; }
  .mes_point_ttl::before {
    background: #c1ad5f;
    bottom: 0;
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    width: 25px; }
  @media (max-width: 767px) {
    .mes_point_ttl {
      font-size: 1.8rem;
      margin-bottom: 10px; }
      .mes_point_ttl strong {
        font-size: 5rem; }
      .mes_point_ttl::after {
        height: 3px;
        margin-top: 15px;
        width: 100px; }
      .mes_point_ttl::before {
        height: 3px; } }

.mes_point_subttl {
  font-family: "Zen Old Mincho", serif;
  font-size: 3.6rem;
  font-weight: 700;
  margin-bottom: 38px !important; }
  @media (max-width: 767px) {
    .mes_point_subttl {
      font-size: 2.6rem;
      margin-bottom: 25px !important; } }

.mes_point01_ft {
  display: flex;
  justify-content: space-between;
  margin-bottom: 105px !important;
  gap: 0 !important; }
  .mes_point01_ft .mes_point_subttl {
    margin-bottom: 0 !important; }
  @media (max-width: 767px) {
    .mes_point01_ft {
      margin-bottom: 40px !important;
      flex-wrap: wrap; } }

.mes_point01_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 100px; }
  @media (min-width: 768px), print {
    .mes_point01_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .mes_point01_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .mes_point01_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .mes_point01_wrap {
      padding-bottom: 60px; } }

.mes_point01_wrap_in {
  max-width: 1000px;
  margin: 0 auto; }

.mes_point01_ttl {
  font-family: "Zen Old Mincho", serif;
  font-size: 3.6rem;
  font-weight: 700;
  margin-bottom: 45px; }
  @media (max-width: 767px) {
    .mes_point01_ttl {
      font-size: 2.8rem;
      margin-bottom: 30px; } }

.mes_point01_cont {
  margin-bottom: 60px; }
  @media (max-width: 767px) {
    .mes_point01_cont {
      margin-bottom: 30px; } }

.mes_point01_sign {
  font-family: "Zen Old Mincho", serif;
  font-size: 2rem;
  font-weight: 700;
  text-align: right; }
  .mes_point01_sign .mes_point01_sign_in {
    display: inline-block;
    max-width: 350px;
    text-align: left; }
  @media (max-width: 767px) {
    .mes_point01_sign {
      font-size: 1.7rem; }
      .mes_point01_sign .mes_point01_sign_in {
        max-width: 300px; } }

.mes_point02 {
  background: url("override/src/images/message/bg-point02.jpg") center/cover no-repeat;
  position: relative; }
  .mes_point02::before {
    background: #284684;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    opacity: .8;
    top: 0;
    width: 100%; }
  @media (min-width: 1030px) {
    .mes_point02 {
      background-attachment: fixed; } }

.mes_point02_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  max-width: 910px;
  position: relative;
  text-align: center;
  z-index: 1; }
  @media (min-width: 768px), print {
    .mes_point02_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .mes_point02_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .mes_point02_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  .mes_point02_wrap figure {
    width: 168px; }
    @media (min-width: 768px), print {
      .mes_point02_wrap figure {
        margin-bottom: 30px; } }
  .mes_point02_wrap .mes_point_ttl::after {
    background: #fff;
    margin-left: auto;
    margin-right: auto; }
  .mes_point02_wrap .mes_point_ttl::before {
    left: calc(50% - 63px); }
  .mes_point02_wrap .mes_point_subttl {
    color: #c1ad5f; }

.mes_point02_txt {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2; }
  .mes_point02_txt strong {
    color: #c1ad5f; }
  @media (max-width: 1023px) {
    .mes_point02_txt strong {
      display: block; } }
  @media (max-width: 767px) {
    .mes_point02_txt {
      font-size: 1.7rem; } }

.mes_point03 {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 150px;
  padding-top: 110px; }
  @media (min-width: 768px), print {
    .mes_point03 {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .mes_point03 {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .mes_point03 {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 1023px) {
    .mes_point03 {
      padding-bottom: 0; } }
  .mes_point03 .sdgs_ttl {
    margin-bottom: 95px; }
  @media (max-width: 767px) {
    .mes_point03 {
      padding-top: 70px; }
      .mes_point03 .sdgs_ttl {
        margin-bottom: 50px; } }

.mes_point03_box {
  align-items: flex-start !important;
  display: flex;
  justify-content: space-between;
  margin-top: 110px !important; }
  .mes_point03_box:first-child {
    margin-top: 0 !important; }
  .mes_point03_box:nth-child(even) {
    flex-direction: row-reverse; }
    .mes_point03_box:nth-child(even) .mes_point03_box_img::before {
      left: 11.3%;
      right: auto; }
  @media (max-width: 767px) {
    .mes_point03_box {
      display: block !important;
      margin-top: 70px; } }

.mes_point03_box_img {
  box-shadow: 3px 0 20px rgba(0, 0, 0, 0.1);
  flex-basis: auto !important;
  position: relative;
  width: 44.64% !important; }
  .mes_point03_box_img img {
    position: relative;
    z-index: 1; }
  .mes_point03_box_img::before {
    background: #f2f4f5;
    content: "";
    display: block;
    height: 90%;
    position: absolute;
    right: 11.3%;
    top: 50%;
    width: 50vw; }
  @media (max-width: 767px) {
    .mes_point03_box_img {
      width: 100% !important; }
      .mes_point03_box_img::before {
        width: 100%; } }

.mes_point03_box_cont {
  flex-basis: auto !important;
  padding-top: 40px;
  width: 51.79% !important; }
  @media (max-width: 767px) {
    .mes_point03_box_cont {
      padding-top: 30px;
      position: relative;
      width: 100% !important;
      z-index: 2; } }

.seemore_url {
  border-bottom: 1px solid #c1ad5f;
  color: #c1ad5f;
  cursor: pointer;
  display: inline-block;
  font-weight: 700;
  margin-top: 35px;
  padding-bottom: 3px; }
  @media (max-width: 767px) {
    .seemore_url {
      margin-top: 20px; } }

.mes_thoughts_wrap {
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (max-width: 767px) {
    .mes_thoughts_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
  .mes_thoughts_wrap .sdgs_ttl {
    text-align: center; }
    .mes_thoughts_wrap .sdgs_ttl::before {
      margin-left: auto;
      margin-right: auto; }

.mes_thoughts_ttlbox {
  color: #fff;
  height: 300px;
  padding: 15px;
  text-align: center; }
  .mes_thoughts_ttlbox .cmn_ttl {
    color: #fff;
    margin-bottom: 0 !important; }
  @media (max-width: 767px) {
    .mes_thoughts_ttlbox {
      height: 200px; }
      .mes_thoughts_ttlbox img {
        transform: translateY(-50%); } }

/*VISION*/
.phivi_intro {
  align-items: stretch !important;
  background: #f9f9f9;
  display: flex;
  height: 500px;
  margin-bottom: 100px !important; }
  @media (max-width: 767px) {
    .phivi_intro {
      height: auto;
      margin-bottom: 70px !important; } }

.phivi_intro_img01, .phivi_intro_img02 {
  width: 24.28%; }
  .phivi_intro_img01 figure, .phivi_intro_img02 figure {
    height: 100%; }
  @media (max-width: 767px) {
    .phivi_intro_img01, .phivi_intro_img02 {
      height: 50vw;
      max-height: 200px;
      width: 50%; } }

@media (max-width: 767px) {
  .phivi_intro_img01 {
    order: 2; } }

@media (max-width: 767px) {
  .phivi_intro_img02 {
    order: 3; } }

.phivi_intro_cont {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 15px;
  text-align: center;
  width: 51.44%; }
  @media (max-width: 767px) {
    .phivi_intro_cont {
      order: 1;
      padding: 30px 15px;
      width: 100%; } }

.phivi_intro_ttl {
  font-family: "Zen Old Mincho", serif;
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 30px;
  position: relative; }
  .phivi_intro_ttl strong {
    display: block;
    font-size: 4rem; }
  .phivi_intro_ttl::after {
    background: #000;
    content: "";
    display: block;
    height: 4px;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    width: 125px; }
  .phivi_intro_ttl::before {
    background: #c1ad5f;
    bottom: 0;
    content: "";
    height: 4px;
    left: calc(50% - 63px);
    position: absolute;
    width: 25px; }
  @media (max-width: 767px) {
    .phivi_intro_ttl {
      font-size: 2rem;
      margin-bottom: 25px; }
      .phivi_intro_ttl strong {
        font-size: 3rem; }
      .phivi_intro_ttl::after {
        height: 3px;
        width: 100px; }
      .phivi_intro_ttl::before {
        height: 3px;
        left: calc(50% - 50px); } }

@media (max-width: 767px) {
  .phivi_intro_txt {
    text-align: left; }
    .phivi_intro_txt br {
      display: none; } }

.phivi_phi {
  margin-bottom: 90px; }
  .phivi_phi .cmn_ttl {
    margin-left: auto;
    margin-right: auto;
    max-width: 1220px;
    text-align: center;
    margin-bottom: 40px; }
    @media (min-width: 768px), print {
      .phivi_phi .cmn_ttl {
        padding-left: 50px;
        padding-right: 50px; } }
    @media (max-width: 1023px) {
      .phivi_phi .cmn_ttl {
        padding-left: 30px;
        padding-right: 30px; } }
    @media (max-width: 767px) {
      .phivi_phi .cmn_ttl {
        padding-left: 15px;
        padding-right: 15px; } }
  @media (max-width: 767px) {
    .phivi_phi {
      margin-bottom: 70px; } }

.phivi_phi_wrap {
  display: flex; }
  .phivi_phi_wrap * {
    margin-top: 0 !important; }
  @media (max-width: 767px) {
    .phivi_phi_wrap {
      display: block; } }

.phivi_phi_box {
  color: #fff;
  padding: 60px 20px;
  text-align: center;
  width: calc(100%/3); }
  .phivi_phi_box:nth-child(1) {
    background: #008cd7; }
  .phivi_phi_box:nth-child(2) {
    background: #424d63; }
  .phivi_phi_box:nth-child(3) {
    background: #284684; }
  @media (max-width: 767px) {
    .phivi_phi_box {
      padding: 40px 15px;
      width: 100%; } }

.phivi_phi_box_ttl {
  font-family: "Zen Old Mincho", serif;
  font-size: 10rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 25px; }
  .phivi_phi_box_ttl::after {
    background: #c1ad5f;
    content: "";
    display: block;
    height: 4px;
    margin: 10px auto 0;
    width: 60px; }
  @media (max-width: 767px) {
    .phivi_phi_box_ttl {
      font-size: 6rem;
      margin-bottom: 20px; } }

.phivi_phi_box_txt {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.4rem;
  line-height: 1.7;
  margin: 0 auto;
  max-width: 320px; }
  @media (max-width: 767px) {
    .phivi_phi_box_txt {
      font-size: 2rem; } }

.phivi_vi {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  align-items: flex-start !important;
  display: flex;
  justify-content: space-between;
  padding-bottom: 90px; }
  @media (min-width: 768px), print {
    .phivi_vi {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .phivi_vi {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .phivi_vi {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .phivi_vi {
      display: block;
      padding-bottom: 70px; } }

.phivi_vi_cont {
  margin: 0 auto !important;
  max-width: 800px; }
  .phivi_vi_cont .cmn_ttl {
    margin-bottom: 50px;
    text-align: center; }
  @media (max-width: 767px) {
    .phivi_vi_cont .cmn_ttl {
      margin-bottom: 30px; } }

.phivi_vi_img {
  position: relative; }
  .phivi_vi_img figure {
    height: 100%; }
  .phivi_vi_img::before {
    background: #f9f9f9;
    bottom: -55px;
    content: "";
    height: 100%;
    position: absolute;
    left: 28.7%;
    width: 50vw; }
  .phivi_vi_img img {
    position: relative;
    z-index: 1; }
  @media (min-width: 768px), print {
    .phivi_vi_img {
      order: 2;
      width: 42%; } }
  @media (max-width: 767px) {
    .phivi_vi_img {
      height: 400px;
      margin-bottom: 25px !important;
      order: 2;
      width: 100%; }
      .phivi_vi_img::before {
        width: 100%; } }

.phivi_vi_lst li {
  font-family: "Zen Old Mincho", serif;
  font-size: 2rem;
  margin-top: 30px !important;
  padding-left: 30px;
  position: relative; }
  .phivi_vi_lst li .smb-list__icon {
    display: none; }
  .phivi_vi_lst li::before {
    background: url("override/src/images/common/ico-check-cmn.png") center/contain no-repeat;
    content: "";
    height: 21px;
    left: 0;
    position: absolute;
    top: 5px;
    width: 22px; }
  .phivi_vi_lst li:first-child {
    margin-top: 0 !important; }
@media (max-width: 767px) {
  .phivi_vi_lst li {
    font-size: 1.7rem;
    margin-top: 20px !important; }
    .phivi_vi_lst li::before {
      top: 3px; } }

/*ABOUT*/
.co_about_wrap {
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (max-width: 767px) {
    .co_about_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }

.co_profile {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  max-width: 1100px;
  padding-bottom: 110px; }
  @media (min-width: 768px), print {
    .co_profile {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .co_profile {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .co_profile {
      padding-left: 15px;
      padding-right: 15px; } }
  .co_profile .cmn_ttl {
    text-align: center; }
  @media (max-width: 767px) {
    .co_profile {
      padding-bottom: 70px; } }

.co_history .cmn_ttl {
  text-align: center; }
.co_history::before {
  background: url("override/src/images/about/img-midft.jpg") center/cover no-repeat;
  background-attachment: fixed;
  content: "";
  display: block;
  height: 300px;
  margin-bottom: 110px;
  width: 100%; }
@media (max-width: 1024px) {
  .co_history::before {
    background-attachment: local; } }
@media (max-width: 767px) {
  .co_history::before {
    height: 150px;
    margin-bottom: 70px; } }

.co_history_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  max-width: 1100px; }
  @media (min-width: 768px), print {
    .co_history_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .co_history_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .co_history_wrap {
      padding-left: 15px;
      padding-right: 15px; } }

.cmn_tbl {
  width: 100%; }
  .cmn_tbl td {
    border-width: 0 0 1px 0 !important;
    border-bottom: 1px solid #ddd  !important;
    padding: 20px !important; }
    .cmn_tbl td ol {
      list-style: decimal !important;
      padding-left: 1em; }
  .cmn_tbl th, .cmn_tbl td:first-child {
    border-bottom: 1px solid #000 !important;
    font-weight: 700;
    padding: 20px;
    text-align: left;
    vertical-align: top;
    width: 25%; }
  @media (max-width: 767px) {
    .cmn_tbl th, .cmn_tbl td:first-child {
      border-bottom: none !important;
      display: block;
      padding: 10px 0 !important;
      width: 100%; }
      .cmn_tbl th::after, .cmn_tbl td:first-child::after {
        background: #000;
        content: "";
        display: block;
        height: 1px;
        margin-top: 5px;
        width: 50px; }
    .cmn_tbl td {
      display: block;
      padding: 0 0 10px !important;
      width: 100%; } }

.co_midimg {
  height: 300px;
  overflow: hidden; }
  .co_midimg img {
    width: 100%; }
  @media (max-width: 767px) {
    .co_midimg {
      height: 150px; } }
  .co_midimg div img {
    font-family: "object-fit: cover;";
    height: 100%;
    object-fit: cover;
    width: 100%; }

.co_history_lst {
  width: 100%; }
  .co_history_lst td {
    border: none !important;
    padding: 10px 0 20px !important;
    vertical-align: top;
    width: calc(100% - 145px); }
    .co_history_lst td strong {
      display: block;
      font-size: 2rem;
      margin-top: 10px; }
      .co_history_lst td strong:first-child {
        margin-top: 0; }
  .co_history_lst td:first-child {
    border: none !important;
    color: #c1ad5f;
    font-family: "Zen Old Mincho", serif;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1;
    padding: 0 !important;
    width: 145px; }
  @media (max-width: 767px) {
    .co_history_lst td {
      display: block;
      padding-left: 20px !important;
      width: 100%; }
      .co_history_lst td strong {
        display: inline-block;
        font-size: 1.8rem; }
    .co_history_lst td:first-child {
      display: block;
      font-size: 3rem;
      padding: 0 !important;
      width: 100%; } }

/*BUSINESS*/
.business_wrap {
  padding-bottom: 110px;
  padding-top: 110px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px; }
  @media (max-width: 767px) {
    .business_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
  @media (min-width: 768px), print {
    .business_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .business_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .business_wrap {
      padding-left: 15px;
      padding-right: 15px; } }

.business_nav {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 95px; }
  .business_nav li {
    margin-left: 20px;
    margin-top: 20px; }
    .business_nav li a {
      align-items: center;
      border: 2px solid #000;
      color: #000;
      display: flex;
      font-size: 1.8rem;
      height: 50px;
      line-height: 1.2;
      padding: 5px 35px 5px 25px;
      position: relative; }
      .business_nav li a::before {
        background: url("override/src/images/common/ico-long-arrow-down-black.png") center/contain no-repeat;
        content: "";
        height: 17px;
        position: absolute;
        right: 15px;
        top: calc(50% - 8px);
        width: 17px; }
      .business_nav li a:hover {
        background: #000;
        color: #fff; }
        .business_nav li a:hover::before {
          background: url("override/src/images/common/ico-long-arrow-down-white.png") center/contain no-repeat; }
  @media (min-width: 768px), print {
    .business_nav li {
      width: calc((100% - 60px)/4); }
    .business_nav li:nth-child(4n+1) {
      margin-left: 0; }
    .business_nav li:nth-child(-n+4) {
      margin-top: 0; } }
  @media (max-width: 767px) {
    .business_nav {
      margin-bottom: 70px; }
      .business_nav li {
        margin-left: 14px;
        margin-top: 14px;
        width: calc(50% - 7px); }
        .business_nav li a {
          font-size: 1.6rem;
          padding: 5px 20px 5px 10px; }
          .business_nav li a::before {
            right: 5px; }
      .business_nav li:nth-child(2n+1) {
        margin-left: 0; }
      .business_nav li:nth-child(-n+2) {
        margin-top: 0; } }

.co_bus_nav li a {
  border-color: #284684;
  color: #284684; }
  .co_bus_nav li a::before {
    background: url("override/src/images/common/ico-long-arrow-down-color01.png") center/contain no-repeat; }
  .co_bus_nav li a:hover {
    background: #284684; }
    .co_bus_nav li a:hover::before {
      background: url("override/src/images/common/ico-long-arrow-down-white.png") center/contain no-repeat; }

.business_lst_wrap {
  counter-reset: section; }

.business_box {
  margin-top: 95px; }
  .business_box:first-child {
    margin-top: 0; }
  @media (min-width: 768px), print {
    .business_box {
      align-items: flex-start;
      display: flex;
      justify-content: space-between; }
      .business_box:nth-child(odd) .business_box_img {
        order: 2; }
      .business_box:nth-child(odd) .business_box_cont {
        order: 1; } }
  @media (max-width: 767px) {
    .business_box {
      margin-top: 70px; } }

.business_box_img {
  box-shadow: 3px 0 20px rgba(0, 0, 0, 0.1);
  height: 500px;
  width: 43.86%; }
  @media (max-width: 767px) {
    .business_box_img {
      margin-bottom: 30px;
      height: 300px;
      width: 100%; } }

.business_box_cont {
  width: 50%; }
  @media (max-width: 767px) {
    .business_box_cont {
      width: 100%; } }

.business_box_ttl {
  font-family: "Zen Old Mincho", serif;
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 30px; }
  .business_box_ttl span {
    color: #c1ad5f;
    display: block;
    font-family: "Lato", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 7px; }
  @media (max-width: 767px) {
    .business_box_ttl {
      font-size: 2.4rem;
      margin-bottom: 20px; }
      .business_box_ttl::before {
        font-size: 1.7rem;
        margin-bottom: 5px; } }

.business_box_txt {
  margin-left: 8.77%;
  margin-bottom: 40px; }
  @media (max-width: 767px) {
    .business_box_txt {
      margin-left: 15px;
      margin-bottom: 30px; } }

.business_box_btn {
  margin-left: 8.77%;
  max-width: 300px; }
  .business_box_btn.extend a::after {
    content: url("override/src/images/common/ico-arrow-extend-white-bold.svg");
    display: inline-block;
    margin-left: 4px; }
  @media (max-width: 767px) {
    .business_box_btn {
      margin-left: 15px; } }

/*OFFICE*/
.office_wrap {
  padding-bottom: 110px;
  padding-top: 110px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px; }
  @media (max-width: 767px) {
    .office_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
  @media (min-width: 768px), print {
    .office_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .office_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .office_wrap {
      padding-left: 15px;
      padding-right: 15px; } }

.office_logo {
  margin-bottom: 60px;
  position: relative;
  text-align: center; }
  .office_logo::after {
    background: #000;
    content: "";
    display: block;
    height: 4px;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    width: 125px; }
  .office_logo::before {
    background: #c1ad5f;
    bottom: 0;
    content: "";
    height: 4px;
    left: calc(50% - 63px);
    position: absolute;
    width: 25px; }
  @media (max-width: 767px) {
    .office_logo {
      max-width: 50%;
      margin-bottom: 40px;
      margin-left: auto;
      margin-right: auto; }
      .office_logo::after {
        height: 3px;
        width: 100px; }
      .office_logo::before {
        height: 3px;
        left: calc(50% - 50px); } }

.office_lst {
  margin-bottom: 100px; }
  .office_lst:last-child {
    margin-bottom: 0; }
  @media (max-width: 767px) {
    .office_lst {
      margin-bottom: 70px; } }

.office_box {
  background: #fff;
  box-shadow: 3px 0 20px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
  padding: 50px; }
  .office_box:first-child {
    margin-top: 0; }
  @media (max-width: 767px) {
    .office_box {
      display: block;
      padding: 20px 20px 30px;
      margin-top: 30px; } }

.office_box_img {
  height: 320px;
  width: 46.16%; }
  @media (max-width: 767px) {
    .office_box_img {
      height: 250px;
      margin-bottom: 20px;
      width: 100%; } }

.office_box_cont {
  width: 48.53%; }
  @media (max-width: 767px) {
    .office_box_cont {
      width: 100%; } }

.office_box_ttl {
  font-family: "Zen Old Mincho", serif;
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 25px;
  line-height: 1.3; }
  @media (max-width: 767px) {
    .office_box_ttl {
      font-size: 2.4rem;
      margin-bottom: 15px; } }

.office_box_info li {
  margin-top: 15px; }
  .office_box_info li:first-child {
    margin-top: 0; }
@media (max-width: 767px) {
  .office_box_info li {
    margin-top: 10px; } }
.office_box_info .office_map {
  background: #c1ad5f;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size: 1.5rem;
  margin-top: 4px;
  padding: 0 14px 0 5px;
  position: relative;
  text-align: center;
  transition: 0.3s all ease-in-out;
  width: 70px; }
  .office_box_info .office_map::after {
    border-style: solid;
    border-width: 4px 0 4px 7px;
    border-color: transparent transparent transparent #fff;
    content: "";
    height: 0;
    position: absolute;
    right: 7px;
    top: calc(50% - 4px);
    width: 0; }
  .office_box_info .office_map:hover {
    background: #284684; }
.office_box_info .address {
  padding-left: 35px;
  position: relative; }
  .office_box_info .address::before {
    content: "";
    background: url("override/src/images/office/ico-map.png") left center no-repeat;
    background-size: 21px auto;
    position: absolute;
    height: 25px;
    left: 0;
    top: 0;
    width: 35px; }
.office_box_info .tel {
  padding-left: 70px;
  position: relative; }
  .office_box_info .tel a {
    color: #000; }
  .office_box_info .tel::before {
    content: "TEL.";
    position: absolute;
    left: 35px;
    top: 0; }
  .office_box_info .tel::after {
    content: "";
    background: url("override/src/images/office/ico-tel.png") left center no-repeat;
    background-size: 22px auto;
    position: absolute;
    height: 25px;
    left: 0;
    top: 0;
    width: 35px; }
.office_box_info .fax {
  padding-left: 70px;
  position: relative; }
  .office_box_info .fax a {
    color: #000 !important;
    pointer-events: none; }
  .office_box_info .fax::before {
    content: "FAX.";
    position: absolute;
    left: 35px;
    top: 0; }
  .office_box_info .fax::after {
    content: "";
    background: url("override/src/images/office/ico-fax.png") left center no-repeat;
    background-size: 24px auto;
    position: absolute;
    height: 25px;
    left: 0;
    top: 0;
    width: 35px; }
@media (max-width: 767px) {
  .office_box_info .tel a, .office_box_info .fax a {
    pointer-events: auto !important; } }

.office_box_cat {
  margin-bottom: 15px; }
  .office_box_cat li {
    border-style: solid;
    border-width: 1px;
    display: inline-block;
    font-size: 1.5rem;
    line-height: 22px;
    margin-bottom: 5px;
    margin-right: 5px;
    padding: 0 20px; }
  @media (max-width: 767px) {
    .office_box_cat {
      margin-bottom: 10px; }
      .office_box_cat li {
        padding: 0 12px; } }

.company_sub {
  justify-content: space-between;
  margin-top: 60px !important; }
  .company_sub .wp-block-column {
    width: 48%; }
    @media (max-width: 767px) {
      .company_sub .wp-block-column {
        margin-bottom: 40px;
        width: 100%; } }

.company_sub_ttl {
  font-size: 3rem;
  margin-bottom: 30px !important;
  padding-bottom: 15px !important;
  position: relative;
  text-align: left !important; }
  @media (max-width: 767px) {
    .company_sub_ttl {
      font-size: 2rem;
      margin-bottom: 20px !important;
      padding-bottom: 10px !important; } }
  .company_sub_ttl::before {
    background: #c1ad5f;
    bottom: 0;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    width: 40px; }

.company_sub_map iframe {
  aspect-ratio: 48/35;
  border: 0;
  height: 100%;
  width: 100%; }
  @media (max-width: 767px) {
    .company_sub_map iframe {
      aspect-ratio: 1/1; } }

.company_sales_inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%; }

.company_sales_wrap {
  display: flex;
  flex-direction: column;
  justify-content: flex-end; }

.company_sales {
  position: relative; }
  .company_sales ul {
    align-items: flex-end;
    display: flex;
    justify-content: center;
    min-height: 320px; }
  .company_sales li {
    padding-bottom: 40px;
    position: relative;
    text-align: center;
    width: 9%; }
    @media (max-width: 767px) {
      .company_sales li {
        width: 9.6%; } }
    .company_sales li span.company_sales_ttl1 {
      bottom: 0;
      display: block;
      height: 40px;
      line-height: 1.1;
      left: 0;
      right: 0;
      padding-top: 5px;
      position: absolute; }
      @media (max-width: 767px) {
        .company_sales li span.company_sales_ttl1 {
          font-size: 1.4rem; } }
    .company_sales li span.company_sales_ttl2 {
      display: block;
      font-size: 1.4rem;
      font-weight: bold;
      margin-bottom: 5px; }
      @media (max-width: 767px) {
        .company_sales li span.company_sales_ttl2 {
          font-size: 1.2rem; } }
    .company_sales li span.company_sales_price {
      background-color: #f2f4f5;
      display: block;
      height: 0;
      margin: 0 7px; }
      @media (max-width: 767px) {
        .company_sales li span.company_sales_price {
          margin: 0 4px; } }
      .company_sales li span.company_sales_price.company_sales_price_on {
        animation: priceAnimation 2s 1 ease-in-out;
        height: 500px; }
    .company_sales li:last-of-type {
      width: 13.5%; }
      .company_sales li:last-of-type span {
        color: #c1ad5f; }
        .company_sales li:last-of-type span.company_sales_ttl1, .company_sales li:last-of-type span.company_sales_ttl2 {
          font-size: 2.4rem;
          font-weight: bold; }
          @media (max-width: 767px) {
            .company_sales li:last-of-type span.company_sales_ttl1, .company_sales li:last-of-type span.company_sales_ttl2 {
              font-size: 1.8rem; } }
        .company_sales li:last-of-type span.company_sales_price {
          background-color: #c1ad5f; }

.company_sales_sub {
  color: #666;
  display: flex;
  font-size: 1.4rem;
  justify-content: space-between;
  margin: 0 !important;
  padding: 0 !important; }
  .company_sales_sub dt {
    font-weight: normal;
    padding-left: 1em;
    position: relative; }
    .company_sales_sub dt::before {
      content: "※";
      left: 0;
      position: absolute; }

@keyframes priceAnimation {
  from {
    height: 10px; }
  to {
    height: 500px; } }
.l-contents .sdgs_wrap {
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (max-width: 767px) {
    .l-contents .sdgs_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
  .l-contents .sdgs_wrap .sdgs_box_in {
    margin-left: auto;
    margin-right: auto;
    max-width: 1220px;
    max-width: 1140px; }
    @media (min-width: 768px), print {
      .l-contents .sdgs_wrap .sdgs_box_in {
        padding-left: 50px;
        padding-right: 50px; } }
    @media (max-width: 1023px) {
      .l-contents .sdgs_wrap .sdgs_box_in {
        padding-left: 30px;
        padding-right: 30px; } }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_box_in {
        padding-left: 15px;
        padding-right: 15px; } }
  .l-contents .sdgs_wrap .sdgs_box_white {
    background: #fff;
    box-shadow: 3px 0 20px rgba(0, 0, 0, 0.1);
    margin-right: calc((100% - 1140px) /2);
    padding-bottom: 80px;
    padding-top: 80px; }
    .l-contents .sdgs_wrap .sdgs_box_white .sdgs_box_in {
      margin-right: 0; }
    .l-contents .sdgs_wrap .sdgs_box_white.sdgs_box_white_right {
      margin-left: calc((100% - 1140px) /2);
      margin-right: 0; }
      .l-contents .sdgs_wrap .sdgs_box_white.sdgs_box_white_right .sdgs_box_in {
        margin-left: 0;
        margin-right: auto; }
    @media (max-width: 1220px) {
      .l-contents .sdgs_wrap .sdgs_box_white {
        margin-right: 50px; }
        .l-contents .sdgs_wrap .sdgs_box_white.sdgs_box_white_right {
          margin-left: 50px; } }
    @media (max-width: 1023px) {
      .l-contents .sdgs_wrap .sdgs_box_white {
        margin-right: 30px; }
        .l-contents .sdgs_wrap .sdgs_box_white.sdgs_box_white_right {
          margin-left: 30px; } }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_box_white {
        margin-right: 15px;
        padding-bottom: 50px;
        padding-top: 50px; }
        .l-contents .sdgs_wrap .sdgs_box_white.sdgs_box_white_right {
          margin-left: 15px; } }
  .l-contents .sdgs_wrap .sdgs_intro_imglst {
    margin: 0 auto;
    max-width: 1000px; }
    .l-contents .sdgs_wrap .sdgs_intro_imglst li, .l-contents .sdgs_wrap .sdgs_intro_imglst figure {
      margin-top: 60px;
      margin-left: auto;
      margin-right: auto;
      text-align: center; }
      .l-contents .sdgs_wrap .sdgs_intro_imglst li:first-child, .l-contents .sdgs_wrap .sdgs_intro_imglst figure:first-child {
        margin-top: 0; }
      .l-contents .sdgs_wrap .sdgs_intro_imglst li:nth-child(2), .l-contents .sdgs_wrap .sdgs_intro_imglst figure:nth-child(2) {
        max-width: 512px; }
      .l-contents .sdgs_wrap .sdgs_intro_imglst li:nth-child(3), .l-contents .sdgs_wrap .sdgs_intro_imglst figure:nth-child(3) {
        max-width: 492px; }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_intro_imglst li, .l-contents .sdgs_wrap .sdgs_intro_imglst figure {
        margin-top: 30px; } }
  .l-contents .sdgs_wrap .sdgs_intro_imglst_note {
    background: #edeef2;
    margin: 35px auto 0;
    max-width: 500px;
    padding: 2px 10px;
    text-align: center; }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_intro_imglst_note {
        margin-top: 20px; } }
  .l-contents .sdgs_wrap .sdgs_box {
    padding-bottom: 80px;
    padding-top: 80px; }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_box {
        padding-bottom: 50px;
        padding-top: 50px; } }
    .l-contents .sdgs_wrap .sdgs_box .sdgs_box_icolst {
      display: flex;
      flex-wrap: wrap;
      margin-left: -10px;
      margin-top: 40px; }
      .l-contents .sdgs_wrap .sdgs_box .sdgs_box_icolst li, .l-contents .sdgs_wrap .sdgs_box .sdgs_box_icolst figure {
        margin-left: 10px !important;
        max-width: 140px !important;
        width: 16% !important; }
      @media (max-width: 767px) {
        .l-contents .sdgs_wrap .sdgs_box .sdgs_box_icolst {
          margin-top: 25px; }
          .l-contents .sdgs_wrap .sdgs_box .sdgs_box_icolst li, .l-contents .sdgs_wrap .sdgs_box .sdgs_box_icolst figure {
            margin-left: 10px !important;
            max-width: 120px !important;
            width: 20% !important; } }
    .l-contents .sdgs_wrap .sdgs_box .sdgs_box_img {
      margin-bottom: 50px !important;
      margin-left: calc((100% - 1040px) /2); }
      @media (max-width: 1220px) {
        .l-contents .sdgs_wrap .sdgs_box .sdgs_box_img {
          margin-left: 50px; } }
      @media (max-width: 1023px) {
        .l-contents .sdgs_wrap .sdgs_box .sdgs_box_img {
          margin-left: 30px; } }
      @media (max-width: 767px) {
        .l-contents .sdgs_wrap .sdgs_box .sdgs_box_img {
          margin-left: 15px;
          margin-bottom: 30px !important; } }
  .l-contents .sdgs_wrap .sdgs_phi_lst ul {
    display: flex;
    justify-content: center;
    margin-bottom: 20px; }
    .l-contents .sdgs_wrap .sdgs_phi_lst ul li {
      color: #284684;
      display: flex;
      font-family: "Zen Old Mincho", serif;
      font-size: 8rem;
      font-weight: 700; }
      .l-contents .sdgs_wrap .sdgs_phi_lst ul li::before {
        background: url("override/src/images/sdgs/ico-x.svg") center/contain no-repeat;
        content: "";
        display: block;
        height: 100%;
        margin: 0 40px;
        width: 59px; }
      .l-contents .sdgs_wrap .sdgs_phi_lst ul li:first-child::before {
        display: none; }
      .l-contents .sdgs_wrap .sdgs_phi_lst ul li .smb-list__icon {
        display: none; }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_phi_lst ul li {
        font-size: 4.5rem; }
        .l-contents .sdgs_wrap .sdgs_phi_lst ul li::before {
          margin: 0 10px;
          width: 30px; } }
  .l-contents .sdgs_wrap .sdgs_phi_lst02 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 35px !important; }
    .l-contents .sdgs_wrap .sdgs_phi_lst02 .sdgs_phi_lst02_li {
      background: #fff;
      border: 1px solid #ddd;
      padding: 30px 40px 35px;
      width: 30.29%; }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_phi_lst02 {
        display: block;
        margin-bottom: 30px !important; }
        .l-contents .sdgs_wrap .sdgs_phi_lst02 .sdgs_phi_lst02_li {
          margin-top: 15px;
          padding: 25px 20px;
          width: 100%; }
          .l-contents .sdgs_wrap .sdgs_phi_lst02 .sdgs_phi_lst02_li:first-child {
            margin-top: 0; } }
  .l-contents .sdgs_wrap .sdgs_phi_lst02_ttl {
    background: #284684;
    border-radius: 40px;
    color: #fff;
    font-family: "Zen Old Mincho", serif;
    font-size: 2rem;
    font-weight: 700;
    margin: 0 auto 15px;
    padding: 1px 8px;
    text-align: center;
    width: 145px; }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_phi_lst02_ttl {
        font-size: 1.7rem;
        margin-bottom: 10px;
        width: 130px; } }
  .l-contents .sdgs_wrap .sdgs_phi_lst02_txt {
    font-family: "Zen Old Mincho", serif;
    font-size: 1.8rem;
    font-weight: 700; }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_phi_lst02_txt {
        font-size: 1.6rem; } }
  .l-contents .sdgs_wrap .sdgs_feature_lst {
    counter-reset: section; }
    .l-contents .sdgs_wrap .sdgs_feature_lst .sdgs_feature_lst_li {
      border-top: 1px solid #ddd;
      align-items: center !important;
      display: flex;
      justify-content: space-between;
      padding: 30px; }
      .l-contents .sdgs_wrap .sdgs_feature_lst .sdgs_feature_lst_li:first-child {
        border-top: none;
        padding-top: 0; }
      .l-contents .sdgs_wrap .sdgs_feature_lst .sdgs_feature_lst_li:last-child {
        padding-bottom: 0; }
      @media (max-width: 767px) {
        .l-contents .sdgs_wrap .sdgs_feature_lst .sdgs_feature_lst_li {
          padding: 20px 0; } }
  .l-contents .sdgs_wrap .sdgs_feature_lst_img {
    align-items: center;
    background: #fff;
    border-radius: 100%;
    display: flex;
    height: 170px;
    justify-content: center;
    width: 170px; }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_feature_lst_img {
        height: 130px;
        width: 130px; } }
  .l-contents .sdgs_wrap .sdgs_feature_lst_ttl {
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 10px; }
    .l-contents .sdgs_wrap .sdgs_feature_lst_ttl::before {
      counter-increment: section;
      content: "0" counter(section);
      color: #c1ad5f;
      display: inline-block;
      font-size: 4rem;
      font-weight: 500;
      margin-right: 10px; }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_feature_lst_ttl {
        font-size: 2rem;
        margin-bottom: 10px; }
        .l-contents .sdgs_wrap .sdgs_feature_lst_ttl::before {
          font-size: 3rem; } }
  .l-contents .sdgs_wrap .sdgs_feature_lst_txt {
    margin-top: 0 !important; }
  .l-contents .sdgs_wrap .sdgs_feature_lst_cont {
    max-width: 705px;
    width: calc(100% - 180px); }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_feature_lst_cont {
        width: calc(100% - 140px); } }
  .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box {
    align-items: flex-start !important;
    display: flex;
    justify-content: space-between;
    margin-top: 100px; }
    .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box:first-child {
      margin-top: 0; }
    .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box:nth-child(even) {
      flex-direction: row-reverse; }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box {
        display: block;
        margin-top: 70px; } }
  .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_img {
    position: relative;
    width: 50%; }
    @media (min-width: 767px) and (max-width: 1023px) {
      .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_img {
        width: 40%; } }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_img {
        margin-bottom: 15px !important;
        width: 100%; } }
  .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_imgico {
    bottom: 0;
    left: 0;
    position: absolute !important; }
    @media (min-width: 767px) and (max-width: 1023px) {
      .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_imgico {
        width: 40%; } }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_imgico {
        width: 100px; } }
  .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_cont {
    width: 46.5%; }
    @media (min-width: 767px) and (max-width: 1023px) {
      .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_cont {
        width: 56%; } }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_cont {
        width: 100%; } }
  .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_ttl {
    font-family: "Zen Old Mincho", serif;
    font-size: 3.4rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px; }
    .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_ttl strong {
      display: block; }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_ttl {
        font-size: 2.4rem; } }
  .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_tag ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px; }
    .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_tag ul li {
      border: 1px solid #284684;
      border-radius: 40px;
      color: #284684;
      margin-right: 10px;
      margin-top: 10px !important;
      padding: 3px 30px;
      width: auto; }
      .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_tag ul li .smb-list__icon {
        display: none; }
    @media (max-width: 767px) {
      .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_tag ul {
        margin-bottom: 15px; }
        .l-contents .sdgs_wrap .sdgs_point_wrap .sdgs_point_box_tag ul li {
          border-width: 2px;
          font-size: 1.4rem;
          font-weight: 700;
          margin-right: 7px;
          margin-top: 7px;
          padding: 3px 15px; } }
.l-contents .sdgs_ttl {
  font-family: "Zen Old Mincho", serif;
  font-size: 4rem;
  font-weight: 700;
  margin-bottom: 30px; }
  .l-contents .sdgs_ttl::before {
    background: #c1ad5f;
    content: "";
    display: block;
    height: 4px;
    margin-bottom: 25px;
    width: 100px; }
  @media (max-width: 767px) {
    .l-contents .sdgs_ttl {
      font-size: 3rem;
      margin-bottom: 20px; }
      .l-contents .sdgs_ttl::before {
        height: 3px;
        margin-bottom: 15px; } }
.l-contents .sdgs_pt01 {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 80px;
  text-align: center; }
  @media (min-width: 768px), print {
    .l-contents .sdgs_pt01 {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .l-contents .sdgs_pt01 {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .l-contents .sdgs_pt01 {
      padding-left: 15px;
      padding-right: 15px; } }
  .l-contents .sdgs_pt01 .sdgs_ttl::before {
    margin-left: auto;
    margin-right: auto; }
  @media (max-width: 767px) {
    .l-contents .sdgs_pt01 {
      padding-bottom: 50px; } }
  .l-contents .sdgs_pt01 .sdgs_intro_txt {
    max-width: 900px;
    margin: 0 auto 80px; }
    @media (min-width: 768px), print {
      .l-contents .sdgs_pt01 .sdgs_intro_txt {
        padding: 0 30px; } }
    @media (max-width: 767px) {
      .l-contents .sdgs_pt01 .sdgs_intro_txt {
        margin-bottom: 50px; } }
  .l-contents .sdgs_pt01 .sdgs_intro_txt_in {
    margin-bottom: 25px; }
    @media (max-width: 767px) {
      .l-contents .sdgs_pt01 .sdgs_intro_txt_in {
        margin-bottom: 15px;
        text-align: left; } }
  .l-contents .sdgs_pt01 .sdgs_intro_txt_info span {
    padding-right: 1em; }
    @media (max-width: 767px) {
      .l-contents .sdgs_pt01 .sdgs_intro_txt_info span {
        display: block; } }
.l-contents .sdgs_pt02 {
  background: #f8f8f8;
  padding-bottom: 80px; }
  @media (max-width: 767px) {
    .l-contents .sdgs_pt02 {
      padding-bottom: 50px; } }
.l-contents .sdgs_pt03 {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-top: 80px; }
  @media (min-width: 768px), print {
    .l-contents .sdgs_pt03 {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .l-contents .sdgs_pt03 {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .l-contents .sdgs_pt03 {
      padding-left: 15px;
      padding-right: 15px; } }
  .l-contents .sdgs_pt03 .sdgs_ttl {
    text-align: center; }
    .l-contents .sdgs_pt03 .sdgs_ttl::before {
      margin-left: auto;
      margin-right: auto; }
  @media (max-width: 767px) {
    .l-contents .sdgs_pt03 {
      padding-top: 50px; } }
.l-contents .sdgs_blog_wrap {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 50px; }
  @media (min-width: 768px), print {
    .l-contents .sdgs_blog_wrap {
      gap: 50px; } }
  @media (max-width: 767px) {
    .l-contents .sdgs_blog_wrap {
      margin-bottom: 40px; } }
.l-contents .sdgs_blog_box {
  background: #fff;
  box-shadow: 3px 0 20px rgba(0, 0, 0, 0.1);
  padding-bottom: 35px;
  position: relative;
  width: calc((100% - 100px) / 3 - .1px); }
  .l-contents .sdgs_blog_box::before {
    border-style: solid;
    border-width: 0 0 16px 16px;
    border-color: transparent transparent #c1ad5f transparent;
    bottom: 4px;
    content: "";
    height: 0;
    position: absolute;
    right: 4px;
    transition: 0.3s all ease-in-out;
    width: 0; }
  .l-contents .sdgs_blog_box:hover .sdgs_blog_box_img img {
    transform: scale(1.1, 1.1); }
  .l-contents .sdgs_blog_box:hover::before {
    border-width: 0 0 24px 24px;
    border-color: transparent transparent #284684 transparent; }
  @media (min-width: 767px) and (max-width: 1023px) {
    .l-contents .sdgs_blog_box {
      width: calc((100% - 100px) / 2 - .1px); } }
  @media (max-width: 767px) {
    .l-contents .sdgs_blog_box {
      padding-bottom: 25px;
      width: 100%; }
      .l-contents .sdgs_blog_box:nth-child(n + 2) {
        margin-top: 30px; } }
.l-contents .sdgs_blog_box_img {
  margin-bottom: 12px;
  height: 200px;
  overflow: hidden; }
  .l-contents .sdgs_blog_box_img img {
    transition: 0.3s all ease-in-out; }
.l-contents .sdgs_blog_box_cat {
  display: flex;
  flex-wrap: wrap;
  padding: 0 30px 15px 24px; }
  .l-contents .sdgs_blog_box_cat li {
    margin-left: 6px;
    margin-top: 6px;
    width: 60px; }
  @media (max-width: 767px) {
    .l-contents .sdgs_blog_box_cat {
      padding: 0 15px 10px 9px; } }
.l-contents .sdgs_blog_box_ttl {
  font-weight: 700;
  padding: 0 30px 10px; }
  .l-contents .sdgs_blog_box_ttl a {
    color: #000; }
  @media (max-width: 767px) {
    .l-contents .sdgs_blog_box_ttl {
      padding: 0 15px 10px; } }
.l-contents .sdgs_blog_box_txt {
  color: #666;
  padding: 0 30px 20px; }
  @media (max-width: 767px) {
    .l-contents .sdgs_blog_box_txt {
      padding: 0 15px 15px; } }
.l-contents .sdgs_blog_box_date {
  padding: 0 30px;
  text-align: center; }
  @media (max-width: 767px) {
    .l-contents .sdgs_blog_box_date {
      padding: 0 15px; } }
.l-contents .sdgs_blog_btn {
  max-width: 360px;
  margin: 0 auto !important; }
.l-contents .sdgsreport_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (min-width: 768px), print {
    .l-contents .sdgsreport_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .l-contents .sdgsreport_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .l-contents .sdgsreport_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .l-contents .sdgsreport_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
.l-contents .wp-pagenavi {
  align-items: center;
  display: flex;
  justify-content: center; }
  .l-contents .wp-pagenavi a, .l-contents .wp-pagenavi span {
    border: none !important;
    color: #000;
    display: block;
    font-weight: 300;
    line-height: 40px;
    height: 40px;
    margin: 0 2px;
    padding: 0 !important;
    text-align: center;
    transition: 0.3s all ease-in-out;
    width: 40px; }
  .l-contents .wp-pagenavi .current {
    background: #c1ad5f;
    color: #fff;
    font-weight: normal; }
  .l-contents .wp-pagenavi a:hover {
    background: #c1ad5f;
    color: #fff; }
  .l-contents .wp-pagenavi .pages {
    display: none; }
.l-contents .detail_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px;
  display: flex;
  justify-content: space-between; }
  @media (min-width: 768px), print {
    .l-contents .detail_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .l-contents .detail_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .l-contents .detail_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .l-contents .detail_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
  @media (max-width: 767px) {
    .l-contents .detail_wrap {
      display: block; } }
.l-contents .detail {
  width: calc(100% - 290px); }
  @media (max-width: 767px) {
    .l-contents .detail {
      margin-bottom: 50px;
      width: 100%; } }
.l-contents .detail_side {
  width: 260px; }
  @media (max-width: 767px) {
    .l-contents .detail_side {
      width: 100%; } }
.l-contents .detail_ttl {
  border-bottom: 1px solid #ddd;
  font-family: "Zen Old Mincho", serif;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 10px;
  padding-bottom: 10px; }
  @media (max-width: 767px) {
    .l-contents .detail_ttl {
      font-size: 2.4rem; } }
.l-contents .detail_info {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px; }
  .l-contents .detail_info .cat {
    background: #a0aeb7;
    border-radius: 50px;
    color: #fff;
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 600;
    margin-left: 20px;
    padding: 2px;
    text-align: center;
    width: 110px; }
.l-contents .sdgs_detail_cat {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 20px; }
  .l-contents .sdgs_detail_cat li {
    margin-bottom: 10px;
    margin-right: 15px;
    width: 90px; }
  @media (max-width: 767px) {
    .l-contents .sdgs_detail_cat li {
      margin-bottom: 5px;
      margin-right: 7px;
      width: 60px; } }
.l-contents .detail_cont {
  border-bottom: 1px solid #ddd;
  margin-bottom: 25px;
  padding-bottom: 50px; }
  @media (max-width: 767px) {
    .l-contents .detail_cont {
      margin-bottom: 15px;
      padding-bottom: 30px; } }
.l-contents .post_link {
  display: flex;
  justify-content: space-between; }
  .l-contents .post_link .post_link_back, .l-contents .post_link .post_link_next {
    width: 45%; }
    .l-contents .post_link .post_link_back a, .l-contents .post_link .post_link_next a {
      display: block;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      width: 100%; }
  .l-contents .post_link .post_link_next {
    text-align: right; }
.l-contents .detail_btn {
  margin: 20px auto 0;
  max-width: 300px; }
.l-contents .sdgs_sb_box {
  display: flex;
  justify-content: space-between;
  margin-top: 25px; }
  .l-contents .sdgs_sb_box:first-child {
    margin-top: 0; }
  .l-contents .sdgs_sb_box:hover .sdgs_sb_box_thumb img {
    transform: scale(1.1, 1.1); }
  @media (max-width: 767px) {
    .l-contents .sdgs_sb_box {
      margin-top: 20px; } }
.l-contents .sdgs_sb_box_thumb {
  background: #ddd;
  height: 100px;
  overflow: hidden;
  width: 100px; }
  .l-contents .sdgs_sb_box_thumb .cat {
    line-height: 1.3;
    z-index: 2; }
  .l-contents .sdgs_sb_box_thumb img {
    transition: 0.3s all ease-in-out; }
  @media (max-width: 767px) {
    .l-contents .sdgs_sb_box_thumb {
      height: 90px;
      width: 90px; } }
.l-contents .sdgs_sb_box_info {
  width: calc(100% - 110px); }
  @media (max-width: 767px) {
    .l-contents .sdgs_sb_box_info {
      width: calc(100% - 100px); } }
.l-contents .sdgs_sb_box_ttl {
  margin-bottom: 10px; }
  .l-contents .sdgs_sb_box_ttl a {
    color: #000; }
.l-contents .sdgs_sb_box_date {
  color: #666; }
.l-contents .sb_ttl {
  border-bottom: 1px solid #ddd !important;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 10px;
  position: relative; }
  .l-contents .sb_ttl::before {
    background: #c1ad5f;
    bottom: -1px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100px; }
  @media (max-width: 767px) {
    .l-contents .sb_ttl {
      font-size: 1.7rem;
      margin-bottom: 15px; } }
.l-contents .post_link a {
  color: #000;
  display: block; }
  .l-contents .post_link a:hover {
    color: #c1ad5f; }
.l-contents .post_link .post_link_back a::before {
  content: url("override/src/images/common/ico-arrow-left-bold.svg");
  display: inline-block;
  margin-right: 10px;
  vertical-align: sub; }
.l-contents .post_link .post_link_next a::after {
  content: url("override/src/images/common/ico-arrow-right-bold.svg");
  display: inline-block;
  margin-left: 10px;
  vertical-align: sub; }
.l-contents .detail_cont div, .l-contents .detail_cont p, .l-contents .detail_cont h2, .l-contents .detail_cont h3, .l-contents .detail_cont h4, .l-contents .detail_cont figure {
  margin-bottom: 20px; }
.l-contents .detail_cont h2, .l-contents .detail_cont h3, .l-contents .detail_cont h4 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  line-height: 1.3; }
.l-contents .detail_cont h2 {
  border-left: 5px solid #c1ad5f;
  font-size: 2.8rem;
  padding-left: 10px; }
.l-contents .detail_cont h3 {
  font-size: 2.4rem;
  padding-left: 18px;
  position: relative; }
  .l-contents .detail_cont h3::before {
    background: #c1ad5f;
    content: "";
    height: 14px;
    left: 0;
    position: absolute;
    top: 12px;
    width: 14px; }
.l-contents .detail_cont h4 {
  font-size: 2rem; }
.l-contents .detail_cont ul {
  padding-left: 20px; }
  .l-contents .detail_cont ul li {
    margin-top: 5px;
    padding-left: 17px;
    position: relative; }
    .l-contents .detail_cont ul li::before {
      content: "※";
      left: 0;
      position: absolute;
      top: 1px; }
    .l-contents .detail_cont ul li:first-child {
      margin-top: 0; }
.l-contents .de_trainre_info {
  justify-content: flex-end; }

.wp-block-search__label {
  display: none !important; }

.sb_widget {
  margin-top: 25px; }
  .sb_widget .wp-block-search__inside-wrapper {
    position: relative; }
    .sb_widget .wp-block-search__inside-wrapper .wp-block-search__input {
      border-radius: 4px !important; }
    .sb_widget .wp-block-search__inside-wrapper .wp-block-search__button {
      background: url("override/src/images/common/ico-search.svg") center/22px 22px no-repeat;
      border: none !important;
      cursor: pointer;
      height: 100%;
      left: auto;
      position: absolute;
      right: 0;
      top: 0;
      width: 40px;
      z-index: 2; }
  .sb_widget:first-child {
    margin-top: 0; }

.sb_lst li {
  margin-top: 10px;
  padding-left: 15px;
  position: relative; }
  .sb_lst li::before {
    background: #284684;
    content: "";
    height: 8px;
    left: 0;
    position: absolute;
    top: 10px;
    width: 8px; }
  .sb_lst li:first-child {
    margin-top: 0; }

.sb_archive_lst li a::after {
  content: "年"; }

.sb_tag_lst a {
  color: #333;
  background: #fff;
  border: 1px solid #999;
  font-size: 1.2rem !important; }
  .sb_tag_lst a::before {
    display: none; }
  .sb_tag_lst a:hover {
    border-color: #c1ad5f;
    color: #c1ad5f; }

.sdgs_sb_box_thumb {
  position: relative; }
  .sdgs_sb_box_thumb .cat {
    background: #a0aeb7;
    color: #fff;
    display: inline-block;
    font-size: 1.2rem;
    padding: 2px 0;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    min-width: 70px; }

@media (min-width: 768px), print {
  .news_lst {
    display: block; }
    .news_lst dd {
      border-bottom: 1px solid #ddd;
      margin: 0 0 20px;
      padding-bottom: 20px;
      padding-left: 0;
      width: 100%; } }
@media (min-width: 767px) and (max-width: 1023px) {
  .news_lst dd {
    border-bottom: none;
    margin: 0; } }
@media (max-width: 1023px) {
  .news_lst {
    border-bottom: 1px solid #ddd;
    margin-bottom: 10px; } }

.searchform .custom-form {
  position: relative;
  width: 100%; }
  .searchform .custom-form .wp-block-search__input {
    border: 1px solid #ddd;
    border-radius: 4px;
    display: block;
    height: 40px;
    line-height: 40px;
    padding: 0 10px;
    width: 100%; }
  .searchform .custom-form .wp-block-search__button {
    background: url("override/src/images/common/ico-search.svg") center/22px 22px no-repeat;
    border: none !important;
    cursor: pointer;
    height: 100%;
    left: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 40px;
    z-index: 2; }

.search_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (min-width: 768px), print {
    .search_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .search_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .search_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .search_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
  .search_wrap .cmn_ttl {
    text-align: center; }

.searchbox {
  background: #f2f4f5;
  margin-bottom: 100px;
  padding: 50px 30px 60px; }
  @media (max-width: 767px) {
    .searchbox {
      margin-bottom: 70px;
      padding: 20px 15px 40px; } }

.searchbox_in {
  max-width: 800px;
  margin: 0 auto; }

.searchlist dt {
  width: 100%; }
  .searchlist dt a {
    color: #000;
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    padding-left: 18px;
    position: relative;
    transition: 0.3s all ease-in-out; }
    .searchlist dt a br {
      display: none; }
    .searchlist dt a:hover {
      color: #c1ad5f; }
    .searchlist dt a::before {
      background: url("override/src/images/common/ico-arrow-right-bold.svg") center/contain no-repeat;
      content: "";
      height: 13px;
      left: 0;
      position: absolute;
      top: 9px;
      width: 7px; }
.searchlist dd {
  padding-left: 18px; }
.searchlist + .wp-pagenavi {
  margin-top: 40px; }
@media (max-width: 767px) {
  .searchlist dt {
    font-size: 1.6rem; }
    .searchlist dt::before {
      top: 7px; }
  .searchlist + .wp-pagenavi {
    margin-top: 30px; } }

.searchbox_txt {
  margin-bottom: 20px; }
  @media (max-width: 767px) {
    .searchbox_txt {
      margin-bottom: 15px; } }

.c-fluid-container {
  padding: 0; }

.page404_txt {
  margin-bottom: 40px;
  text-align: center; }

.policy_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (min-width: 768px), print {
    .policy_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .policy_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .policy_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .policy_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
  .policy_wrap a[href^="tel:"], .policy_wrap a[href^="fax:"] {
    color: #000 !important; }

.policy_nav li {
  border-bottom: 1px solid #ddd; }
  .policy_nav li a {
    align-items: center;
    color: #000;
    display: flex;
    font-weight: 700;
    height: 100%;
    padding: 10px 30px 10px 0;
    position: relative; }
    .policy_nav li a:hover {
      color: #c1ad5f; }
    .policy_nav li a::before {
      background: url("override/src/images/common/ico-circle-arrow.png") center/contain no-repeat;
      content: "";
      height: 23px;
      position: absolute;
      right: 0;
      top: calc(50% - 12px);
      width: 23px; }
@media (min-width: 768px), print {
  .policy_nav {
    display: flex;
    justify-content: space-between; }
    .policy_nav li {
      width: 22.37%; } }

.policy_box {
  counter-reset: section;
  margin-top: 105px !important; }
  .policy_box .sdgs_ttl {
    text-align: center; }
    .policy_box .sdgs_ttl::before {
      margin-left: auto;
      margin-right: auto; }
  .policy_box h4 {
    font-size: 1.6rem;
    margin-top: 25px !important;
    margin-bottom: 0 !important; }
    .policy_box h4::before {
      counter-increment: section;
      content: counter(section) ".";
      display: inline-block;
      margin-right: 5px; }
  .policy_box h3 {
    border-left: 5px solid #c1ad5f;
    font-family: "Zen Old Mincho", serif;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 20px !important;
    padding-left: 10px !important; }
  .policy_box ul {
    margin-top: 0 !important; }
    .policy_box ul li {
      padding-left: 30px;
      position: relative; }
      .policy_box ul li::before {
        content: "・";
        position: absolute;
        top: 0;
        left: 15px; }
  @media (max-width: 767px) {
    .policy_box {
      margin-top: 70px !important; }
      .policy_box h3 {
        border-left: 4px solid #c1ad5f;
        font-size: 2rem;
        margin-bottom: 15px !important; }
      .policy_box h4 {
        margin-top: 20px !important; } }

.policy_info_box {
  background: #f8f8f8;
  padding: 30px 50px;
  margin: 25px 0 !important; }
  .policy_info_box * {
    margin-top: 0 !important; }
  @media (max-width: 767px) {
    .policy_info_box {
      padding: 20px 25px;
      margin: 20px 0 !important; } }

.contact_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (min-width: 768px), print {
    .contact_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .contact_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .contact_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .contact_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
  .contact_wrap .sdgs_ttl {
    margin-bottom: 20px;
    text-align: center; }
    .contact_wrap .sdgs_ttl::before {
      margin-left: auto;
      margin-right: auto; }
  .contact_wrap .contact_tel {
    padding-top: 110px; }
    @media (max-width: 767px) {
      .contact_wrap .contact_tel {
        padding-top: 70px; } }
  .contact_wrap .contact_tel_box {
    background: #f2f4f5;
    max-width: 460px;
    margin: 0 auto;
    padding: 20px 20px 30px;
    text-align: center; }
    .contact_wrap .contact_tel_box .hm_contact_tel {
      margin-bottom: 3px; }
      .contact_wrap .contact_tel_box .hm_contact_tel a {
        color: #000; }
        .contact_wrap .contact_tel_box .hm_contact_tel a::before {
          background: url("override/src/images/common/ico-tel-black.svg") center/contain no-repeat; }
    @media (max-width: 767px) {
      .contact_wrap .contact_tel_box {
        padding: 10px 10px 20px; }
        .contact_wrap .contact_tel_box .hm_contact_tel a {
          font-size: 2.4rem !important; }
          .contact_wrap .contact_tel_box .hm_contact_tel a::before {
            margin-right: 5px !important; } }
  .contact_wrap .select_wrap .wpcf7-form-control-wrap {
    display: inline-block;
    width: 230px; }

.contact_mail .contact_step {
  align-items: center;
  counter-reset: section;
  display: flex;
  justify-content: space-between;
  max-width: 470px;
  margin: 0 auto 42px;
  padding-top: 10px; }
  .contact_mail .contact_step li {
    align-items: center;
    background: #fff;
    border: 1px solid #ccc;
    color: #b2b2b2;
    display: flex;
    font-weight: 700;
    height: 50px;
    justify-content: center;
    position: relative;
    text-align: center;
    width: 130px; }
    .contact_mail .contact_step li::before {
      background: #ccc;
      content: "";
      display: block;
      height: 1px;
      left: -30px;
      position: absolute;
      width: 20px; }
    .contact_mail .contact_step li:first-child::before {
      display: none; }
    .contact_mail .contact_step li span {
      display: inline-block; }
      .contact_mail .contact_step li span::before {
        counter-increment: section;
        content: "0" counter(section);
        display: inline-block;
        margin-right: 7px; }
    .contact_mail .contact_step li.active {
      background: #c1ad5f;
      border-color: #c1ad5f;
      color: #fff; }
  @media (max-width: 767px) {
    .contact_mail .contact_step {
      margin-bottom: 30px;
      width: 290px; }
      .contact_mail .contact_step li {
        height: 45px;
        width: 85px; }
        .contact_mail .contact_step li::before {
          left: -15px;
          width: 10px; } }
.contact_mail .contact_form {
  border-top: 1px solid #ccc;
  max-width: 1000px;
  position: relative; }
  .contact_mail .contact_form::before {
    background: #000;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    top: -1px;
    width: 25%; }
  .contact_mail .contact_form .contact_tbl {
    margin: 0;
    table-layout: fixed; }
  @media (max-width: 767px) {
    .contact_mail .contact_form::before {
      width: 50px; }
    .contact_mail .contact_form .contact_tbl th::after {
      display: none; }
    .contact_mail .contact_form .contact_tbl td {
      padding-bottom: 15px !important; } }
.contact_mail .contact_tbl_th {
  align-items: flex-start;
  display: flex;
  justify-content: space-between; }
  .contact_mail .contact_tbl_th span {
    color: #fff;
    display: block;
    font-size: 1.4rem;
    font-weight: 700;
    margin-left: 30px;
    margin-top: 3px;
    min-width: 40px;
    text-align: center;
    width: 40px; }
    .contact_mail .contact_tbl_th span.required {
      background: #ad0202; }
    .contact_mail .contact_tbl_th span.notrequired {
      background: #b2b2b2; }
.contact_mail .contact_tbl td input[type="text"], .contact_mail .contact_tbl td input[type="email"], .contact_mail .contact_tbl td input[type="tel"], .contact_mail .contact_tbl td select, .contact_mail .contact_tbl td textarea {
  border: 1px solid #ccc;
  border-radius: 0;
  height: 38px;
  padding: 10px 12px;
  width: 100%; }
  .contact_mail .contact_tbl td input[type="text"]::placeholder, .contact_mail .contact_tbl td input[type="email"]::placeholder, .contact_mail .contact_tbl td input[type="tel"]::placeholder, .contact_mail .contact_tbl td select::placeholder, .contact_mail .contact_tbl td textarea::placeholder {
    color: #999; }
  .contact_mail .contact_tbl td input[type="text"]:focus, .contact_mail .contact_tbl td input[type="email"]:focus, .contact_mail .contact_tbl td input[type="tel"]:focus, .contact_mail .contact_tbl td select:focus, .contact_mail .contact_tbl td textarea:focus {
    outline: none; }
  .contact_mail .contact_tbl td input[type="text"].smallsz, .contact_mail .contact_tbl td input[type="email"].smallsz, .contact_mail .contact_tbl td input[type="tel"].smallsz, .contact_mail .contact_tbl td select.smallsz, .contact_mail .contact_tbl td textarea.smallsz {
    display: inline-block;
    margin-right: 15px;
    max-width: 210px; }
.contact_mail .contact_tbl td input[type="email"] {
  font-family: 'Arial' !important; }
.contact_mail .contact_tbl td textarea {
  max-width: none;
  height: 200px;
  line-height: 1.5;
  resize: none; }
.contact_mail .contact_tbl td select {
  appearance: none;
  background: url("override/src/images/common/ico-arrow-down.svg") calc(100% - 10px) center/10px auto no-repeat;
  cursor: pointer;
  padding: 8px 12px; }
.contact_mail .contact_tbl .form_notetxt {
  display: inline-block;
  vertical-align: middle; }
.contact_mail .form_check_txt {
  margin-bottom: 10px; }
  .contact_mail .form_check_txt a {
    color: #c1ad5f;
    text-decoration: underline; }
    .contact_mail .form_check_txt a:hover {
      color: #284684; }
.contact_mail .form_check .wpcf7-list-item {
  margin: 0; }
  .contact_mail .form_check .wpcf7-list-item label {
    display: inline-block; }
    .contact_mail .form_check .wpcf7-list-item label input {
      appearance: none;
      display: none;
      height: 1px;
      opacity: 0;
      width: 1px; }
      .contact_mail .form_check .wpcf7-list-item label input + span {
        background: #f8f8f8;
        position: relative;
        padding: 3px 20px 5px 32px; }
        .contact_mail .form_check .wpcf7-list-item label input + span::before {
          background: #fff;
          border: 1px solid #ccc;
          content: "";
          display: block;
          height: 16px;
          left: 7px;
          position: absolute;
          top: calc(50% - 8px);
          width: 16px; }
      .contact_mail .form_check .wpcf7-list-item label input:checked + span::after {
        border-bottom: 3px solid #c1ad5f;
        border-right: 3px solid #c1ad5f;
        position: absolute;
        content: "";
        display: block;
        top: 9px;
        left: 12px;
        transform: rotate(40deg);
        width: 7px;
        height: 10px; }
      .contact_mail .form_check .wpcf7-list-item label input:checked + span {
        background: #c1ad5f;
        color: #fff; }
.contact_mail .submit_btn {
  margin-top: 70px;
  position: relative;
  text-align: center; }
  @media (max-width: 767px) {
    .contact_mail .submit_btn {
      margin-top: 45px; } }
  .contact_mail .submit_btn .next_button input[type="submit"] {
    transition: all 0.3s ease-in-out;
    background-color: #c1ad5f;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.1) !important;
    border: none;
    border-radius: 4px;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    height: 60px;
    margin: 0 auto;
    width: 100%; }
    @media (min-width: 768px), print {
      .contact_mail .submit_btn .next_button input[type="submit"] {
        max-width: 300px; } }
    .contact_mail .submit_btn .next_button input[type="submit"]:hover {
      background-color: #284684; }
    @media (max-width: 767px) {
      .contact_mail .submit_btn .next_button input[type="submit"] {
        font-size: 1.6rem; } }
  .contact_mail .submit_btn .back_button {
    position: absolute;
    bottom: 30px;
    left: 0; }
    .contact_mail .submit_btn .back_button input[type="button"] {
      background: none;
      border: none;
      color: #999;
      cursor: pointer;
      padding: 0;
      text-decoration: underline;
      width: auto; }
      .contact_mail .submit_btn .back_button input[type="button"]:hover {
        opacity: .7; }
    @media (max-width: 767px) {
      .contact_mail .submit_btn .back_button {
        bottom: -30px; } }
@media (min-width: 768px), print {
  .contact_mail .form_radio_lst {
    display: flex;
    flex-wrap: wrap;
    margin-left: -12px; }
    .contact_mail .form_radio_lst span.wpcf7-list-item {
      margin-left: 12px;
      width: 155px; } }
.contact_mail .form_radio_lst span.wpcf7-list-item label {
  display: block; }
  .contact_mail .form_radio_lst span.wpcf7-list-item label input {
    appearance: none;
    display: none;
    height: 1px;
    opacity: 0;
    width: 1px; }
    .contact_mail .form_radio_lst span.wpcf7-list-item label input + span {
      background: #f8f8f8;
      display: flex;
      position: relative;
      padding: 3px 20px 5px 32px;
      width: 100%; }
      .contact_mail .form_radio_lst span.wpcf7-list-item label input + span::before {
        background: #fff;
        border: 1px solid #ccc;
        border-radius: 100%;
        content: "";
        display: block;
        height: 16px;
        left: 7px;
        position: absolute;
        top: calc(50% - 8px);
        width: 16px; }
    .contact_mail .form_radio_lst span.wpcf7-list-item label input:checked + span::before {
      border-color: #fff; }
    .contact_mail .form_radio_lst span.wpcf7-list-item label input:checked + span::after {
      background: #c1ad5f;
      border: 3px solid #fff;
      border-radius: 100%;
      position: absolute;
      content: "";
      display: block;
      left: 7px;
      top: calc(50% - 8px);
      width: 16px;
      height: 16px; }
    .contact_mail .form_radio_lst span.wpcf7-list-item label input:checked + span {
      background: #c1ad5f;
      color: #fff; }
@media (max-width: 767px) {
  .contact_mail .form_radio_lst span.wpcf7-list-item {
    display: block;
    margin-top: 10px;
    margin-left: 0 !important;
    width: 100%; }
    .contact_mail .form_radio_lst span.wpcf7-list-item:first-child {
      margin-top: 0; }
    .contact_mail .form_radio_lst span.wpcf7-list-item input + span {
      padding: 7px 20px 9px 32px; } }
.contact_mail .form_recaptcha {
  text-align: center;
  font-size: 12px; }

.wp-block-group .contact_introtxt {
  margin-bottom: 25px;
  text-align: center; }

span.wpcf7-not-valid-tip {
  color: #dc3232 !important; }

.contact_textarea_confirm {
  white-space: pre-wrap; }

.grecaptcha-badge {
  visibility: hidden; }

.spmenu {
  left: 0; }

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

/*header*/
.hd_recruit.header {
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.08);
  display: flex;
  justify-content: space-between;
  padding-left: 30px;
  width: 100%;
  z-index: 999; }
  .hd_recruit.header .hd_logo {
    width: 285px; }
    .hd_recruit.header .hd_logo a {
      align-items: center;
      display: flex;
      height: 80px;
      padding: 0; }
  .hd_recruit.header .hd_right {
    max-width: 692px;
    width: calc(100% - 320px); }
    .hd_recruit.header .hd_right .hd_nav {
      max-width: 353px;
      width: calc(100% - 310px); }
  @media (max-width: 1023px) {
    .hd_recruit.header {
      padding-left: 15px; }
      .hd_recruit.header .hd_logo {
        margin: 0;
        width: 200px; }
      .hd_recruit.header .hd_right {
        width: calc(100% - 215px); }
        .hd_recruit.header .hd_right .hd_nav {
          font-size: 1.4rem;
          margin-right: 20px;
          width: calc(100% - 280px); } }
  @media (max-width: 767px) {
    .hd_recruit.header .hd_logo a {
      height: 50px; }
    .hd_recruit.header .hd_recruit_btn {
      margin-bottom: 15px; } }

.hd_recruit .spmenu_logo {
  width: 200px; }

.hd_entry_btn {
  height: 100%;
  width: 300px; }
  .hd_entry_btn a {
    align-items: center;
    background: #c1ad5f;
    color: #fff;
    display: flex;
    font-size: 1.8rem;
    height: 100%;
    justify-content: center;
    padding: 10px;
    text-align: center;
    transition: 0.3s all ease-in-out;
    width: 100%; }
    .hd_entry_btn a::before {
      background: url("override/src/images/recruit/top/ico-recruit.png") center/contain no-repeat;
      content: "";
      display: inline-block;
      height: 29px;
      margin-right: 10px;
      width: 32px; }
  .hd_entry_btn:hover a {
    background: #284684; }
  @media (min-width: 767px) and (max-width: 1023px) {
    .hd_entry_btn {
      width: 220px; }
      .hd_entry_btn a {
        font-size: 1.6rem; }
        .hd_entry_btn a::before {
          margin-right: 6px;
          height: 23px;
          width: 25px; } }

/*RECRUIT TOP*/
.re_mainvisual {
  display: flex;
  justify-content: flex-end;
  position: relative; }

.re_mainvisual_gal {
  display: flex;
  flex-wrap: wrap;
  margin-right: 0 !important;
  width: 64.3%; }
  .re_mainvisual_gal li, .re_mainvisual_gal .wp-block-image {
    position: relative;
    width: calc(100%/6) !important; }
    .re_mainvisual_gal li::before, .re_mainvisual_gal .wp-block-image::before {
      background: #284684;
      content: "";
      height: 100%;
      left: 0;
      position: absolute;
      pointer-events: none;
      opacity: .5;
      top: 0;
      width: 100%; }
  @media (min-width: 768px), print {
    .re_mainvisual_gal {
      min-width: 600px; } }
  @media (max-width: 767px) {
    .re_mainvisual_gal {
      width: 100%; }
      .re_mainvisual_gal li, .re_mainvisual_gal .wp-block-image {
        width: 20% !important; } }

.re_mainvisual_cont {
  align-items: center;
  display: flex;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

.re_mainvisual_cont_in {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  width: 100%;
  max-width: 1500px; }
  @media (min-width: 768px), print {
    .re_mainvisual_cont_in {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_mainvisual_cont_in {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_mainvisual_cont_in {
      padding-left: 15px;
      padding-right: 15px; } }

.re_mainvisual_ttl {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-name: fadeInDown;
  margin-bottom: 100px;
  margin-top: 0 !important; }
  .re_mainvisual_ttl span {
    background: #000;
    color: #fff;
    display: inline;
    font-family: "Zen Old Mincho", serif;
    font-size: 6rem;
    font-weight: 700;
    line-height: 1.9;
    padding: 0 20px; }
  @media (max-width: 1023px) {
    .re_mainvisual_ttl {
      margin-bottom: 60px; }
      .re_mainvisual_ttl span {
        font-size: 4.5rem; } }
  @media (max-width: 767px) {
    .re_mainvisual_ttl {
      margin-bottom: 40px;
      text-align: center; }
      .re_mainvisual_ttl span {
        font-size: 2.3rem;
        padding: 0 10px; } }

.re_mainvisual_btn {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-name: fadeInDown;
  max-width: 300px; }
  .re_mainvisual_btn a {
    border-width: 2px;
    font-size: 2rem;
    font-weight: 700;
    height: 70px; }
  @media (max-width: 1023px) {
    .re_mainvisual_btn a {
      background: #c1ad5f !important;
      color: #fff !important; } }
  @media (max-width: 767px) {
    .re_mainvisual_btn {
      margin: 0 auto; }
      .re_mainvisual_btn a {
        font-size: 1.7rem;
        height: 56px; } }

.re_cmn_ttl {
  font-family: "Zen Old Mincho", serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2 !important;
  margin-bottom: 40px !important; }
  .re_cmn_ttl strong {
    display: block;
    font-family: "Cormorant Garamond", serif;
    font-size: 8rem;
    font-weight: 300;
    line-height: 1;
    margin-bottom: 8px; }
    .re_cmn_ttl strong em {
      color: #c1ad5f;
      font-style: normal !important; }
    .re_cmn_ttl strong::first-letter {
      color: #c1ad5f; }
  @media (max-width: 767px) {
    .re_cmn_ttl {
      font-size: 1.7rem;
      margin-bottom: 25px !important; }
      .re_cmn_ttl strong {
        font-size: 5rem; } }

.re_about {
  padding-bottom: 95px;
  padding-top: 110px;
  position: relative; }
  .re_about::before {
    background: #f2f4f5;
    content: "";
    height: 71.4%;
    left: 0;
    position: absolute;
    top: 0;
    width: 85.7%; }
  @media (max-width: 767px) {
    .re_about {
      padding-top: 70px;
      padding-bottom: 60px; } }

.re_about_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  position: relative;
  z-index: 1; }
  @media (min-width: 768px), print {
    .re_about_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_about_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_about_wrap {
      padding-left: 15px;
      padding-right: 15px; } }

.re_about_top {
  align-items: flex-start !important;
  display: flex;
  justify-content: space-between;
  margin-bottom: 90px !important; }
  @media (max-width: 1023px) {
    .re_about_top {
      display: block !important;
      margin-bottom: 70px !important; } }

.re_about_top_img {
  position: relative;
  width: 58%; }
  .re_about_top_img::before {
    border: 1px solid #c1ad5f;
    content: "";
    height: 100%;
    left: -25px;
    position: absolute;
    top: 25px;
    width: 100%; }
  .re_about_top_img img {
    position: relative;
    z-index: 1; }
  @media (min-width: 767px) and (max-width: 1023px) {
    .re_about_top_img {
      width: 90%;
      margin: 0 auto 40px !important; } }
  @media (max-width: 767px) {
    .re_about_top_img {
      margin-bottom: 30px !important;
      width: 100%; }
      .re_about_top_img::before {
        left: -10px;
        top: 10px; } }

.re_about_top_cont {
  width: 36%; }
  @media (max-width: 1023px) {
    .re_about_top_cont {
      width: 100%; } }

.re_about_top_txt {
  line-height: 2;
  margin-bottom: 45px !important; }
  @media (max-width: 767px) {
    .re_about_top_txt {
      margin-bottom: 30px !important; } }

.re_about_top_btn {
  max-width: 300px; }
  .re_about_top_btn a {
    height: 70px; }
  @media (max-width: 767px) {
    .re_about_top_btn a {
      height: 56px; } }

.noshadow {
  box-shadow: none !important; }
  .noshadow a {
    box-shadow: none !important; }

@media (min-width: 768px), print {
  .re_about_nav {
    align-items: flex-start !important;
    display: flex;
    justify-content: space-between; } }

.re_about_navbox {
  position: relative; }
  .re_about_navbox:nth-child(2) .re_about_navbox_ttl {
    background: rgba(51, 58, 83, 0.8) !important; }
  .re_about_navbox:hover .re_about_navbox_img img {
    transform: scale(1.1, 1.1); }
  @media (min-width: 768px), print {
    .re_about_navbox {
      width: 48.245%;
      /*     &:nth-child(2){
            margin-top:65px;
          }*/ }
      .re_about_navbox:first-child {
        margin-top: 65px; } }
  @media (max-width: 767px) {
    .re_about_navbox {
      margin-top: 20px !important;
      width: 100%; }
      .re_about_navbox:first-child {
        margin-top: 0 !important; } }
  .re_about_navbox:hover .re_about_navbox_ttl a::before {
    right: 10px; }

.re_about_navbox_img {
  overflow: hidden;
  height: 400px; }
  .re_about_navbox_img img {
    transition: 0.3s all ease-in-out; }
  @media (max-width: 767px) {
    .re_about_navbox_img {
      height: 80vw;
      max-height: 300px; } }

.re_about_navbox_ttl {
  background: rgba(40, 70, 132, 0.8) !important;
  bottom: 0;
  margin-bottom: 0 !important;
  position: absolute !important;
  text-align: left !important;
  width: 100%; }
  .re_about_navbox_ttl strong {
    font-size: 6rem; }
  .re_about_navbox_ttl a {
    color: #fff;
    display: block;
    line-height: 1.3;
    padding: 32px 20px 28px 20px;
    position: relative; }
    .re_about_navbox_ttl a::before {
      background: url("override/src/images/recruit/top/ico-entry-arrow-white.svg") center/contain no-repeat;
      bottom: 25px;
      content: "";
      height: 19px;
      position: absolute;
      right: 20px;
      transition: 0.3s all ease-in-out;
      width: 50px; }
  @media (max-width: 1023px) {
    .re_about_navbox_ttl strong {
      font-size: 4rem; } }
  @media (max-width: 767px) {
    .re_about_navbox_ttl strong {
      font-size: 4rem; }
    .re_about_navbox_ttl a {
      padding: 22px 20px 18px 20px; }
      .re_about_navbox_ttl a::before {
        right: 10px !important;
        width: 30px; } }

.re_companion {
  background: #f2f4f5;
  padding-bottom: 70px;
  position: relative; }
  .re_companion::before {
    background: #fff;
    content: "";
    height: 52px;
    position: absolute;
    top: 0;
    width: 100%; }

.re_companion_wrap {
  position: relative;
  z-index: 1; }
  .re_companion_wrap .re_cmn_ttl {
    line-height: 1.5;
    text-align: center; }
    .re_companion_wrap .re_cmn_ttl strong {
      line-height: 1.4; }
  @media (max-width: 1023px) {
    .re_companion_wrap {
      margin-left: auto;
      margin-right: auto;
      max-width: 1220px; } }
  @media (max-width: 1023px) and (min-width: 768px), print and (max-width: 1023px) {
    .re_companion_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) and (max-width: 1023px) {
    .re_companion_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 1023px) and (max-width: 767px) {
    .re_companion_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 1023px) {
      .re_companion_wrap .re_cmn_ttl {
        line-height: 1.3; }
        .re_companion_wrap .re_cmn_ttl strong {
          line-height: 1.1;
          margin-bottom: 5px; } }

@media (min-width: 768px), print {
  .re_companion_lst {
    display: flex;
    margin-bottom: 70px !important; }
    .re_companion_lst .re_companion_box {
      overflow: hidden;
      width: calc(100%/3); } }
@media (max-width: 1023px) {
  .re_companion_lst {
    display: block;
    margin-bottom: 30px !important; }
    .re_companion_lst .re_companion_box {
      overflow: hidden;
      margin-top: 20px !important;
      width: 100%; }
      .re_companion_lst .re_companion_box:first-child {
        margin-top: 0 !important; } }

.re_companion_box:hover .re_companion_box_img img {
  transform: scale(1.1, 1.1); }

.re_companion_box_img {
  overflow: hidden;
  height: 466px; }
  .re_companion_box_img img {
    transition: 0.3s all ease-in-out; }
  @media (max-width: 1023px) {
    .re_companion_box_img {
      height: 80vw;
      max-height: 500px; } }

.re_companion_box_cont {
  background: #fff;
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  float: right;
  max-width: 360px;
  margin-top: -70px !important;
  padding: 20px;
  position: relative;
  width: 80%;
  z-index: 2; }
  @media (max-width: 767px) {
    .re_companion_box_cont {
      width: calc(100% - 15px); } }

.re_companion_box_pos a {
  color: #555; }

.re_companion_box_txt {
  font-size: 2rem;
  margin-top: 0 !important; }
  .re_companion_box_txt a {
    color: #000; }
  @media (max-width: 767px) {
    .re_companion_box_txt {
      font-size: 1.7rem; } }

.re_companion_btn {
  max-width: 600px;
  margin: 0 auto !important; }
  .re_companion_btn a {
    height: 70px; }
  @media (max-width: 767px) {
    .re_companion_btn a {
      height: 56px; } }

.re_entry {
  margin-bottom: 120px !important;
  padding-top: 90px;
  position: relative; }
  .re_entry .re_cmn_ttl {
    margin-left: auto;
    margin-right: auto;
    max-width: 1220px;
    text-align: center; }
    @media (min-width: 768px), print {
      .re_entry .re_cmn_ttl {
        padding-left: 50px;
        padding-right: 50px; } }
    @media (max-width: 1023px) {
      .re_entry .re_cmn_ttl {
        padding-left: 30px;
        padding-right: 30px; } }
    @media (max-width: 767px) {
      .re_entry .re_cmn_ttl {
        padding-left: 15px;
        padding-right: 15px; } }
  @media (max-width: 767px) {
    .re_entry {
      margin-bottom: 70px !important;
      padding-top: 50px; } }

.re_entry_wrap {
  padding-bottom: 100px;
  position: relative;
  overflow: hidden; }
  @media (max-width: 767px) {
    .re_entry_wrap {
      padding-bottom: 70px; } }

.re_entry_bg {
  height: 100%;
  position: absolute;
  left: 0;
  top: 100px;
  width: 85.7%; }

.re_entry_cont {
  background: #fff;
  box-shadow: 3px 0 20px rgba(0, 0, 0, 0.1);
  float: right;
  margin-top: 0 !important;
  position: relative;
  width: 85.7%;
  z-index: 1; }
  @media (min-width: 768px), print {
    .re_entry_cont {
      align-items: stretch !important;
      display: flex;
      flex-basis: 0 !important; } }

@media (min-width: 768px), print {
  .re_entry_img {
    order: 2;
    width: 58.33%; } }

@media (min-width: 768px), print {
  .re_entry_nav {
    order: 1;
    width: 41.67%; } }
@media (max-width: 767px) {
  .re_entry_nav {
    width: 100% !important; } }

.re_entry_btn {
  border-top: 1px solid #ddd;
  height: 33.3333333333%;
  margin-top: 0 !important; }
  .re_entry_btn:first-child {
    border-top: none; }
  .re_entry_btn a {
    align-items: center;
    color: #000;
    display: flex;
    font-size: 2.4rem;
    height: 100%;
    padding: 5px 14%;
    position: relative; }
    .re_entry_btn a::before {
      background: url("override/src/images/recruit/top/ico-entry-arrow.svg") center/contain no-repeat;
      content: "";
      height: 15px;
      position: absolute;
      right: 12%;
      top: calc(50% - 7px);
      transition: 0.3s all ease-in-out;
      width: 10%; }
    .re_entry_btn a:hover {
      background: #c1ad5f;
      color: #fff; }
      .re_entry_btn a:hover::before {
        background: url("override/src/images/recruit/top/ico-entry-arrow-white.svg") center/contain no-repeat;
        right: 7%; }
  @media (min-width: 767px) and (max-width: 1023px) {
    .re_entry_btn a {
      font-size: 2rem; } }
  @media (max-width: 767px) {
    .re_entry_btn a {
      font-size: 1.8rem;
      height: 56px;
      padding: 20px; }
      .re_entry_btn a::before {
        right: 10px !important;
        width: 30px; } }

.re_contact {
  background: #f2f4f5;
  text-align: center; }

.re_contact_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 60px;
  padding-top: 50px; }
  @media (min-width: 768px), print {
    .re_contact_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_contact_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_contact_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  .re_contact_wrap .hm_contact_tel a {
    color: #000; }
    .re_contact_wrap .hm_contact_tel a::before {
      background: url("override/src/images/common/ico-tel-black.svg") center/contain no-repeat; }

.re_contact_ttl {
  color: #284684 !important;
  font-family: "Zen Old Mincho", serif;
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 20px; }
  @media (max-width: 767px) {
    .re_contact_ttl {
      font-size: 2.4rem; } }

.re_contact_link {
  margin-top: 30px; }
  .re_contact_link a {
    text-decoration: underline; }
    .re_contact_link a::before {
      background: url("override/src/images/common/ico-home-blue.svg") center/contain no-repeat;
      bottom: 1px;
      content: '';
      display: inline-block;
      height: 18px;
      left: -5px;
      position: relative;
      transition: 0.3s all ease-in-out;
      vertical-align: sub;
      width: 16px; }
    .re_contact_link a:hover {
      text-decoration: none; }
      .re_contact_link a:hover::before {
        background: url("override/src/images/common/ico-home-color03.svg") center/contain no-repeat;
        transition: 0.3s all ease-in-out; }

.block-editor-block-list__block.re_mainvisual_gal {
  order: 2; }

.re_mainvisual_cont.block-editor-block-list__layout {
  position: static !important;
  order: 1;
  width: 50%; }

/*MESSAGE*/
.defaultpd {
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (max-width: 767px) {
    .defaultpd {
      padding-bottom: 70px;
      padding-top: 70px; } }

.remess_wrap {
  padding-bottom: 110px;
  padding-top: 110px;
  padding-bottom: 0 !important; }
  @media (max-width: 767px) {
    .remess_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }

.remess_top {
  background: url("override/src/images/recruit/message/bg-remess-ttl.png") right bottom/auto 324px repeat-x; }
  @media (max-width: 767px) {
    .remess_top {
      background-size: auto 200px; } }

.remess_ttl_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  text-align: center; }
  @media (min-width: 768px), print {
    .remess_ttl_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .remess_ttl_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .remess_ttl_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .remess_ttl_wrap {
      padding-bottom: 70px; } }

.remess_ttl {
  color: #284684 !important;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 50px !important; }
  @media (min-width: 767px) and (max-width: 1023px) {
    .remess_ttl {
      font-size: 4rem; } }
  @media (max-width: 767px) {
    .remess_ttl {
      font-size: 3.4rem;
      margin-bottom: 35px !important; } }

.remess_part01 {
  background: url("override/src/images/recruit/message/bg-message-pt01.jpg") center/cover no-repeat;
  position: relative; }
  .remess_part01::before {
    background: linear-gradient(to bottom, #284684 0%, rgba(40, 70, 132, 0.7) 100%);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  @media (min-width: 1030px) {
    .remess_part01 {
      background-attachment: fixed; } }

.remess_part01_wrap {
  padding-bottom: 110px;
  padding-top: 110px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  color: #fff;
  position: relative;
  z-index: 1; }
  @media (max-width: 767px) {
    .remess_part01_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
  @media (min-width: 768px), print {
    .remess_part01_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .remess_part01_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .remess_part01_wrap {
      padding-left: 15px;
      padding-right: 15px; } }

.remess_part01_ttl {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 55px; }
  @media (max-width: 767px) {
    .remess_part01_ttl {
      font-size: 2.2rem;
      margin-bottom: 35px; } }

.remess_part01_txt {
  font-size: 1.8rem;
  line-height: 2;
  margin-bottom: 55px; }
  .remess_part01_txt strong {
    color: #c1ad5f;
    font-size: 3rem;
    font-weight: 700; }
  .remess_part01_txt:last-child {
    margin-bottom: 0; }
  @media (max-width: 767px) {
    .remess_part01_txt {
      font-size: 1.6rem;
      margin-bottom: 35px; }
      .remess_part01_txt strong {
        font-size: 2.2rem; } }

.remess_part02 {
  background: url("override/src/images/recruit/message/bg-message-pt02.jpg") center/cover no-repeat; }
  @media (min-width: 1030px) {
    .remess_part02 {
      background-attachment: fixed; } }

.remess_part02_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  display: flex;
  justify-content: space-between; }
  @media (min-width: 768px), print {
    .remess_part02_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .remess_part02_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .remess_part02_wrap {
      padding-left: 15px;
      padding-right: 15px; } }

.is-layout-flow .remess_part02_txt {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 45px;
  line-height: 2; }
  .is-layout-flow .remess_part02_txt strong {
    color: #284684;
    font-size: 2.6rem; }
  @media (max-width: 767px) {
    .is-layout-flow .remess_part02_txt {
      font-size: 1.7rem;
      margin-bottom: 30px; }
      .is-layout-flow .remess_part02_txt strong {
        font-size: 2rem; } }

.remess_part02_img {
  align-self: flex-end;
  width: 32.6%; }

.remess_part02_cont {
  padding-bottom: 110px;
  padding-top: 110px;
  width: 62.5%; }
  @media (max-width: 767px) {
    .remess_part02_cont {
      padding-bottom: 70px;
      padding-top: 70px; } }

.remess_part02_sign {
  margin-left: auto;
  margin-right: auto;
  width: 300px; }
  .remess_part02_sign::before {
    background: #000;
    content: "";
    display: block;
    height: 1px;
    margin: 0 auto 30px;
    width: 100px; }
  @media (max-width: 767px) {
    .remess_part02_sign {
      max-width: 200px; }
      .remess_part02_sign::before {
        width: 80px;
        margin-bottom: 30px; } }

.no-pd-bottom {
  padding-bottom: 0 !important; }

/*BUSINESS*/
.rebusiness_list {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px; }
  @media (min-width: 768px), print {
    .rebusiness_list {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .rebusiness_list {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .rebusiness_list {
      padding-left: 15px;
      padding-right: 15px; } }

.rebusiness_lst_wrap {
  counter-reset: section; }
  .rebusiness_lst_wrap .re_about_top {
    margin-top: 140px; }
    .rebusiness_lst_wrap .re_about_top:first-child {
      margin-top: 0; }
    .rebusiness_lst_wrap .re_about_top:nth-child(even) {
      flex-direction: row-reverse; }
      .rebusiness_lst_wrap .re_about_top:nth-child(even) .re_about_top_img::before {
        left: auto;
        right: -25px; }
        @media (max-width: 767px) {
          .rebusiness_lst_wrap .re_about_top:nth-child(even) .re_about_top_img::before {
            right: -10px; } }
    .rebusiness_lst_wrap .re_about_top .re_cmn_ttl {
      margin-bottom: 35px;
      position: relative;
      z-index: 1; }
      .rebusiness_lst_wrap .re_about_top .re_cmn_ttl strong {
        font-family: "Zen Old Mincho", serif;
        font-size: 5rem;
        font-weight: 700; }
    @media (max-width: 767px) {
      .rebusiness_lst_wrap .re_about_top {
        margin-top: 80px; }
        .rebusiness_lst_wrap .re_about_top .re_cmn_ttl {
          margin-bottom: 20px; }
          .rebusiness_lst_wrap .re_about_top .re_cmn_ttl strong {
            font-size: 3rem; } }
  .rebusiness_lst_wrap .re_about_top_img {
    height: 400px; }
    @media (max-width: 767px) {
      .rebusiness_lst_wrap .re_about_top_img {
        height: 250px; } }
  .rebusiness_lst_wrap .re_about_top_cont {
    padding-top: 40px;
    position: relative; }
    .rebusiness_lst_wrap .re_about_top_cont::before {
      counter-increment: section;
      content: "0" counter(section);
      color: #f2f4f5;
      font-family: "Zen Old Mincho", serif;
      font-size: 10rem;
      left: -27px;
      line-height: 1.1;
      position: absolute;
      top: -20px; }
    @media (max-width: 767px) {
      .rebusiness_lst_wrap .re_about_top_cont {
        padding-top: 30px; }
        .rebusiness_lst_wrap .re_about_top_cont::before {
          font-size: 6rem;
          left: -10px; }
        .rebusiness_lst_wrap .re_about_top_cont .re_about_top_btn {
          margin: 0 auto; } }

/*BUSINESS*/
.rewhat {
  padding-bottom: 100px; }
  .rewhat::before {
    height: 35px; }
  @media (max-width: 767px) {
    .rewhat {
      padding-bottom: 70px; } }

.rewhat_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  position: relative;
  z-index: 1; }
  @media (min-width: 768px), print {
    .rewhat_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .rewhat_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .rewhat_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  .rewhat_wrap .re_cmn_ttl {
    text-align: center; }
    .rewhat_wrap .re_cmn_ttl strong {
      line-height: 1.1; }

.rewhat_box {
  margin-bottom: 100px; }
  .rewhat_box:last-child {
    margin-bottom: 0; }
  @media (max-width: 767px) {
    .rewhat_box {
      margin-bottom: 70px; } }

.rewhat_box_quote {
  color: #c1ad5f;
  font-family: "Zen Old Mincho", serif;
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 70px;
  position: relative; }
  @media (max-width: 767px) {
    .rewhat_box_quote {
      font-size: 2.2rem;
      margin-bottom: 45px;
      padding: 15px 0 0 44px; }
      .rewhat_box_quote::before {
        height: 30px;
        top: 0;
        width: 40px; } }

@media (min-width: 768px), print {
  .is-layout-flow .rewhat_box_cont {
    display: flex;
    justify-content: space-between !important;
    margin-bottom: 80px; }
    .is-layout-flow .rewhat_box_cont:last-child {
      margin-bottom: 0; }
    .is-layout-flow .rewhat_box_cont:nth-child(odd) .rewhat_box_img {
      margin-right: calc((100vw - 1120px)/2*(-1)); }
    .is-layout-flow .rewhat_box_cont:nth-child(even) .rewhat_box_img {
      margin-left: calc((100vw - 1120px)/2*(-1)); } }
  @media (min-width: 768px) and (max-width: 1220px), print and (max-width: 1220px) {
    .is-layout-flow .rewhat_box_cont:nth-child(odd) .rewhat_box_img {
      margin-right: -50px; }
    .is-layout-flow .rewhat_box_cont:nth-child(even) .rewhat_box_img {
      margin-left: -50px; } }
  @media (min-width: 768px) and (max-width: 1023px), print and (max-width: 1023px) {
    .is-layout-flow .rewhat_box_cont:nth-child(odd) .rewhat_box_img {
      margin-right: -30px; }
    .is-layout-flow .rewhat_box_cont:nth-child(even) .rewhat_box_img {
      margin-left: -30px; } }

@media (max-width: 767px) {
  .is-layout-flow .rewhat_box_cont {
    margin-bottom: 60px; }
    .is-layout-flow .rewhat_box_cont:last-child {
      margin-bottom: 0; } }

.rewhat_box_txt strong {
  font-size: 2rem; }
@media (min-width: 768px), print {
  .rewhat_box_txt {
    width: 50%; } }
@media (max-width: 767px) {
  .rewhat_box_txt strong {
    font-size: 1.7rem; } }

@media (min-width: 768px), print {
  .rewhat_box_img {
    width: calc(46.43% + (100vw - 1120px)/2); } }
  @media (min-width: 768px) and (max-width: 1220px), print and (max-width: 1220px) {
    .rewhat_box_img {
      width: calc(46.43% + 50px); } }
  @media (min-width: 768px) and (max-width: 1023px), print and (max-width: 1023px) {
    .rewhat_box_img {
      width: calc(46.43% + 30px); } }

@media (max-width: 767px) {
  .rewhat_box_img {
    margin-bottom: 25px; } }

.rebusiness_related {
  padding-top: 100px; }
  .rebusiness_related .re_cmn_ttl {
    text-align: center; }
  @media (max-width: 767px) {
    .rebusiness_related {
      padding-top: 70px; } }

.rebusiness_related_wrap, .serdetail_nav {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px; }
  @media (min-width: 768px), print {
    .rebusiness_related_wrap, .serdetail_nav {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .rebusiness_related_wrap, .serdetail_nav {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .rebusiness_related_wrap, .serdetail_nav {
      padding-left: 15px;
      padding-right: 15px; } }

.no-mg-bottom {
  margin-bottom: 0 !important; }

.serdetail {
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (max-width: 767px) {
    .serdetail {
      padding-bottom: 70px;
      padding-top: 70px; } }

.serdetail_nav .re_cmn_ttl {
  text-align: center; }
.serdetail_nav .business_nav li a::before {
  transform: rotate(-90deg); }

/*DETAIL*/
.redetail_box {
  margin-bottom: 100px !important;
  position: relative; }
  .redetail_box:last-child {
    margin-bottom: 0 !important; }
  .redetail_box::before {
    background: #f2f4f5;
    content: "";
    height: calc(100% - 180px);
    position: absolute;
    right: 0;
    top: 100px;
    width: 100%; }
  .redetail_box:nth-child(odd) .redetail_box_img {
    align-self: flex-end; }
  .redetail_box:nth-child(odd) .redetail_box_cont {
    align-self: flex-start;
    margin-right: 0 !important;
    margin-left: 130px; }
    @media (max-width: 1220px) {
      .redetail_box:nth-child(odd) .redetail_box_cont {
        margin-left: 50px; } }
    @media (max-width: 1023px) {
      .redetail_box:nth-child(odd) .redetail_box_cont {
        margin-left: 30px; } }
    @media (max-width: 767px) {
      .redetail_box:nth-child(odd) .redetail_box_cont {
        margin-left: 15px; } }
  @media (max-width: 767px) {
    .redetail_box {
      margin-bottom: 70px !important; } }

.redetail_box_in {
  display: flex;
  flex-direction: column;
  gap: 0 !important;
  position: relative;
  z-index: 1; }
  .redetail_box_in .sdgs_ttl {
    margin-bottom: 25px; }
  @media (max-width: 767px) {
    .redetail_box_in .sdgs_ttl {
      margin-bottom: 15px; } }

.redetail_box_img {
  align-self: flex-start;
  height: 400px;
  width: 71.43%; }
  @media (max-width: 767px) {
    .redetail_box_img {
      height: 300px;
      width: calc(100% - 30px); } }

.redetail_box_cont {
  align-self: flex-end;
  background: #fff;
  margin-top: -200px !important;
  margin-right: 130px;
  padding: 60px;
  width: 71.43%; }
  @media (max-width: 1220px) {
    .redetail_box_cont {
      margin-right: 50px; } }
  @media (max-width: 1023px) {
    .redetail_box_cont {
      margin-right: 30px; } }
  @media (max-width: 767px) {
    .redetail_box_cont {
      margin-right: 15px;
      margin-top: -150px !important;
      padding: 30px 20px;
      width: calc(100% - 30px); } }

.redetail_box_subttl {
  color: #284684;
  font-family: "Zen Old Mincho", serif;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 30px; }
  @media (max-width: 767px) {
    .redetail_box_subttl {
      font-size: 1.7rem;
      margin-bottom: 20px; } }

.redetail_box_txt {
  line-height: 1.75; }

/*DATA*/
.redata {
  padding-bottom: 110px;
  padding-top: 110px;
  background: #f2f4f5; }
  @media (max-width: 767px) {
    .redata {
      padding-bottom: 70px;
      padding-top: 70px; } }

.redata_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px; }
  @media (min-width: 768px), print {
    .redata_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .redata_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .redata_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  .redata_wrap .redata_intro {
    font-size: 2.4rem;
    line-height: 1.75;
    margin-bottom: 60px;
    text-align: center; }
    @media (max-width: 767px) {
      .redata_wrap .redata_intro {
        font-size: 2rem;
        margin-bottom: 30px; } }

.redata_lst {
  display: flex;
  flex-wrap: wrap;
  gap: 0 !important; }

.redata_box {
  align-items: center;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0 !important;
  margin-left: 20px;
  margin-top: 20px !important;
  padding: 45px 35px;
  text-align: center;
  width: calc((100% - 60px)/3); }
  .redata_box.redata_box_lg {
    width: calc((100% - 60px)/3*2 + 20px); }
    .redata_box.redata_box_lg .redata_box_data {
      font-size: 4rem; }
      .redata_box.redata_box_lg .redata_box_data strong {
        font-size: 8rem; }
  .redata_box .redata_box_img {
    margin: auto auto !important;
    padding: 30px 0 20px !important;
    text-align: center;
    width: 100%; }
    .redata_box .redata_box_img img {
      height: auto;
      max-height: 200px;
      width: auto; }
    @media (max-width: 767px) {
      .redata_box .redata_box_img {
        width: auto; } }
  @media (min-width: 768px), print {
    .redata_box.redata_box_lg02 {
      padding: 45px 60px; } }
  @media (max-width: 1023px) {
    .redata_box {
      margin-left: 15px;
      margin-top: 15px !important;
      padding: 35px 20px;
      width: calc(50% - 15px); }
      .redata_box.redata_box_lg02 {
        padding: 45px 10px; }
      .redata_box.redata_box_lg {
        width: calc(50% - 15px); }
        .redata_box.redata_box_lg .redata_box_data {
          font-size: 3rem; }
          .redata_box.redata_box_lg .redata_box_data strong {
            font-size: 5rem; } }
  @media (max-width: 767px) {
    .redata_box {
      padding: 25px 15px;
      width: 100%; }
      .redata_box.redata_box_lg {
        width: 100%; } }
  .redata_box .redata_box_ttl {
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: auto;
    margin-top: 0 !important; }
    .redata_box .redata_box_ttl em {
      color: #999;
      display: block;
      font-size: 1.6rem;
      font-style: normal;
      font-weight: 400; }
    @media (max-width: 1023px) {
      .redata_box .redata_box_ttl {
        font-size: 3rem; } }
    @media (max-width: 767px) {
      .redata_box .redata_box_ttl {
        font-size: 2.4rem;
        margin-bottom: 0; } }
  .redata_box .redata_box_data {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
    margin-top: 5px !important; }
    .redata_box .redata_box_data strong {
      font-size: 6rem; }
    .redata_box .redata_box_data.datablue strong {
      color: #284684; }
    .redata_box .redata_box_data.datared strong {
      color: #c91d1d; }
    @media (max-width: 1023px) {
      .redata_box .redata_box_data {
        font-size: 2.4rem; }
        .redata_box .redata_box_data strong {
          font-size: 5rem; } }
    @media (max-width: 767px) {
      .redata_box .redata_box_data {
        font-size: 2rem; }
        .redata_box .redata_box_data strong {
          font-size: 4rem; } }
  .redata_box .redata_box_data_lst {
    display: flex;
    justify-content: space-between;
    margin-top: auto;
    position: relative;
    width: 100%; }
    .redata_box .redata_box_data_lst::before {
      bottom: 10px;
      content: ":";
      font-size: 2.4rem;
      font-weight: 700;
      left: calc(50% - 2px);
      position: absolute; }
    .redata_box .redata_box_data_lst.noten::before {
      display: none; }
    @media (max-width: 767px) {
      .redata_box .redata_box_data_lst::before {
        bottom: 5px; } }

.extranote {
  font-size: 1.8rem;
  font-weight: 700;
  margin-top: 5px !important;
  margin-bottom: -30px;
  text-align: right;
  width: 100%; }
  @media (max-width: 767px) {
    .extranote {
      font-size: 1.6rem;
      margin-bottom: -10px; } }

.redata_box_data_col {
  text-align: center;
  width: 50%; }
  .redata_box_data_col .redata_box_data {
    font-size: 2.4rem; }
    .redata_box_data_col .redata_box_data strong {
      font-size: 5rem; }
    @media (max-width: 1023px) {
      .redata_box_data_col .redata_box_data {
        font-size: 2rem; }
        .redata_box_data_col .redata_box_data strong {
          font-size: 5rem; } }
    @media (max-width: 767px) {
      .redata_box_data_col .redata_box_data {
        font-size: 1.6rem; }
        .redata_box_data_col .redata_box_data strong {
          font-size: 4rem; } }

.redata_box_data_col_ttl {
  font-size: 2.4rem;
  font-weight: 700; }
  @media (max-width: 1023px) {
    .redata_box_data_col_ttl {
      font-size: 2rem; } }

#myPieChart_industry {
  padding-top: 20px !important;
  margin-top: auto !important;
  margin-bottom: auto !important; }

/*Education*/
.re_edu {
  padding-bottom: 110px;
  padding-top: 110px;
  background: #f2f4f5; }
  @media (max-width: 767px) {
    .re_edu {
      padding-bottom: 70px;
      padding-top: 70px; } }

.re_edu_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px; }
  @media (min-width: 768px), print {
    .re_edu_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_edu_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_edu_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  .re_edu_wrap .re_cmn_ttl {
    text-align: center; }

.re_edu_box {
  margin-top: 0 !important;
  margin-bottom: 140px !important; }
  .re_edu_box:last-child {
    margin-bottom: 0 !important; }
  .re_edu_box .re_about_top_img {
    height: auto !important;
    position: relative; }
  .re_edu_box .re_about_top_cont::before {
    display: none; }
  .re_edu_box .re_about_top_cont .re_cmn_ttl {
    text-align: left; }
    .re_edu_box .re_about_top_cont .re_cmn_ttl strong {
      line-height: 1.4; }
  .re_edu_box .re_about_top_cont .re_about_top_txt:last-child {
    margin-bottom: 0 !important; }
  @media (max-width: 767px) {
    .re_edu_box {
      margin-bottom: 70px !important; }
      .re_edu_box .re_cmn_ttl {
        margin-bottom: 15px !important; }
      .re_edu_box .re_about_top_img {
        margin-bottom: 0 !important; } }

.re_edu_box_time {
  align-items: center;
  background: #c1ad5f;
  border-radius: 100%;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  font-family: "Zen Old Mincho", serif;
  font-size: 4rem;
  font-weight: 700;
  height: 110px;
  left: -33px;
  line-height: 1.3;
  justify-content: center;
  margin-top: 0 !important;
  position: absolute !important;
  top: -33px;
  text-align: center;
  width: 110px;
  z-index: 2; }
  .re_edu_box_time strong {
    display: block;
    font-size: 1.6rem;
    margin-bottom: auto;
    margin-top: -18px;
    text-align: center;
    width: 100%; }
  .re_edu_box_time em {
    font-size: 2rem;
    font-style: normal; }
  @media (max-width: 767px) {
    .re_edu_box_time {
      font-size: 2.6rem;
      height: 70px;
      left: -12px;
      width: 70px; }
      .re_edu_box_time strong {
        font-size: 1.5rem;
        margin-top: -12px; }
      .re_edu_box_time em {
        font-size: 1.6rem; } }

.re_train_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (min-width: 768px), print {
    .re_train_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_train_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_train_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .re_train_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
  .re_train_wrap .re_cmn_ttl {
    text-align: center; }
    .re_train_wrap .re_cmn_ttl strong {
      margin-bottom: 12px; }

.re_train_btn {
  max-width: 360px;
  margin: 0 auto !important; }
  .re_train_btn a {
    height: 70px; }

/*WELFARE*/
.rebusiness_related .re_welfare {
  padding-bottom: 110px;
  padding-top: 110px;
  background: #f2f4f5;
  margin-bottom: 110px; }
  @media (max-width: 767px) {
    .rebusiness_related .re_welfare {
      padding-bottom: 70px;
      padding-top: 70px; } }
  @media (max-width: 767px) {
    .rebusiness_related .re_welfare {
      margin-bottom: 70px; } }

.re_welfare_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  display: flex;
  flex-wrap: wrap;
  margin-top: -75px !important; }
  @media (min-width: 768px), print {
    .re_welfare_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_welfare_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_welfare_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 1023px) {
    .re_welfare_wrap {
      margin-top: -50px !important;
      justify-content: space-around; } }
  @media (max-width: 767px) {
    .re_welfare_wrap {
      margin-top: -40px !important; } }

.re_welfare_box {
  margin: 75px 15px 0 !important;
  text-align: center;
  width: calc(33.33% - 42px); }
  @media (max-width: 1023px) {
    .re_welfare_box {
      margin-top: 50px !important;
      width: calc(50% - 42px); } }
  @media (max-width: 767px) {
    .re_welfare_box {
      align-items: center;
      display: flex;
      margin: 20px 0 0 !important;
      padding: 0;
      width: 100%; }
      .re_welfare_box:first-child {
        margin-top: 50px !important; } }
  .re_welfare_box .re_welfare_box_img {
    align-items: center;
    background: #fff;
    border-radius: 100%;
    display: flex;
    height: 170px;
    justify-content: center;
    margin: 0 auto 20px;
    max-width: 170px;
    width: 100%; }
    @media (max-width: 767px) {
      .re_welfare_box .re_welfare_box_img {
        height: 130px;
        margin: 0;
        width: 130px; }
        .re_welfare_box .re_welfare_box_img img {
          height: auto;
          max-width: 100px; } }

@media (max-width: 767px) {
  .re_welfare_box_in {
    text-align: left;
    width: calc(100% - 150px); }
    .re_welfare_box_in br {
      display: none; } }

.re_welfare_box_ttl {
  color: #c1ad5f;
  font-family: "Zen Old Mincho", serif;
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 20px; }
  @media (max-width: 767px) {
    .re_welfare_box_ttl {
      font-size: 2rem;
      margin-bottom: 15px; } }

.re_compa_ft {
  position: relative; }

.re_compa_ft_img {
  height: 700px; }
  @media (max-width: 1023px) {
    .re_compa_ft_img {
      height: 500px; } }
  @media (max-width: 767px) {
    .re_compa_ft_img {
      height: 300px; } }

.re_compa_ft_ttl {
  background: rgba(255, 255, 255, 0.9);
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  max-width: 570px;
  padding: 70px;
  width: calc(100% - 15px); }
  .re_compa_ft_ttl::before {
    background: #c1ad5f;
    content: "";
    display: block;
    height: 5px;
    margin-bottom: 30px;
    width: 120px; }
  .re_compa_ft_ttl .re_compa_ft_pos {
    color: #555;
    display: block;
    font-size: 2.4rem;
    margin-bottom: 10px; }
  .re_compa_ft_ttl .re_compa_ft_quote {
    font-size: 5rem;
    line-height: 1.3; }
  @media (min-width: 768px), print {
    .re_compa_ft_ttl {
      bottom: 0;
      left: 0;
      position: absolute; } }
  @media (max-width: 1023px) {
    .re_compa_ft_ttl {
      padding: 30px; }
      .re_compa_ft_ttl .re_compa_ft_pos {
        font-size: 2rem; }
      .re_compa_ft_ttl .re_compa_ft_quote {
        font-size: 3.6rem; } }
  @media (max-width: 767px) {
    .re_compa_ft_ttl {
      padding: 60px 15px 50px; }
      .re_compa_ft_ttl::before {
        height: 3px;
        margin-bottom: 15px;
        width: 100px; }
      .re_compa_ft_ttl .re_compa_ft_pos {
        font-size: 1.8rem;
        margin-bottom: 5px; }
      .re_compa_ft_ttl .re_compa_ft_quote {
        font-size: 3rem; } }

.re_bread {
  background: #f2f4f5; }

.re_bread_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding: 15px 0;
  text-align: right; }
  @media (min-width: 768px), print {
    .re_bread_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_bread_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_bread_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  .re_bread_wrap a span {
    color: #000 !important; }
    .re_bread_wrap a span:hover {
      color: #c1ad5f !important; }
  .re_bread_wrap .home::before {
    background: url("override/src/images/common/ico-home-black.svg") center/contain no-repeat; }

.re_compa_edu {
  background: #284684;
  color: #fff; }

.re_compa_edu_in {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 45px;
  padding-top: 45px; }
  @media (min-width: 768px), print {
    .re_compa_edu_in {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_compa_edu_in {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_compa_edu_in {
      padding-left: 15px;
      padding-right: 15px; } }
  .re_compa_edu_in dt {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px; }
  @media (max-width: 767px) {
    .re_compa_edu_in {
      padding: 30px 15px; }
      .re_compa_edu_in dt {
        font-size: 1.7rem; } }

.re_compa_thought, .re_compa_interview {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px; }
  @media (min-width: 768px), print {
    .re_compa_thought, .re_compa_interview {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_compa_thought, .re_compa_interview {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_compa_thought, .re_compa_interview {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .re_compa_thought, .re_compa_interview {
      padding-bottom: 70px; } }

.re_compa_thought_lst {
  padding-left: 70px; }
  .re_compa_thought_lst dt {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 25px;
    position: relative; }
    .re_compa_thought_lst dt::before {
      background: #000;
      content: "";
      height: 1px;
      left: -70px;
      position: absolute;
      top: 22px;
      width: 50px; }
  @media (max-width: 767px) {
    .re_compa_thought_lst {
      padding-left: 40px; }
      .re_compa_thought_lst dt {
        font-size: 2.4rem;
        margin-bottom: 15px; }
        .re_compa_thought_lst dt::before {
          left: -40px;
          top: 17px;
          width: 30px; } }

@media (min-width: 768px), print {
  .re_compa_interview_lst {
    padding-left: 70px; } }

.re_compa_interview_box {
  background: #f2f4f5;
  margin-top: 20px;
  padding: 25px 30px 30px;
  position: relative; }
  .re_compa_interview_box:first-child {
    margin-top: 0; }
  .re_compa_interview_box::before {
    content: "Q";
    color: #fff;
    font-family: "Cormorant Garamond", serif;
    font-size: 5rem;
    font-weight: 700;
    left: 12px;
    line-height: 1.3;
    position: absolute;
    pointer-events: none;
    top: 3px; }
  .re_compa_interview_box dt {
    color: #c1ad5f;
    font-weight: 700;
    margin-bottom: 10px;
    position: relative;
    z-index: 1; }
  @media (max-width: 767px) {
    .re_compa_interview_box {
      margin-top: 15px;
      padding: 20px 15px; }
      .re_compa_interview_box::before {
        font-size: 4rem;
        left: 5px; } }

.re_compa_imglst {
  align-items: flex-start;
  display: flex;
  justify-content: center;
  padding-bottom: 110px; }
  .re_compa_imglst li {
    height: 300px;
    margin-left: 20px;
    width: calc(50% - 10px); }
    .re_compa_imglst li:first-child {
      margin-left: 0; }
    .re_compa_imglst li:nth-child(2) {
      margin-top: 70px; }
  @media (max-width: 767px) {
    .re_compa_imglst {
      display: block;
      padding-bottom: 70px; }
      .re_compa_imglst li {
        height: 200px;
        margin-left: 0;
        width: calc(100% - 15px); }
        .re_compa_imglst li:nth-child(2) {
          margin-top: 15px;
          margin-left: 15px; } }

.re_compa_flow {
  background: #f2f4f5; }

.re_compa_flow_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (min-width: 768px), print {
    .re_compa_flow_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_compa_flow_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_compa_flow_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .re_compa_flow_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }

@media (min-width: 768px), print {
  .re_compa_flow_lst {
    padding-left: 70px; } }

.re_compa_flow_box {
  background: #fff;
  margin-bottom: 20px;
  padding: 30px; }
  @media (min-width: 768px), print {
    .re_compa_flow_box {
      display: flex; } }
  @media (max-width: 767px) {
    .re_compa_flow_box {
      margin-bottom: 15px;
      padding: 15px; } }
  .re_compa_flow_box dt {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.3;
    padding-left: 40px;
    position: relative; }
    @media (min-width: 768px), print {
      .re_compa_flow_box dt {
        flex: 0 0 auto;
        width: 13%; } }
    @media (min-width: 767px) and (max-width: 1023px) {
      .re_compa_flow_box dt {
        width: 18%; } }
    @media (max-width: 767px) {
      .re_compa_flow_box dt {
        font-size: 2rem;
        margin-bottom: 10px;
        padding-left: 30px; } }
    .re_compa_flow_box dt::before {
      background: url("override/src/images/recruit/companion/ico-time.svg") center/cover no-repeat;
      content: "";
      height: 26px;
      left: 0;
      position: absolute;
      top: 5px;
      width: 26px; }
      @media (max-width: 767px) {
        .re_compa_flow_box dt::before {
          height: 20px;
          top: 4px;
          width: 20px; } }
  .re_compa_flow_box:first-child, .re_compa_flow_box:last-child {
    background: #e2d5a2; }

.re_compa_flow_ttl {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 10px; }
  @media (max-width: 767px) {
    .re_compa_flow_ttl {
      font-size: 1.7rem;
      margin-bottom: 5px; } }

.re_compa_career {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative; }
  @media (min-width: 768px), print {
    .re_compa_career {
      background-attachment: fixed; } }
  .re_compa_career::before {
    background-color: rgba(0, 0, 0, 0.6);
    bottom: 0;
    content: "";
    left: 0;
    right: 0;
    position: absolute;
    top: 0; }
  .re_compa_career .re_cmn_ttl {
    color: #fff; }

.re_compa_career_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px;
  position: relative; }
  @media (min-width: 768px), print {
    .re_compa_career_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_compa_career_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_compa_career_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .re_compa_career_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }

@media (min-width: 768px), print {
  .re_compa_carrer_lst {
    padding-left: 70px; } }

.re_compa_carrer_box {
  align-items: center;
  color: #fff;
  display: flex;
  font-weight: bold;
  gap: 30px;
  margin-bottom: 40px; }
  @media (min-width: 768px), print {
    .re_compa_carrer_box {
      font-size: 2rem; } }
  @media (max-width: 767px) {
    .re_compa_carrer_box {
      gap: 15px;
      margin-bottom: 20px; } }
  .re_compa_carrer_box dt {
    background: #284684;
    border: 1px solid #fff;
    border-radius: 45px;
    flex: 0 0 auto;
    line-height: 90px;
    text-align: center;
    width: 90px;
    position: relative; }
    @media (max-width: 767px) {
      .re_compa_carrer_box dt {
        border-radius: 30px;
        line-height: 60px;
        width: 60px; } }
  .re_compa_carrer_box:nth-child(n+2) dt::before {
    background: #fff;
    content: "";
    display: block;
    height: 40px;
    left: 44px;
    position: absolute;
    top: -41px;
    width: 1px; }
    @media (max-width: 767px) {
      .re_compa_carrer_box:nth-child(n+2) dt::before {
        height: 20px;
        left: 29px;
        top: -21px; } }
  .re_compa_carrer_box:last-child dt {
    background: #c1ad5f; }

.re_compa_message {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (min-width: 768px), print {
    .re_compa_message {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_compa_message {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_compa_message {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .re_compa_message {
      padding-bottom: 70px;
      padding-top: 70px; } }

@media (min-width: 768px), print {
  .re_compa_message_cont {
    padding-left: 70px; } }

.re_compa_back {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px; }
  @media (min-width: 768px), print {
    .re_compa_back {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_compa_back {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_compa_back {
      padding-left: 15px;
      padding-right: 15px; } }

.re_compa_back_in {
  border-top: 1px solid #ddd;
  padding-top: 50px; }
  @media (max-width: 767px) {
    .re_compa_back_in {
      padding-top: 30px; } }

.re_compa_back_btn {
  max-width: 300px;
  margin: 0 auto; }
  .re_compa_back_btn a {
    height: 70px; }
  @media (max-width: 767px) {
    .re_compa_back_btn a {
      height: 56px; } }

.re_compa_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px;
  display: flex;
  flex-wrap: wrap; }
  @media (min-width: 768px), print {
    .re_compa_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .re_compa_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .re_compa_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .re_compa_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }

.re_compa_box {
  margin-left: 2.63%; }
  @media (min-width: 768px), print {
    .re_compa_box {
      margin-top: 55px;
      width: 31.58%; }
      .re_compa_box:nth-child(-n + 3) {
        margin-top: 0; }
      .re_compa_box:nth-child(3n + 1) {
        margin-left: 0; } }
  @media (max-width: 1023px) {
    .re_compa_box {
      margin-top: 40px;
      width: 48%; }
      .re_compa_box:nth-child(-n + 2) {
        margin-top: 0; }
      .re_compa_box:nth-child(2n + 1) {
        margin-left: 0; } }
  @media (max-width: 767px) {
    .re_compa_box {
      margin-top: 30px !important;
      margin-left: 0 !important;
      width: 100%; }
      .re_compa_box:first-child {
        margin-top: 0 !important; } }
  .re_compa_box:hover .re_compa_box_img img {
    transform: scale(1.1, 1.1); }

.re_compa_box_img {
  height: 360px;
  margin-bottom: 20px;
  overflow: hidden; }
  .re_compa_box_img img {
    transition: 0.3s all ease-in-out; }

.re_compa_box_pos {
  margin-bottom: 10px; }
  .re_compa_box_pos a {
    color: #555;
    display: block;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700; }

.re_compa_box_ttl {
  font-family: "Zen Old Mincho", serif;
  font-size: 2rem;
  font-weight: 700; }
  @media (max-width: 767px) {
    .re_compa_box_ttl {
      font-size: 1.7rem; } }

/*RECRUIT DETAIL*/
.is-layout-flow .rede_introtxt {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  font-weight: 400;
  margin-bottom: 110px;
  text-align: center; }
  @media (min-width: 768px), print {
    .is-layout-flow .rede_introtxt {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .is-layout-flow .rede_introtxt {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .is-layout-flow .rede_introtxt {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .is-layout-flow .rede_introtxt {
      margin-bottom: 70px; } }

.rede_lst {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px; }
  @media (min-width: 768px), print {
    .rede_lst {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .rede_lst {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .rede_lst {
      padding-left: 15px;
      padding-right: 15px; } }

.rede_box .re_about_top_btn {
  max-width: 400px; }
@media (min-width: 768px), print {
  .rede_box {
    align-items: center !important; }
    .rede_box:nth-child(odd) {
      flex-direction: row; }
      .rede_box:nth-child(odd) .rewhat_box_img {
        margin-left: calc((100vw - 1120px)/2*(-1));
        margin-right: 0; }
    .rede_box:nth-child(even) {
      flex-direction: row-reverse; }
      .rede_box:nth-child(even) .rewhat_box_img {
        margin-right: calc((100vw - 1120px)/2*(-1));
        margin-left: 0; }
    .rede_box .re_about_top_cont {
      margin: 0;
      width: 42%; } }
    @media (min-width: 768px) and (min-width: 767px) and (max-width: 1023px), print and (min-width: 767px) and (max-width: 1023px) {
      .rede_box .re_about_top_cont .re_cmn_ttl strong {
        font-size: 6rem; } }
@media (min-width: 768px), print {
    .rede_box .rewhat_box_img {
      height: 600px;
      width: calc(50% + (100vw - 1120px)/2); } }
@media (max-width: 1240px) {
  .rede_box .rewhat_box_img {
    width: calc(50% + 50px); }
  .rede_box:nth-child(odd) .rewhat_box_img {
    margin-left: -50px;
    margin-right: 0; }
  .rede_box:nth-child(even) .rewhat_box_img {
    margin-right: -50px;
    margin-left: 0; } }
@media (max-width: 1023px) {
  .rede_box .rewhat_box_img {
    width: calc(50% + 30px); }
  .rede_box:nth-child(odd) .rewhat_box_img {
    margin-left: -30px;
    margin-right: 0; }
  .rede_box:nth-child(even) .rewhat_box_img {
    margin-right: -30px;
    margin-left: 0; } }
@media (max-width: 767px) {
  .rede_box .rewhat_box_img {
    height: 400px;
    margin: 0 0 30px !important;
    width: 100%; }
  .rede_box .re_about_top_btn {
    margin: 0 auto; } }

/*RECRUIT ENTRY*/
.rede_entry_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px;
  max-width: 1100px; }
  @media (min-width: 768px), print {
    .rede_entry_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .rede_entry_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .rede_entry_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .rede_entry_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
  .rede_entry_wrap .birthday {
    border: 1px solid #ccc; }

.rede_entry_introtxt {
  text-align: center; }

.redein_mess {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 80px; }
  @media (min-width: 768px), print {
    .redein_mess {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .redein_mess {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .redein_mess {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .redein_mess {
      padding-bottom: 70px;
      padding-top: 50px; } }
  .redein_mess .rede_box .re_cmn_ttl {
    color: #c1ad5f; }
    .redein_mess .rede_box .re_cmn_ttl strong {
      color: #000;
      margin-bottom: 10px; }
  @media (min-width: 768px), print {
    .redein_mess .rede_box {
      align-items: flex-start;
      flex-direction: row-reverse; }
      .redein_mess .rede_box .rewhat_box_img {
        height: 600px;
        margin-right: calc((100vw - 1120px)/2*(-1));
        margin-left: 0;
        width: calc(59% + (100vw - 1120px)/2); }
      .redein_mess .rede_box .re_about_top_cont {
        margin-right: -24%;
        width: 62.4%; }
      .redein_mess .rede_box .re_about_top_txt {
        font-size: 2rem; } }
  @media (max-width: 1240px) {
    .redein_mess .rede_box .rewhat_box_img {
      margin-right: -50px;
      margin-left: 0;
      width: calc(59% + 50px); } }
  @media (max-width: 1023px) {
    .redein_mess .rede_box .rewhat_box_img {
      margin-right: -30px;
      margin-left: 0;
      width: calc(59% + 30px); } }
  @media (max-width: 767px) {
    .redein_mess .rede_box .rewhat_box_img {
      height: 400px;
      margin: 0 0 30px !important;
      width: 100%; }
    .redein_mess .rede_box .re_about_top_txt {
      font-size: 1.7rem; } }

.rede_ptime_position {
  margin-bottom: 110px;
  padding-bottom: 110px;
  padding-top: 80px;
  position: relative; }
  .rede_ptime_position::before {
    background: #f2f4f5;
    content: "";
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 85.7%; }
  .rede_ptime_position .re_cmn_ttl {
    text-align: center; }

.rede_ptime_position_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  position: relative;
  z-index: 1; }
  @media (min-width: 768px), print {
    .rede_ptime_position_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .rede_ptime_position_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .rede_ptime_position_wrap {
      padding-left: 15px;
      padding-right: 15px; } }

.rede_ptime_position_lst {
  display: flex;
  flex-wrap: wrap; }
  .rede_ptime_position_lst li {
    margin-left: 30px;
    margin-top: 30px; }
    .rede_ptime_position_lst li a {
      align-items: center;
      background: #fff;
      border: 1px solid #c1ad5f;
      box-shadow: 3px 0 8px rgba(0, 0, 0, 0.15);
      color: #000;
      display: flex;
      font-size: 2rem;
      height: 80px;
      line-height: 1.5;
      padding: 5px 50px 5px 30px;
      position: relative; }
      .rede_ptime_position_lst li a::before {
        background: url("override/src/images/recruit/ico-arrow-color03.png") center/contain no-repeat;
        content: "";
        height: 15px;
        position: absolute;
        right: 20px;
        top: calc(50% - 7px);
        transition: 0.3s all ease-in-out;
        width: 17px; }
    .rede_ptime_position_lst li:hover a {
      background: #c1ad5f;
      box-shadow: none;
      color: #fff; }
      .rede_ptime_position_lst li:hover a::before {
        background: url("override/src/images/recruit/ico-arrow-white.png") center/contain no-repeat;
        right: 15px; }
    @media (min-width: 768px), print {
      .rede_ptime_position_lst li {
        width: calc((100% - 60px)/3); }
        .rede_ptime_position_lst li:nth-child(3n + 1) {
          margin-left: 0; } }
    @media (max-width: 1023px) {
      .rede_ptime_position_lst li {
        margin-left: 15px;
        width: calc((100% - 30px)/3); }
        .rede_ptime_position_lst li a {
          font-size: 1.7rem;
          padding: 5px 50px 5px 20px; } }
    @media (max-width: 767px) {
      .rede_ptime_position_lst li {
        margin-left: 0;
        margin-top: 20px;
        width: 100%; }
        .rede_ptime_position_lst li a {
          height: auto;
          padding: 10px 50px 10px 20px;
          min-height: 60px; } }

.redein_entry_out {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px; }
  @media (min-width: 768px), print {
    .redein_entry_out {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .redein_entry_out {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .redein_entry_out {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .redein_entry_out {
      padding-bottom: 70px; } }

.redein_entry {
  background: url("override/src/images/recruit/detail/graduate/bg-entry.jpg") center/cover no-repeat;
  padding: 10px;
  position: relative; }
  .redein_entry::before {
    background: linear-gradient(to bottom, #001359 0%, #284684 100%);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    opacity: .8;
    top: 0;
    width: 100%; }

.redein_entry_wrap {
  border: 1px solid #fff;
  color: #fff;
  padding: 60px 15px 70px;
  position: relative;
  text-align: center;
  z-index: 1; }
  .redein_entry_wrap .re_cmn_ttl {
    color: #fff; }
    .redein_entry_wrap .re_cmn_ttl strong {
      margin-bottom: 20px; }
  @media (max-width: 767px) {
    .redein_entry_wrap {
      padding: 35px 15px 40px; }
      .redein_entry_wrap .re_cmn_ttl strong {
        margin-bottom: 10px; } }

.redein_entry_txt {
  line-height: 1.8;
  margin-bottom: 30px; }

.redein_entry_img_lst {
  align-items: center;
  display: flex;
  justify-content: center; }
  .redein_entry_img_lst li {
    margin: 0 5px; }
    .redein_entry_img_lst li a {
      transition: 0.3s all ease-in-out; }
      .redein_entry_img_lst li a:hover {
        opacity: .6; }

.redetailwrap_out .re_cmn_ttl {
  text-align: center;
  margin-top: 100px !important; }
@media (max-width: 767px) {
  .redetailwrap_out .re_cmn_ttl {
    margin-top: 70px !important; } }

.redetail_top {
  background: #f2f4f5;
  display: flex; }
  @media (max-width: 767px) {
    .redetail_top {
      display: block; } }

.redetail_top_left {
  align-items: center;
  background: url("override/src/images/recruit/ft-what.jpg") center/cover no-repeat;
  display: flex;
  justify-content: center;
  padding: 20px;
  position: relative;
  width: 50%; }
  .redetail_top_left::before {
    background: #284684;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    opacity: .9;
    top: 0;
    width: 100%; }
  .redetail_top_left .re_cmn_ttl {
    color: #fff;
    position: relative;
    text-align: center;
    z-index: 1; }
  @media (max-width: 767px) {
    .redetail_top_left {
      height: 200px;
      width: 100%; } }

.redetail_top_right {
  padding: 80px 50px 80px 60px;
  width: 50%; }
  @media (max-width: 1023px) {
    .redetail_top_right {
      padding: 60px 30px; } }
  @media (max-width: 767px) {
    .redetail_top_right {
      padding: 30px 15px 40px;
      width: 100%; } }

.redetail_top_right_txt {
  line-height: 1.75;
  margin-left: 0 !important;
  margin-bottom: 30px;
  max-width: 500px; }
  @media (max-width: 767px) {
    .redetail_top_right_txt {
      margin-bottom: 20px;
      max-width: none; } }

.redetail_top_btn {
  max-width: 300px; }
  .redetail_top_btn a {
    height: 70px; }
  @media (max-width: 767px) {
    .redetail_top_btn {
      margin: 0 auto !important; }
      .redetail_top_btn a {
        height: 60px; } }

.no-pd-top {
  padding-top: 0 !important; }

.recruit_type_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (min-width: 768px), print {
    .recruit_type_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .recruit_type_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .recruit_type_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .recruit_type_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
  .recruit_type_wrap .sdgs_ttl {
    text-align: center; }
    .recruit_type_wrap .sdgs_ttl::before {
      margin-left: auto;
      margin-right: auto; }

.recruit_type_cont {
  margin-bottom: 60px;
  text-align: center; }
  @media (max-width: 767px) {
    .recruit_type_cont {
      margin-bottom: 40px; } }

.recruit_type_tbl {
  margin-bottom: 70px; }
  @media (max-width: 767px) {
    .recruit_type_tbl {
      margin-bottom: 40px; } }

.recruit_type_btn {
  max-width: 600px;
  margin: 0 auto; }

.rede_about {
  position: relative; }
  .rede_about::before {
    background: #f2f4f5;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 85.7%; }

.rede_about_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px;
  position: relative;
  z-index: 1; }
  @media (min-width: 768px), print {
    .rede_about_wrap {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .rede_about_wrap {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .rede_about_wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .rede_about_wrap {
      padding-bottom: 70px;
      padding-top: 70px; } }
  .rede_about_wrap .re_cmn_ttl {
    text-align: center; }

.rede_pagelst {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  @media (min-width: 768px), print {
    .rede_pagelst {
      gap: 50px; } }
  @media (max-width: 767px) {
    .rede_pagelst {
      gap: 40px; } }
  .rede_pagelst .rede_pagebox {
    margin: 0; }
    .rede_pagelst .rede_pagebox .sdgs_blog_box_img {
      height: 220px; }
    @media (max-width: 767px) {
      .rede_pagelst .rede_pagebox .sdgs_blog_box_img {
        height: 180px; } }

.rede_pagebox_ttl {
  margin: 0 !important; }
  .rede_pagebox_ttl a {
    color: #000;
    display: block;
    font-size: 2rem;
    font-weight: 400;
    padding: 30px 30px 0; }
  @media (max-width: 767px) {
    .rede_pagebox_ttl a {
      font-size: 1.7rem;
      padding: 20px 15px 0; } }

.rede_personality {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  padding-bottom: 110px;
  padding-top: 110px; }
  @media (min-width: 768px), print {
    .rede_personality {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .rede_personality {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .rede_personality {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .rede_personality {
      padding-bottom: 70px;
      padding-top: 70px; } }
  .rede_personality .re_cmn_ttl {
    text-align: center; }
  .rede_personality .rede_personality_highlight {
    color: #c1ad5f;
    font-family: "Zen Old Mincho", serif;
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 50px;
    text-align: center; }
    @media (max-width: 767px) {
      .rede_personality .rede_personality_highlight {
        font-size: 2.2rem;
        margin-bottom: 30px; } }

.rede_personality_in {
  counter-reset: section; }

.rede_personality_box {
  margin-top: 80px !important; }
  .rede_personality_box:first-child {
    margin-top: 0 !important; }
  @media (min-width: 768px), print {
    .rede_personality_box {
      align-items: flex-start;
      display: flex;
      flex-direction: row-reverse;
      justify-content: space-between; } }
  @media (max-width: 767px) {
    .rede_personality_box {
      margin-top: 50px !important; } }
  .rede_personality_box .rede_personality_box_img {
    box-shadow: 3px 0 20px rgba(0, 0, 0, 0.1);
    margin-left: 0;
    margin-right: 0; }
    @media (min-width: 768px), print {
      .rede_personality_box .rede_personality_box_img {
        width: 43.86%; } }
    @media (max-width: 767px) {
      .rede_personality_box .rede_personality_box_img {
        margin-bottom: 20px !important; } }
  @media (min-width: 768px), print {
    .rede_personality_box .rede_personality_box_cont {
      width: 50.44%; } }
  .rede_personality_box .rede_personality_box_ttl {
    align-items: center;
    display: flex;
    font-family: "Zen Old Mincho", serif;
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 30px; }
    .rede_personality_box .rede_personality_box_ttl::before {
      counter-increment: section;
      content: "0" counter(section);
      color: #c1ad5f;
      font-family: "Zen Kaku Gothic New", sans-serif;
      font-size: 10rem;
      font-weight: 400;
      line-height: 1.2;
      margin-right: 20px; }
    @media (min-width: 767px) and (max-width: 1023px) {
      .rede_personality_box .rede_personality_box_ttl {
        font-size: 2.6rem; }
        .rede_personality_box .rede_personality_box_ttl br {
          display: none; } }
    @media (max-width: 767px) {
      .rede_personality_box .rede_personality_box_ttl {
        font-size: 2.2rem;
        margin-bottom: 20px; }
        .rede_personality_box .rede_personality_box_ttl::before {
          font-size: 6rem;
          margin-right: 15px; } }
  .rede_personality_box .rede_personality_box_txt {
    line-height: 1.8;
    padding-left: 50px; }
    @media (max-width: 1023px) {
      .rede_personality_box .rede_personality_box_txt {
        padding-left: 30px; } }
    @media (max-width: 767px) {
      .rede_personality_box .rede_personality_box_txt {
        padding-left: 15px; } }

.rewhat_video {
  margin-left: auto;
  margin-right: auto;
  max-width: 1220px;
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 110px;
  text-align: center; }
  @media (min-width: 768px), print {
    .rewhat_video {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (max-width: 1023px) {
    .rewhat_video {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 767px) {
    .rewhat_video {
      padding-left: 15px;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .rewhat_video {
      padding-bottom: 70px; } }

.rewhat_video_ttl {
  font-family: "Zen Old Mincho", serif;
  font-size: 4rem;
  font-weight: 700;
  margin-bottom: 70px; }
  @media (max-width: 767px) {
    .rewhat_video_ttl {
      font-size: 2.6rem;
      margin-bottom: 40px; } }
  .rewhat_video_ttl strong {
    color: #c1ad5f;
    display: block;
    font-family: "Zen Old Mincho", serif;
    font-size: 5rem;
    font-weight: 700;
    line-height: 1.4; }
    .rewhat_video_ttl strong::before, .rewhat_video_ttl strong::after {
      background: #c1ad5f;
      content: "";
      display: inline-block;
      height: 2px;
      vertical-align: middle;
      width: 70px; }
    .rewhat_video_ttl strong::before {
      margin-right: 10px; }
    .rewhat_video_ttl strong::after {
      margin-left: 10px; }
    @media (max-width: 767px) {
      .rewhat_video_ttl strong {
        font-size: 3rem; }
        .rewhat_video_ttl strong::before, .rewhat_video_ttl strong::after {
          width: 40px; } }

.rewhat_video_wrap {
  margin-bottom: 70px;
  position: relative; }
  .rewhat_video_wrap::before {
    background: #c1ad5f;
    border-radius: 25px;
    content: "";
    height: 100%;
    left: 19px;
    position: absolute;
    opacity: .5;
    top: 19px;
    width: 100%; }
  @media (max-width: 767px) {
    .rewhat_video_wrap {
      margin-bottom: 40px; }
      .rewhat_video_wrap::before {
        border-radius: 15px;
        left: 10px;
        top: 10px; } }

.rewhat_video_wrap_in {
  position: relative;
  z-index: 1; }
  .rewhat_video_wrap_in iframe {
    display: block;
    width: 100%;
    height: 46vw;
    border-radius: 25px;
    overflow: hidden;
    max-height: 505px; }

.rewhat_video_txt {
  font-size: 2rem;
  line-height: 2; }
  @media (max-width: 767px) {
    .rewhat_video_txt {
      font-size: 1.7rem; } }

.re_detail_entry_btn {
  max-width: 400px; }
  .re_detail_entry_btn a {
    align-items: center;
    border-width: 2px;
    display: flex;
    font-size: 1.6rem;
    font-weight: 700;
    height: auto;
    min-height: 50px;
    justify-content: center;
    padding: 10px;
    text-align: center;
    white-space: break-spaces; }
  .re_detail_entry_btn:hover a {
    background: #284684 !important;
    border-color: #284684;
    opacity: 1 !important; }
  @media (max-width: 767px) {
    .re_detail_entry_btn {
      margin-left: auto !important;
      margin-right: auto !important; } }

/*footer*/
.recruit_footer {
  background: #fff;
  color: #666; }
  .recruit_footer .ft_logo a img {
    width: 165px; }
  .recruit_footer .ft_top_nav dt a,
  .recruit_footer .ft_top_nav dd a,
  .recruit_footer .ft_top_nav dt::after,
  .recruit_footer .ft_top_nav dt.unshow::after {
    color: #666; }
  .recruit_footer .ft_bot {
    border-color: #ccc; }
