/* Scss Document */
/* Scss Document */
/*---------------------------------------------
    all
---------------------------------------------*/
.main_kv {
  position: relative; }
  .main_kv img {
    width: 100%; }

.main_kv_tit {
  color: #fff;
  font-weight: bold;
  position: absolute;
  z-index: 10;
  text-shadow: 4px 4px 8px #333;
  letter-spacing: .1em; }
  @media screen and (min-width: 750px) {
    .main_kv_tit {
      text-shadow: 4px 4px 8px #333;
      font-size: 6.357em;
      top: 13%;
      left: 6%; } }
  @media screen and (max-width: 750px) {
    .main_kv_tit {
      text-shadow: 3px 3px 8px #333;
      font-size: 2.167em;
      top: 11%;
      left: 5.3%; } }

@media screen and (min-width: 750px) {
  .sec {
    padding: 80px 0 0; } }
@media screen and (max-width: 750px) {
  .sec {
    padding: 40px 0 0; } }

.sec_tit {
  color: #1b1464;
  font-weight: 900;
  text-align: center; }
  @media screen and (min-width: 750px) {
    .sec_tit {
      font-size: 4.357em;
      margin: 0 0 80px; } }
  @media screen and (max-width: 750px) {
    .sec_tit {
      font-size: 1.833em;
      margin: 0 0 40px; } }

@media screen and (min-width: 750px) {
  .sec_imgList {
    display: flex; } }
@media screen and (min-width: 750px) {
  .sec_imgList li {
    width: 50%; } }

.sec_img img {
  width: 100%; }

/*---------------------------------------------
    top
---------------------------------------------*/
@media screen and (min-width: 750px) {
  .top_kv {
    margin: 0 0 80px; } }
@media screen and (max-width: 750px) {
  .top_kv {
    margin: 0 0 40px; } }

.top_sec_tit {
  line-height: 1;
  color: #1b1464;
  font-weight: bold;
  position: relative;
  z-index: 30;
  display: inline-block;
  width: 100%;
  letter-spacing: 0.1em; }
  @media screen and (min-width: 750px) {
    .top_sec_tit {
      font-size: 6.357em;
      margin: 0 0 50px;
      border-bottom: 6px solid #7a736e; } }
  @media screen and (max-width: 750px) {
    .top_sec_tit {
      font-size: 3.250em;
      margin: 0 0 20px;
      border-bottom: 2px solid #7a736e; } }

/* message */
.top_message {
  text-align: center; }
  @media screen and (min-width: 750px) {
    .top_message {
      margin: 0 0 160px; } }
  @media screen and (max-width: 750px) {
    .top_message {
      margin: 0 0 40px; } }

.top_message_box {
  position: relative; }
  @media screen and (max-width: 750px) {
    .top_message_box {
      padding: 30px 20px;
      background: url("../img/top/top_message_img.jpg") no-repeat center center;
      background-size: cover; } }
  @media screen and (max-width: 750px) {
    .top_message_box::after {
      width: 100%;
      content: "";
      display: block;
      height: 100%;
      background: rgba(0, 0, 0, 0.5);
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1; } }

.top_message_img {
  position: relative; }
  @media screen and (max-width: 750px) {
    .top_message_img {
      display: none; } }
  .top_message_img::after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5); }

.top_message_txtArea {
  color: #fff;
  text-align: center;
  z-index: 10; }
  @media screen and (min-width: 750px) {
    .top_message_txtArea {
      top: 90px;
      transform: translateX(-50%);
      position: absolute;
      left: 50%; } }
  @media screen and (max-width: 750px) {
    .top_message_txtArea {
      position: relative; } }

.top_message_tit {
  font-weight: 700; }
  @media screen and (min-width: 750px) {
    .top_message_tit {
      font-size: 3.143em;
      margin: 0 0 100px; } }
  @media screen and (max-width: 750px) {
    .top_message_tit {
      font-size: 2.333em;
      margin: 0 0 25px; } }

.top_message_txt {
  line-height: 1.75;
  margin: auto; }
  @media screen and (min-width: 750px) {
    .top_message_txt {
      font-size: 1.714em;
      width: 620px; } }

/* other */
.top_other {
  position: relative; }
  @media screen and (max-width: 750px) {
    .top_other {
      margin: 0 0 50px; } }
  @media screen and (min-width: 750px) {
    .top_other .top_sec_tit {
      margin: 0 0 30px;
      max-width: 760px;
      padding: 0 0 0 2px; } }
  @media screen and (max-width: 750px) {
    .top_other .top_sec_tit {
      margin: 0 0 10px;
      border: none;
      width: auto; } }
  @media screen and (max-width: 750px) {
    .top_other .top_sec_tit::after {
      content: "";
      display: block;
      width: 2px;
      height: calc(100% + 20px);
      position: absolute;
      top: 0;
      background: #7a736e; } }

.top_other_txtArea {
  background: #1b1464;
  color: #fff; }
  @media screen and (min-width: 750px) {
    .top_other_txtArea {
      padding: 40px; } }
  @media screen and (max-width: 750px) {
    .top_other_txtArea {
      padding: 44vw 20px 40px;
      max-width: calc(100% - 40px);
      margin: auto; } }

.otherTit_box {
  position: relative;
  z-index: 30; }

@media screen and (min-width: 750px) {
  .top_other_tit {
    font-size: 2.714em;
    margin: 0 0 20px; } }
@media screen and (max-width: 750px) {
  .top_other_tit {
    font-size: 2.333em;
    margin: 0 0 30px; } }

.top_other_txt {
  text-align: left;
  line-height: 1.4; }
  @media screen and (min-width: 750px) {
    .top_other_txt {
      font-size: 1.286em;
      max-width: 440px;
      display: inline-block; } }
  @media screen and (max-width: 750px) {
    .top_other_txt {
      padding: 0 20px; } }

.top_other_imgWrap {
  display: inline-block;
  overflow: hidden;
  transform-origin: 0 100%;
  position: absolute;
  z-index: 10; }
  @media screen and (min-width: 750px) {
    .top_other_imgWrap {
      bottom: -20px; } }
  @media screen and (max-width: 750px) {
    .top_other_imgWrap {
      width: calc(100% + 40px);
      left: -20px; } }

.top_other_img {
  display: inline-block; }
  @media screen and (min-width: 750px) {
    .top_other_img {
      width: 650px;
      height: 500px;
      transform-origin: 0 100%; } }
  @media screen and (max-width: 750px) {
    .top_other_img {
      width: 100%;
      height: 59vw; } }

.top_other_img_tit {
  background: #fff;
  text-align: center;
  font-weight: 700;
  line-height: 1;
  position: absolute; }
  @media screen and (min-width: 750px) {
    .top_other_img_tit {
      width: 460px;
      bottom: 50px;
      padding: 15px 0;
      border: 3px solid #333;
      font-size: 2.643em; } }
  @media screen and (max-width: 750px) {
    .top_other_img_tit {
      width: 170px;
      top: 20px;
      padding: 5px 0;
      border: 1px solid #333; } }

/* about */
@media screen and (min-width: 750px) {
  .top_about {
    margin: 0 0 140px;
    text-align: left; } }
@media screen and (max-width: 750px) {
  .top_about {
    text-align: right; } }
@media screen and (max-width: 750px) {
  .top_about .top_sec_tit::after {
    left: -20px; } }
.top_about .top_other_tit {
  text-align: left; }
@media screen and (min-width: 750px) {
  .top_about .top_other_imgWrap {
    right: -80px;
    transform: skew(-25deg); } }
@media screen and (max-width: 750px) {
  .top_about .top_other_imgWrap {
    transform: skew(0, 15deg) translateY(-50%);
    top: 7px; } }
.top_about .top_other_img {
  background: url("../img/top/top_about_img.jpg") no-repeat center center;
  background-size: cover; }
  @media screen and (min-width: 750px) {
    .top_about .top_other_img {
      transform: skew(25deg); } }
  @media screen and (max-width: 750px) {
    .top_about .top_other_img {
      transform: skew(0, -15deg);
      transform-origin: 100% 0; } }
@media screen and (min-width: 750px) {
  .top_about .top_other_img_tit {
    right: 80px; } }
@media screen and (max-width: 750px) {
  .top_about .top_other_img_tit {
    left: 20px; } }

/* flow */
@media screen and (min-width: 750px) {
  .top_flow {
    text-align: right;
    margin: 0 0 160px; } }
@media screen and (max-width: 750px) {
  .top_flow .top_sec_tit::after {
    right: -20px; } }
@media screen and (max-width: 750px) {
  .top_flow .top_other_txtArea {
    padding: 54vw 20px 40px; } }
@media screen and (max-width: 750px) {
  .top_flow .top_other_tit {
    text-align: right; } }
@media screen and (min-width: 750px) {
  .top_flow .top_other_imgWrap {
    left: -80px;
    transform: skew(25deg); } }
@media screen and (max-width: 750px) {
  .top_flow .top_other_imgWrap {
    transform: skew(0, -15deg);
    top: 0; } }
@media screen and (min-width: 750px) {
  .top_flow .top_other_img {
    transform: skew(-25deg);
    background: url(../img/top/top_flow_img.jpg) no-repeat bottom right -30px;
    background-size: 860px; } }
@media screen and (max-width: 750px) {
  .top_flow .top_other_img {
    transform: skew(0, 15deg);
    transform-origin: 0 100%;
    background: url("../img/top/top_flow_img.jpg") no-repeat bottom center;
    background-size: cover; } }
@media screen and (min-width: 750px) {
  .top_flow .top_other_img_tit {
    left: 80px; } }
@media screen and (max-width: 750px) {
  .top_flow .top_other_img_tit {
    right: 20px; } }

/* recruit */
@media screen and (min-width: 750px) {
  .top_recruit .inner {
    max-width: 890px;
    display: flex;
    justify-content: space-between; } }

@media screen and (min-width: 750px) {
  .top_recruit_titArea {
    width: 420px; } }

.top_recruit_tit {
  color: #1b1464;
  font-weight: 700; }
  @media screen and (min-width: 750px) {
    .top_recruit_tit {
      font-size: 3.143em;
      margin: 0 0 20px; } }
  @media screen and (max-width: 750px) {
    .top_recruit_tit {
      font-size: 1.833em;
      margin: 0 0 25px;
      letter-spacing: 0.1em;
      text-align: center; } }

@media screen and (max-width: 750px) {
  .top_recruit_txtBox {
    display: flex;
    padding: 0 20px;
    margin: 0 0 30px; } }

@media screen and (min-width: 750px) {
  .top_recruit_img {
    width: 416px;
    background: url("../img/top/top_recruit_img.jpg") no-repeat center center;
    background-size: cover; } }
@media screen and (max-width: 750px) {
  .top_recruit_img {
    flex-shrink: 0;
    width: 50%;
    margin: 0 20px 0 0; } }

.top_recruit_txt {
  line-height: 1.2; }
  @media screen and (min-width: 750px) {
    .top_recruit_txt {
      font-size: 2.071em;
      margin: 0 0 30px; } }

.top_recruit_link {
  width: 100%;
  text-align: center;
  display: block;
  padding: 15px 0;
  font-weight: 700;
  background: #1b1464;
  color: #fff;
  line-height: 1; }
  @media screen and (min-width: 750px) {
    .top_recruit_link {
      font-size: 2.500em; } }
  @media screen and (max-width: 750px) {
    .top_recruit_link {
      font-size: 2.333em; } }

/*---------------------------------------------
    about
---------------------------------------------*/
.sec_about {
  text-align: center; }

@media screen and (min-width: 750px) {
  .about_txt01 {
    font-size: 1.857em;
    max-width: 640px;
    margin: 0 auto 120px; } }
@media screen and (max-width: 750px) {
  .about_txt01 {
    font-size: 1.250em;
    max-width: 70%;
    margin: 0 auto 50px; } }

.about_txt02 {
  display: inline-block;
  text-align: left;
  font-weight: 500; }
  @media screen and (min-width: 750px) {
    .about_txt02 {
      margin: 0 auto 140px;
      font-size: 1.500em; } }
  @media screen and (max-width: 750px) {
    .about_txt02 {
      margin: 0 auto 60px;
      font-size: 0.833em; } }

@media screen and (min-width: 750px) {
  .facilityList {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 -40px; } }
@media screen and (min-width: 750px) {
  .facilityList li {
    width: 364px;
    margin: 0 0 40px; } }
@media screen and (max-width: 750px) {
  .facilityList li:not(:last-child) {
    margin: 0 0 20px; } }

@media screen and (min-width: 750px) {
  .facilityList_img {
    margin: 0 0 20px; } }
@media screen and (max-width: 750px) {
  .facilityList_img {
    margin: 0 0 10px; } }

.facilityList_tit {
  text-align: center;
  margin: 0 0 10px;
  font-weight: 700; }
  @media screen and (min-width: 750px) {
    .facilityList_tit {
      font-size: 1.786em; } }
  @media screen and (max-width: 750px) {
    .facilityList_tit {
      font-size: 1.750em; } }

@media screen and (min-width: 750px) {
  .facilityList_txt {
    font-size: 1.286em; } }
@media screen and (max-width: 750px) {
  .facilityList_txt {
    font-size: 1.250em; } }

.about_table {
  margin: auto; }
  @media screen and (min-width: 750px) {
    .about_table {
      font-size: 1.786em; } }
  @media screen and (max-width: 750px) {
    .about_table {
      font-size: 1.083em; } }
  .about_table th {
    text-align: right;
    font-weight: 400; }
    @media screen and (min-width: 750px) {
      .about_table th {
        padding: 0 40px 20px 0; } }
    @media screen and (max-width: 750px) {
      .about_table th {
        padding: 0 20px 10px 0; } }
  @media screen and (min-width: 750px) {
    .about_table td {
      padding: 0 0 20px; } }
  @media screen and (max-width: 750px) {
    .about_table td {
      padding: 0 0 10px; } }

/*---------------------------------------------
    flow
---------------------------------------------*/
@media screen and (min-width: 750px) {
  .flowList {
    max-width: 800px;
    margin: 0 auto 130px; } }
@media screen and (max-width: 750px) {
  .flowList {
    margin: 0 auto 60px; } }
.flowList li {
  display: flex; }
  @media screen and (min-width: 750px) {
    .flowList li:not(:last-child) {
      margin: 0 0 100px; } }
  @media screen and (max-width: 750px) {
    .flowList li:not(:last-child) {
      margin: 0 0 20px; } }

.flowList_num {
  flex-shrink: 0; }
  @media screen and (min-width: 750px) {
    .flowList_num {
      width: 70px;
      margin: 0 40px 0 0; } }
  @media screen and (max-width: 750px) {
    .flowList_num {
      width: 28px;
      margin: 0 15px 0 0; } }

.flowList_tit {
  font-weight: 700; }
  @media screen and (min-width: 750px) {
    .flowList_tit {
      font-size: 2.500em;
      margin: 0 0 20px; } }
  @media screen and (max-width: 750px) {
    .flowList_tit {
      font-size: 1.333em;
      margin: 0 0 10px; } }

.flowList_txt {
  line-height: 1.3; }
  @media screen and (min-width: 750px) {
    .flowList_txt {
      font-size: 1.286em; } }

@media screen and (min-width: 750px) {
  .sec_product .inner {
    max-width: 1160px; } }

@media screen and (min-width: 750px) {
  .productList {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 -110px; } }
@media screen and (min-width: 750px) {
  .productList li {
    margin: 0 0 110px;
    width: 364px; } }
.productList li:not(:last-child) {
  margin: 0 0 20px; }

/* blog */
@media screen and (min-width: 750px) {
  .sec_tit-blog {
    text-align: left; } }

@media screen and (min-width: 750px) {
  .blog_column {
    display: flex;
    justify-content: space-between; } }
@media screen and (max-width: 750px) {
  .blog_column {
    padding: 0 10px; } }

@media screen and (min-width: 750px) {
  .blog_column_main {
    width: 680px; } }

@media screen and (min-width: 750px) {
  .blogList li:not(:last-child) {
    margin: 0 0 60px; } }
@media screen and (max-width: 750px) {
  .blogList li:not(:last-child) {
    margin: 0 0 30px; } }
.blogList li a {
  display: flex; }

.blogList_img {
  flex-shrink: 0; }
  .blogList_img img {
    height: auto; }
  @media screen and (min-width: 750px) {
    .blogList_img {
      width: 244px;
      margin: 0 60px 0 0; } }
  @media screen and (max-width: 750px) {
    .blogList_img {
      width: 114px;
      margin: 0 20px 0 0; } }

.blogList_tit {
  font-weight: 700; }
  @media screen and (min-width: 750px) {
    .blogList_tit {
      margin: 0 0 20px;
      font-size: 2.143em; } }
  @media screen and (max-width: 750px) {
    .blogList_tit {
      margin: 0 0 10px; } }

.blogList_txt {
  line-height: 1.2; }
  @media screen and (min-width: 750px) {
    .blogList_txt {
      font-size: 1.286em; } }
  @media screen and (max-width: 750px) {
    .blogList_txt {
      font-size: 0.833em; } }

@media screen and (min-width: 750px) {
  .blog_column_side {
    width: 310px; } }

.blog_column_side_tit {
  color: #1b1464;
  font-weight: 700;
  margin: 0 0 10px; }
  @media screen and (min-width: 750px) {
    .blog_column_side_tit {
      font-size: 1.929em; } }
  @media screen and (max-width: 750px) {
    .blog_column_side_tit {
      font-size: 1.667em; } }

.blogList-popular {
  padding: 30px 0;
  border-top: 6px solid #7a736e;
  border-bottom: 6px solid #7a736e; }
  @media screen and (min-width: 750px) {
    .blogList-popular li:not(:last-child) {
      margin: 0 0 20px; } }
  @media screen and (min-width: 750px) {
    .blogList-popular .blogList_img {
      width: 114px;
      margin: 0 20px 0 0; } }
  @media screen and (min-width: 750px) {
    .blogList-popular .blogList_tit {
      font-size: 0.857em;
      margin: 0 0 10px; } }
  @media screen and (min-width: 750px) {
    .blogList-popular .blogList_txt {
      font-size: 0.714em; } }

@media screen and (min-width: 750px) {
  .blog_pagination {
    margin: 60px 0 0; } }
@media screen and (max-width: 750px) {
  .blog_pagination {
    margin: 30px 0; } }

.blog_paginationList {
  display: flex;
  justify-content: center; }
  @media screen and (min-width: 750px) {
    .blog_paginationList li:not(:last-child) {
      margin: 0 20px 0 0; } }
  @media screen and (max-width: 750px) {
    .blog_paginationList li:not(:last-child) {
      margin: 0 10px 0 0; } }

.blog_paginationList_num {
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #1b1464;
  border: 1px solid #1b1464; }
  @media screen and (min-width: 750px) {
    .blog_paginationList_num {
      width: 54px;
      height: 54px;
      font-size: 2.214em; } }
  @media screen and (max-width: 750px) {
    .blog_paginationList_num {
      width: 30px;
      height: 30px; } }

.current {
  background: #fff;
  color: #1b1464; }

@media screen and (min-width: 750px) {
  .blog_article_img {
    margin: 0 0 70px; } }
@media screen and (max-width: 750px) {
  .blog_article_img {
    margin: 0 0 20px; } }
.blog_article_img img {
  width: 100%;
  height: auto; }

.blog_article_tit {
  font-weight: 700; }
  @media screen and (min-width: 750px) {
    .blog_article_tit {
      font-size: 4.286em; } }
  @media screen and (max-width: 750px) {
    .blog_article_tit {
      font-size: 1.833em; } }

.blog_article_time {
  display: block; }
  @media screen and (min-width: 750px) {
    .blog_article_time {
      margin: 0 0 80px;
      font-size: 1.857em; } }
  @media screen and (max-width: 750px) {
    .blog_article_time {
      margin: 0 0 40px;
      font-size: 0.833em; } }

@media screen and (min-width: 750px) {
  .blog_article_main p {
    font-size: 1.643em; } }
@media screen and (max-width: 750px) {
  .blog_article_main p {
    font-size: 1.500em; } }
@media screen and (min-width: 750px) {
  .blog_article_main p:not(:last-child) {
    margin: 0 0 80px; } }
@media screen and (max-width: 750px) {
  .blog_article_main p:not(:last-child) {
    margin: 0 0 40px; } }

@media screen and (min-width: 750px) {
  .page_article {
    margin: 150px 0 0; } }
@media screen and (max-width: 750px) {
  .page_article {
    margin: 80px 0 30px; } }

.page_articleList {
  display: flex;
  justify-content: center; }
  @media screen and (min-width: 750px) {
    .page_articleList li:not(:last-child) {
      margin: 0 120px 0 0; } }
  @media screen and (max-width: 750px) {
    .page_articleList li:not(:last-child) {
      margin: 0 70px 0 0; } }
  .page_articleList a {
    display: block;
    color: #fff;
    background: #1b1464; }
    @media screen and (min-width: 750px) {
      .page_articleList a {
        padding: 10px 15px;
        font-size: 1.857em; } }
    @media screen and (max-width: 750px) {
      .page_articleList a {
        padding: 5px 10px;
        font-size: 1.167em; } }

@media screen and (min-width: 750px) {
  .blog_column_side_item + .blog_column_side_item {
    margin: 80px 0 0; } }
@media screen and (max-width: 750px) {
  .blog_column_side_item + .blog_column_side_item {
    margin: 30px 0 0; } }

.categoryList {
  padding: 30px 0;
  border-top: 6px solid #7a736e;
  border-bottom: 6px solid #7a736e; }
  .categoryList li:not(:last-child) {
    margin: 0 0 20px; }
  @media screen and (min-width: 750px) {
    .categoryList a {
      font-size: 1.714em; } }
  @media screen and (max-width: 750px) {
    .categoryList a {
      font-size: 1.167em; } }

/* contact */
.contact_tit {
  color: #1b1464;
  font-weight: 700; }
  @media screen and (min-width: 750px) {
    .contact_tit {
      font-size: 2.643em;
      margin: 0 0 80px; } }
  @media screen and (max-width: 750px) {
    .contact_tit {
      font-size: 1.833em;
      margin: 0 0 40px; } }

@media screen and (min-width: 750px) {
  .contact_formList {
    width: 50%; } }
@media screen and (min-width: 750px) {
  .contact_formList li:not(:last-child) {
    margin: 0 0 30px; } }
@media screen and (max-width: 750px) {
  .contact_formList li:not(:last-child) {
    margin: 0 0 20px; } }

.contact_formList_tit {
  font-weight: 700; }
  @media screen and (min-width: 750px) {
    .contact_formList_tit {
      font-size: 2.143em;
      margin: 0 0 20px; } }
  @media screen and (max-width: 750px) {
    .contact_formList_tit {
      font-size: 1.333em;
      margin: 0 0 10px; } }

.inpTxt {
  border-radius: 0;
  width: 100%;
  -webkit-appearance: none; }
  @media screen and (min-width: 750px) {
    .inpTxt {
      padding: 10px;
      border: 3px solid #7a736e; } }
  @media screen and (max-width: 750px) {
    .inpTxt {
      padding: 7px;
      border: 1px solid #7a736e; } }

.submit_btn {
  display: block;
  background: #1b1464;
  color: #fff;
  padding: 10px;
  border-radius: 0;
  transition: .5s;
  text-align: center;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none; }
  @media screen and (min-width: 750px) {
    .submit_btn {
      width: 50%;
      font-size: 2.143em;
      margin: 60px 0 0; } }
  @media screen and (max-width: 750px) {
    .submit_btn {
      width: 100%;
      font-size: 1.333em;
      margin: 30px 0 0; } }
  .submit_btn::-webkit-search-decoration {
    display: none; }
  .submit_btn::focus {
    outline-offset: -2px; }
  .submit_btn:hover {
    opacity: 0.6;
    text-decoration: none; }
