@charset "UTF-8";
/***************************************
 *
 *base CSS
 *
 *2019/XX
 *
 ****************************************** */
/*****************************
 *
 *settings
 *
 ***************************** */
.trans_txt_parent .inner {
  overflow: hidden; }
.trans_txt_parent s {
  display: inline-block;
  transform: translateY(100px); }

.scroll_fadein {
  transform: translateY(100px);
  opacity: 0; }

/***********************
 *
 *common
 *
 ********************** */
* {
  box-sizing: border-box; }

a {
  text-decoration: none;
  color: inherit; }

li {
  list-style: none; }

i, em {
  font-style: normal; }

body, html {
  margin: 0px;
  padding: 0px;
  font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%; }

body {
  overflow-x: hidden; }

ul {
  margin: 0;
  padding: 0; }

h2, h3, h4, h5 {
  font-weight: bold; }

p {
  font-size: 16px;
  margin: 20px 0;
  line-height: 1.9; }
  p.l {
    font-size: 20px; }
  p.center {
    text-align: center; }

.ib {
  width: 1200px;
  margin: 0 auto;
  position: relative;
  max-width: 100%;
  height: 100%; }

table {
  border-collapse: collapse; }

#wpadminbar {
  display: none; }

.pc_content {
  display: block !important; }

.sp_content {
  display: none !important; }

::-webkit-scrollbar {
  width: 10px; }

::-webkit-scrollbar-track {
  background: #fff;
  border: none;
  border-radius: 10px;
  box-shadow: inset 0 0 2px #777; }

::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 10px;
  box-shadow: none; }

.btn_border {
  text-align: center;
  display: block;
  margin: 20px auto;
  position: relative;
  max-width: 300px;
  background: #f1f1f1; }
  .btn_border::before {
    right: 0;
    top: 0; }
  .btn_border::after {
    left: 0;
    bottom: 0; }
  .btn_border::before, .btn_border::after {
    content: "";
    width: 0;
    height: 1px;
    position: absolute;
    transition: all 0.2s linear;
    background: #000;
    transition-delay: 0s; }
  .btn_border:hover::before, .btn_border:hover::after {
    width: 100%;
    transition-delay: 0.2s; }
  .btn_border:hover span::before, .btn_border:hover span::after {
    height: 100%;
    transition-delay: 0s; }
  .btn_border span {
    display: block;
    padding: 15px;
    font-size: 16px;
    color: #000;
    position: relative; }
    .btn_border span::before {
      left: 0;
      top: 0; }
    .btn_border span::after {
      right: 0;
      bottom: 0; }
    .btn_border span::before, .btn_border span::after {
      content: "";
      width: 1px;
      height: 0;
      position: absolute;
      transition: all 0.2s linear;
      background: #000;
      transition-delay: 0.2s; }

/*************************************
 *
 *404
 *
 ************************************* */
p.p404 {
  padding: 40px;
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  background: #f1f1f1;
  margin: 40px 0; }

/***************************************
 *
 *header
 *
 ************************************* */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  align-items: center;
  padding: 20px 30px;
  display: flex;
  justify-content: space-between;
  z-index: 999;
  background-color: #fff;
 }
  header.scrolled nav a {
    color: #212121; }
  header.subpage nav a {
    color: #212121; }
  header a.logo {
    width: 260px; }
    header a.logo h1 {
      margin: 0;
      width: 100%; }
      header a.logo h1 img {
        display: block;
        width: 100%;
        padding-bottom: 25px; }
  header nav {
    align-items: center;
    display: flex; }
    header nav a {
      padding: 0 0px;
      font-size: 16px;
      margin: 0 20px;
      /* color: #fff; */
      letter-spacing: 0.1rem;
      /* color: #fff; */
      position: relative; }
      header nav a:hover:before {
        width: 100%; }
      header nav a:before {
        content: "";
        width: 0;
        transition: 0.4s ease;
        height: 1px;
        background: #212121;
        position: absolute;
        left: 0;
        bottom: -20px; }
      header nav a.contact {
        width: 186px;
        padding: 15px;
        align-items: center;
        display: flex;
        justify-content: center;
        background: #fff;
        border: 1px solid #212121;
        border-radius: 50px;
        color: #212121;
        margin-left: 20px;
        letter-spacing: 0rem;
        margin-right: 0; }
        header nav a.contact img {
          margin-right: 8px; }
        header nav a.contact:before {
          display: none; }

#fv {
  height: 100vh;
  width: 100%;
  align-items: center;
  justify-content: center;
  display: flex;
  position: relative;
  border-bottom: 1px solid #ccc;
  overflow: hidden; }
  #fv:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.4);
    mix-blend-mode: multiply;
    z-index: 2; }
  #fv .fv_info {
    position: absolute;
    bottom: 0;
    z-index: 3;
    width: 100%;
    background: #fff;
    height: 100px; }
    #fv .fv_info .ib {
      padding: 30px 0;
      align-items: center;
      display: flex; }
      #fv .fv_info .ib p {
        margin: 0;
        font-size: 16px;
        transition: 0.4s ease; }
        #fv .fv_info .ib p:hover {
          color: #E3899B; }
        #fv .fv_info .ib p span {
          display: inline-block;
          margin-right: 20px;
          font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif; }
  #fv video, #fv #movie_outer {
    position: relative;
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover; }
    #fv video #youtube, #fv #movie_outer #youtube {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      /*縦横幅指定 */
      width: 177.77777778vh;
      height: 56.25vw;
      min-height: 100%;
      min-width: 100%; }
  #fv h1 {
    font-weight: 500;
    font-size: 70px;
    font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
    position: relative;
    z-index: 4;
    /* mix-blend-mode: exclusion; */
    color: rgba(255, 255, 255, 0.85);
    letter-spacing: 0.2rem;
    text-align: center; }
    #fv h1 span {
      display: block;
      text-align: center;
      font-size: 32px;
      font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif; }

s {
  text-decoration: none; }

.trans_txt_parent s {
  transform: translateY(10px);
  opacity: 0; }

a.button {
  font-size: 16px;
  color: #E3899B;
  align-items: center;
  display: flex;
  transition: 0.4s ease;
  margin: 30px 0;
  width: 180px; }
  a.button.right {
    float: right; }
  a.button.center {
    margin: 50px auto; }
  a.button.left {
    margin: 50px 0; }
  a.button:hover i {
    background: #E3899B; }
    a.button:hover i:before {
      color: #fff;
      transform: translateX(10px); }
  a.button span {
    text-decoration: underline;
    margin-right: 14px; }
  a.button i {
    width: 48px;
    height: 28px;
    border: 2px solid #E3899B;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.4s ease; }
    a.button i:before {
      font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
      content: "";
      transition: 0.4s ease; }

#content, #content2 {
  position: relative;
  z-index: 2;
  background: #fff;
  z-index: 2; }
  #content h2, #content2 h2 {
    color: #212121;
    font-weight: 500;
    margin: 50px 0; }
    #content h2 span, #content2 h2 span {
      display: block;
      font-size: 16px; }
    #content h2 .en, #content2 h2 .en {
      overflow: hidden;
      display: block;
      font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
      letter-spacing: 0.2rem;
      font-size: 52px;
      margin-left: -3px; }
      #content h2 .en s, #content2 h2 .en s {
        display: inline-block; }
  #content section .ib, #content2 section .ib {
    padding: 50px 0; }
  #content .intro_biz, #content2 .intro_biz {
    background: url(../img/intro1.jpg) fixed;
    background-size: cover;
    width: calc(100vw - 80px);
    margin-left: calc(0px - calc(50vw - 640px));
    height: 480px;
    border-radius: 20px;
    position: relative;
    z-index: 2;
    margin-bottom: 250px; }
    #content .intro_biz .biz_box, #content2 .intro_biz .biz_box {
      width: 730px;
      margin: 0 auto;
      height: auto; }
      #content .intro_biz .biz_box .box, #content2 .intro_biz .biz_box .box {
        width: 100%; }
        #content .intro_biz .biz_box .box .img, #content2 .intro_biz .biz_box .box .img {
          width: 100%;
          height: 420px;
          overflow: hidden;
          position: relative; }
          #content .intro_biz .biz_box .box .img img, #content2 .intro_biz .biz_box .box .img img {
            position: absolute;
            width: 900px;
            height: auto;
            top: 0;
            left: -80px; }
        #content .intro_biz .biz_box .box .txt, #content2 .intro_biz .biz_box .box .txt {
          background: #fff;
          padding: 30px;
          overflow: hidden; }
          #content .intro_biz .biz_box .box .txt p, #content2 .intro_biz .biz_box .box .txt p {
            margin: 0; }
  #content section.top_company, #content2 section.top_company {
    min-height: 500px;
    position: relative;
    overflow: hidden; }
    #content section.top_company:before, #content2 section.top_company:before {
      content: "";
      background: #f7f7f7;
      height: 400px;
      width: 100vw;
      top: 130px;
      left: 0;
      position: absolute; }
    #content section.top_company .ib, #content2 section.top_company .ib {
      z-index: 3; }
      #content section.top_company .ib h2, #content2 section.top_company .ib h2 {
        padding-left: 430px;
        margin-top: 20px; }
      #content section.top_company .ib .ceo_img, #content2 section.top_company .ib .ceo_img {
        width: 365px;
        height: 405px;
        overflow: hidden;
        border-radius: 20px;
        position: absolute;
        top: 0; }
        #content section.top_company .ib .ceo_img img, #content2 section.top_company .ib .ceo_img img {
          height: auto;
          width: 100%;
          position: absolute;
          top: 0%;
          left: 0%; }
      #content section.top_company .ib p, #content2 section.top_company .ib p {
        padding-left: 430px; }
      #content section.top_company .ib a.button, #content2 section.top_company .ib a.button {
        margin-left: 470px;
        margin-top: 100px; }
  #content section.news .ib, #content2 section.news .ib {
    width: 860px; }
  #content .news_list .row, #content2 .news_list .row {
    justify-content: space-between;
    display: flex;
    align-items: center;
    padding: 30px 0;
    border-bottom: 1px solid #313131; }
    #content .news_list .row:hover p, #content2 .news_list .row:hover p {
      color: #003366; }
    #content .news_list .row:last-child, #content2 .news_list .row:last-child {
      border: none; }
    #content .news_list .row span, #content2 .news_list .row span {
      font-size: 17px;
      font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
      width: 95px; }
    #content .news_list .row p, #content2 .news_list .row p {
      margin: 0;
      width: calc(100% - 95px);
      align-items: center;
      display: flex;
      transition: 0.4s ease; }
      #content .news_list .row p:before, #content2 .news_list .row p:before {
        width: 30px;
        content: "";
        height: 1px;
        background: #003366;
        display: block;
        margin-right: 15px; }
  #content section.recruit, #content2 section.recruit {
    background: #f7f7f7; }
    #content section.recruit .ib, #content2 section.recruit .ib {
      padding: 50px 0;
      width: 920px; }
      #content section.recruit .ib .img, #content2 section.recruit .ib .img {
        width: 475px;
        height: 370px;
        overflow: hidden;
        border-radius: 30px;
        position: absolute;
        bottom: -80px;
        right: -80px; }
        #content section.recruit .ib .img img, #content2 section.recruit .ib .img img {
          object-fit: cover;
          width: 100%;
          height: 100%; }

/*************************************
 *
 *subpage
 *
 *************************************** */
#content .ib {
  padding: 50px 0; }

#content .head_tit {
  height: 310px;
  background: #f7f7f7; }
  #content .head_tit .ib h2 {
    margin-top: 80px; }
#content .panlist .ib {
  font-size: 16px;
  display: flex; }
  #content .panlist .ib a:not(.home), #content .panlist .ib span {
    margin-left: 10px;
    align-items: center;
    display: flex; }
    #content .panlist .ib a:not(.home):before, #content .panlist .ib span:before {
      content: "";
      font-family: "material icons";
      margin-right: 10px; }
#content .biz_head {
  width: calc(50vw + 600px);
  height: 300px;
  overflow: hidden;
  position: relative;
  border-radius: 0 50px 50px 0;
  background: #e0e0e0; }
  #content .biz_head h2 {
    font-size: 32px;
    margin: 0;
    position: absolute;
    bottom: 30px;
    right: 40px;
    z-index: 2; }
  #content .biz_head img {
    position: absolute;
    width: 100%;
    max-width: 1600px;
    height: auto;
    top: calc(0% - 50px);
    left: 0; }
#content .tit {
  text-align: center;
  margin: 50px 0; }
  #content .tit span {
    display: block;
    text-align: center;
    font-size: 32px;
    font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
    color: #E3899B; }
  #content .tit i {
    display: block;
    text-align: center;
    font-size: 32px;
    font-weight: 500;
    margin-top: 20px; }
#content .steps {
  position: relative;
  padding: 40px 0 60px;
  margin: 60px 0; }
  #content .steps:before {
    content: "";
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    margin-left: calc(0px - calc(50vw - 600px));
    background: #f7f7f7;
    display: block; }
  #content .steps .step_slide {
    width: 860px;
    margin: auto;
    padding: 0 30px; }
    #content .steps .step_slide .swiper-button-prev {
      left: 0px; }
    #content .steps .step_slide .swiper-button-next {
      right: 0; }
    #content .steps .step_slide .swiper-button-next, #content .steps .step_slide .swiper-button-prev {
      color: #E3899B; }
    #content .steps .step_slide .swiper-pagination-bullet-active {
      background: #E3899B; }
    #content .steps .step_slide .swiper-slide {
      width: 100%;
      flex-wrap: wrap;
      display: flex;
      background: #f7f7f7; }
      #content .steps .step_slide .swiper-slide h3 {
        align-items: center;
        justify-content: center;
        display: flex;
        font-size: 32px;
        width: 100%; }
        #content .steps .step_slide .swiper-slide h3 span {
          color: #E3899B;
          font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
          margin-right: 15px;
          font-weight: 500; }
          #content .steps .step_slide .swiper-slide h3 span em {
            font-size: 44px;
            display: inline-block; }
        #content .steps .step_slide .swiper-slide h3 i {
          font-weight: 500; }
      #content .steps .step_slide .swiper-slide .inner {
        width: 100%;
        display: flex; }
        #content .steps .step_slide .swiper-slide .inner.s4 .l {
          width: 460px; }
        #content .steps .step_slide .swiper-slide .inner.c {
          justify-content: center; }
          #content .steps .step_slide .swiper-slide .inner.c .r {
            width: 310px; }
          #content .steps .step_slide .swiper-slide .inner.c .l {
            margin-right: 20px; }
        #content .steps .step_slide .swiper-slide .inner .l, #content .steps .step_slide .swiper-slide .inner .r {
          max-width: 100%; }
          #content .steps .step_slide .swiper-slide .inner .l .img, #content .steps .step_slide .swiper-slide .inner .r .img {
            height: 310px;
            width: 100%; }
            #content .steps .step_slide .swiper-slide .inner .l .img img, #content .steps .step_slide .swiper-slide .inner .r .img img {
              object-fit: cover;
              width: 100%;
              height: 100%; }
          #content .steps .step_slide .swiper-slide .inner .l.pd, #content .steps .step_slide .swiper-slide .inner .r.pd {
            padding-left: 40px; }
        #content .steps .step_slide .swiper-slide .inner .l {
          width: 310px; }
        #content .steps .step_slide .swiper-slide .inner .r {
          width: calc(100% - 350px); }
          #content .steps .step_slide .swiper-slide .inner .r p {
            height: auto; }
          #content .steps .step_slide .swiper-slide .inner .r .logo {
            display: block;
            width: 240px;
            margin: 30px 0;
            mix-blend-mode: multiply; }

#content table {
  width: 100%;
  font-size: 17px;
  color: #575757; }
  #content table.contact {
    width: 1000px; }
    #content table.contact tr th {
      width: 170px; }
    #content table.contact tr td {
      width: calc(100% - 170px); }
  #content table.recruit {
    width: 740px;
    margin: 100px auto; }
    #content table.recruit tr th {
      width: 120px; }
    #content table.recruit tr td {
      width: calc(100% - 120px); }
  #content table tr th {
    width: 80px;
    padding: 20px 0;
    text-align: left;
    font-weight: 400;
    border-right: 1px solid #333; }
  #content table tr td {
    width: calc(100%  - 80px);
    padding: 20px 0;
    padding-left: 30px;
    line-height: 1.6; }
#content .prof_df {
  flex-wrap: wrap;
  display: flex;
  justify-content: space-between;
  margin: 80px 0 120px; }
  #content .prof_df .l, #content .prof_df .r {
    width: 50%; }
    #content .prof_df .l iframe, #content .prof_df .r iframe {
      width: 100%;
      height: 400px;
      display: block; }
#content .panlist + .buttons {
  margin-top: -50px; }
#content .buttons {
  display: flex;
  margin: 0px 0; }
  #content .buttons.mgt0 {
    margin-top: -50px; }
  #content .buttons a {
    padding: 0 10px 15px 0;
    color: #003366;
    font-size: 20px;
    margin-right: 10px;
    border-bottom: 1px solid #003366; }
#content .wide_content {
  width: 100vw;
  margin-left: calc(0px - calc(50vw - 600px)); }
  #content .wide_content.mission {
    position: relative;
    height: 570px;
    overflow: hidden;
    margin-top: 100px;
    margin-bottom: 100px; }
    #content .wide_content.mission .ib {
      z-index: 2; }
      #content .wide_content.mission .ib .mission_txt {
        display: block;
        margin-bottom: 50px; }
    #content .wide_content.mission .bg {
      position: absolute;
      top: -40%;
      left: 0;
      height: auto;
      width: 100%; }
#content p.msg {
  width: 750px;
  max-width: 100%; }
#content .ceo {
  position: absolute;
  right: 0;
  top: 140px;
  width: 345px; }
  #content .ceo .img {
    height: 455px;
    width: 100%;
    overflow: hidden;
    display: block;
    position: relative;
    display: block;
    border-radius: 50px 0 50px 0; }
    #content .ceo .img img {
      top: 0;
      left: 0;
      height: 120%;
      top: -10%;
      left: -15%;
      position: absolute; }
  #content .ceo p {
    text-align: right; }
    #content .ceo p span {
      font-weight: 500;
      font-size: 28px;
      display: block; }

#content #rec_fv {
  height: 100vh;
  width: 100%;
  position: relative;
  background: url(../img/recruit/rec_bg.jpg) fixed;
  background-size: cover;
  overflow: hidden; }
  #content #rec_fv .ib {
    z-index: 3;
    width: 820px;
    display: flex;
    align-items: center; }
    #content #rec_fv .ib h2 em {
      font-size: 40px;
      padding-top: 25px;
      border-top: 1px solid #003366;
      margin-top: 20px;
      display: block; }
  #content #rec_fv .animation_layer {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 2;
    top: 0;
    left: 0;
/*     background: url(../img/recruit/r1.jpg) calc(50% + 200px) 0px repeat-y, url(../img/recruit/r2.jpg) calc(50% + 440px) 0px repeat-y; */
    background-size: 214px auto, 214px auto;
/*     animation: 33s row_animation linear forwards infinite;  */
	}
@keyframes row_animation {
  0% {
    background-position: calc(50% + 230px) -100px, calc(50% + 470px) 100px; }
  100% {
    background-position: calc(50% + 230px) -1918px, calc(50% + 470px) 1918px; } }
#content .rec_tit {
  margin: 80px auto;
  display: block; }
#content .gallery_outer {
  margin: 60px 0 120px; }
#content .slide_gallery {
  overflow: hidden;
  margin-bottom: 20px; }
  #content .slide_gallery .row {
    display: flex;
    width: max-content; }
    #content .slide_gallery .row .box {
      width: 250px;
      height: 170px;
      margin-right: 20px;
      display: block;
      overflow: hidden; }
      #content .slide_gallery .row .box:hover img {
        filter: grayscale(0);
        transform: scale(1.1); }
      #content .slide_gallery .row .box img {
        transition: 0.4s ease;
        object-fit: cover;
        width: 100%;
        height: 100%;
        filter: grayscale(1); }

#content button, #content a.button_ {
  width: 330px;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
  display: flex;
  border-radius: 50px;
  margin: 60px auto;
  cursor: pointer;
  border: none;
  background: linear-gradient(to left, #003366, #005599);
  padding: 18px;
  color: #fff;
  height: 80px;
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.2);
  transition: 0.4s ease; }
  #content button:hover, #content a.button_:hover {
    transform: translateY(5px);
    box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.2); }
#content .contact_content table {
  margin-top: 60px; }
#content .contact_content input[type="text"], #content .contact_content textarea, #content .contact_content input[type="email"] {
  display: block;
  background: #f7f7f7;
  border: none;
  padding: 17px;
  border-radius: 6px;
  width: 100%; }
#content .contact_content table tr:last-child th, #content .contact_content table tr:last-child td {
  padding-bottom: 0px; }
#content .contact_content table tr:nth-of-type(1) th, #content .contact_content table tr:nth-of-type(1) td {
  padding-top: 0; }
#content .contact_content table tr td {
  width: calc(100% - 220px); }
#content .contact_content table tr th {
  width: 220px; }
  #content .contact_content table tr th.req:before {
    background: #003366; }
  #content .contact_content table tr th:before {
    content: "";
    width: 10px;
    height: 10px;
    background: #ccc;
    border-radius: 50px;
    display: inline-block;
    margin-right: 15px; }
#content .contact_content textarea {
  min-height: 250px; }

#content .pager {
  margin: 50px 0; }
  #content .pager .wp-pagenavi span, #content .pager .wp-pagenavi a {
    padding: 7px 15px;
    transition: 0.4s ease; }
    #content .pager .wp-pagenavi span.current, #content .pager .wp-pagenavi span:hover, #content .pager .wp-pagenavi a.current, #content .pager .wp-pagenavi a:hover {
      color: #fff;
      background: #E3899B;
      border-color: #E3899B; }

#content.single .panlist {
  margin-top: 100px; }
#content.single .single_content {
  min-height: 500px; }
  #content.single .single_content .prev_next {
    justify-content: space-between;
    display: flex;
    align-items: center;
    margin: 100px 0 30px; }
    #content.single .single_content .prev_next .l, #content.single .single_content .prev_next .r {
      width: 41%;
      align-items: center;
      display: flex; }
      #content.single .single_content .prev_next .l a, #content.single .single_content .prev_next .r a {
        text-decoration: underline; }
    #content.single .single_content .prev_next .c {
      width: 14%; }
      #content.single .single_content .prev_next .c a {
        align-items: center;
        justify-content: center;
        display: flex;
        width: 100px;
        margin: 0 auto;
        height: 100px;
        padding: 15px;
        border: 1px solid #E3899B;
        color: #E3899B;
        text-align: center;
        border-radius: 50%;
        transition: 0.4s ease; }
        #content.single .single_content .prev_next .c a:hover {
          background: #E3899B;
          color: #fff; }
#content.single .single_tit {
  font-size: 24px;
  text-align: center;
  padding-bottom: 40px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 50px; }
  #content.single .single_tit h2 {
    margin: 0; }
  #content.single .single_tit .date {
    display: block;
    font-size: 20px;
    font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif; }

#content h3 {
  font-size: 22px;
  margin: 40px 0; }

/*************************************
 *
 *footer
 *
 ************************************** */
#pagetop {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  position: fixed;
  bottom: 20px;
  right: 20px;
  align-items: center;
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  background: #fff;
  z-index: 999;
  border: 1px solid #3f3f3f; }
  #pagetop i {
    display: block;
    width: 100%;
    text-align: center; }
  #pagetop:before {
    font-size: 26px;
    content: "";
    font-family: "material icons"; }

.btm_bnr {
  flex-wrap: wrap;
  display: flex; }
  .btm_bnr a {
    height: 370px;
    width: 50%;
    position: relative;
    justify-content: center;
    align-items: center;
    display: flex; }
    .btm_bnr a:hover:before {
      opacity: 0; }
    .btm_bnr a:before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      z-index: 2;
      background: rgba(0, 0, 0, 0.6);
      transition: 0.4s ease; }
    .btm_bnr a h2 {
      z-index: 3;
      color: #fff;
      position: relative;
      text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.35); }
      .btm_bnr a h2 span, .btm_bnr a h2 .inner {
        color: #fff; }
    .btm_bnr a img {
      object-fit: cover;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1; }

.sns {
  width: 56px;
  margin-top: 30px;
  height: 24px;
  display: flex;
  justify-content: space-between; }
  .sns a {
    display: block;
    width: 26px;
    height: 100%; }
    .sns a:nth-of-type(1) {
      padding: 4px; }
    .sns a img {
      display: block;
      width: 100%; }

footer {
  background: #fff; }
  footer .ib {
    padding: 65px 0 50px;
    width: 820px;
    justify-content: space-between;
    flex-wrap: wrap;
    display: flex; }
    footer .ib .l, footer .ib .r {
      width: 50%; }
      footer .ib .l .logo, footer .ib .r .logo {
        width: 260px;
        margin-bottom: 30px;
        display: block; }
        footer .ib .l .logo img, footer .ib .r .logo img {
          display: block;
          width: 100%; }
      footer .ib .l h3, footer .ib .r h3 {
        font-size: 24px;
        font-weight: bold; }
    footer .ib .r {
      padding-left: 0px;
      padding-top: 0px; }
      footer .ib .r p {
        font-size: 12px; }
      footer .ib .r nav {
        display: flex;
        margin-bottom: 40px; }
        footer .ib .r nav a {
          padding: 0 20px; }
          footer .ib .r nav a:nth-of-type(1) {
            padding-left: 0; }
      footer .ib .r .sub {
        display: flex;
        margin-bottom: 30px; }
        footer .ib .r .sub a {
          padding: 0 15px;
          font-size: 14px;
          line-height: 1; }
          footer .ib .r .sub a:nth-of-type(1) {
            padding-left: 0;}

/*# sourceMappingURL=style.css.map */


.fv_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* ← 必要なら */
    z-index: 1;
}

.three_col_wrapper {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}

.three_col_item {
  flex: 1 1 30%;
  max-width: 30%;
  text-align: center;
}

.item_title {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 0.8rem;
  color: #333;
}

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

.desc {
  margin-top: 1rem;
  font-size: 1rem;
  color: #333;
  line-height: 1.5;
  text-align: left;
}

/* モバイル対応 */
@media screen and (max-width: 768px) {
  .three_col_item {
    max-width: 100%;
    flex: 1 1 100%;
  }

  .item_title {
    font-size: 1rem;
  }
}

.btn_wrapper {
  width: 100%;
  text-align: center;
  margin-top: 1.2rem;
  position: relative;
  z-index: 2; /* 埋もれるのを防ぐ */
}

.custom_btn {
  display: inline-block;
  background-color: #003366;
  color: #fff;
  padding: 0.8rem 1.6rem;
  border-radius: 6px;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 600;
  transition: background-color 0.3s ease;
}

.custom_btn:hover {
  background-color: #005599; /* 明るめの紺系 */
  color: #fff;
}

.top_company .btn_wrapper {
  margin-top: 50px;
}

#content .company_msg {
  text-decoration: underline;
  margin: 50px 0 0;
}



.core-values {
  max-width: 860px;
  margin: 0 auto;
  padding: 80px 20px;
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: #222;
  line-height: 1.9;
}

.value-block {
  margin-bottom: 100px;
}

.value-title {
  text-align: center;
  font-size: 2em;
  position: relative;
  margin-bottom: 0.5em;
  color: #003366;
}

.value-title::after {
  content: attr(data-en);
  display: block;
  font-weight: bold;
  font-size: 0.75em; /* 小さめのフォントサイズ */
  color: #333;
  margin-top: -0.6em; /* タイトルとの距離を縮める */
}

.value-lead {
  text-align: left;
  font-weight: bold;
  font-size: 1.8em;
  margin: 0.5em 0 1em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

#content .value-block .value-lead {
  margin: 0;
  font-weight: 700;
}

.value-item {
  margin-bottom: 40px;
}

.value-item h3 {
  font-size: 18px;
  font-weight: bold;
  color: #003366;
  margin-bottom: 10px;
}

.value-item .num {
  margin-right: 8px;
  color: #666;
}

.highlight {
  font-weight: bold;
  background: linear-gradient(transparent 60%, #ffe599 60%);
}

@media screen and (max-width: 768px) {
  .core-values {
    padding: 40px 15px;
  }

  .value-title {
    font-size: 22px;
  }

  .value-lead {
    font-size: 18px;
  }
}
