@charset "UTF-8";
/* Sass Document */
/* Scss Document */
/* 全体
============================================================================================================*/
* {
  padding: 0px;
  margin: 0px; }

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

/* body
============================================================================================================*/
body {
  color: #000000;
  font-size: 1em;
  line-height: 1.8;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  font-family: 'Noto Sans JP','Roboto',  sans-serif;
  margin-top: 0px;
  background-color: #fff; }

img {
  border-style: none;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  line-height: 100%; }

a {
  text-decoration: none;
  color: #003399; }
  a img {
    border-style: none; }

.clear {
  clear: both; }
  .clear hr {
    display: none; }

a:hover {
  text-decoration: underline;
  color: #FF6600;
  transition: 0.5s; }
  a:hover img {
    opacity: 0.6;
    filter: alpha(opacity=60);
    transition: 0.5s; }

ul li {
  list-style-type: none; }

.ankerbox {
  position: relative; }
  .ankerbox a {
    position: absolute;
    top: -60px; }

.video {
  width: 100%;
  /*横幅いっぱいにwidthを指定*/
  padding-bottom: 56.25%;
  /*高さをpaddingで指定(16:9)*/
  height: 0px;
  /*高さはpaddingで指定するためheightは0に*/
  position: relative;
  margin-top: 30px; }

.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/* Scss Document */
.ankerbox {
  position: relative; }

.ankerbox a {
  position: absolute;
  top: -120px; }

/* Scss Document */
header {
  transition: 2s;
  position: fixed;
  width: 100vw;
  z-index: 999; }
  header .section {
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
  header a:hover {
    color: orange; }
  header .logo {
    background: white;
    padding: 10px;
    margin-top: 15px; }
    header .logo img {
      max-height: 60px; }
  header nav {
    font-weight: 700;
    margin-right: 15px; }
    header nav ul {
      display: flex;
      justify-content: flex-end;
      flex-wrap: wrap;
      flex-direction: row; }
    header nav li {
      white-space: nowrap;
      writing-mode: vertical-rl;
      position: relative;
      transition: 0.5s;
      padding-top: 15px;
      padding-bottom: 15px; }
      header nav li:after {
        background: rgba(255, 87, 0, 0.8);
        transition: 0.5s;
        display: block;
        content: " ";
        width: 100%;
        height: 0px;
        position: absolute;
        top: 0;
        left: 0; }
      header nav li:hover:after {
        transition: 0.5s;
        display: block;
        content: " ";
        width: 20px;
        height: 100%; }
      header nav li a {
        display: block;
        padding-left: 8px;
        padding-right: 8px;
        font-family: 'Noto Serif JP', serif;
        color: white;
        font-weight: 600;
        text-shadow: 0 0 10px black;
        position: relative;
        z-index: 940; }
        header nav li a:hover {
          color: white;
          text-decoration: none;
          padding-top: 5px; }

.fixed {
  background: black;
  background: linear-gradient(180deg, black 0%, rgba(0, 0, 0, 0) 100%);
  transition: 0.9s; }

footer {
  background: #103ca0;
  padding: 5%; }
  footer .f-sec01 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px; }
    footer .f-sec01 p {
      font-size: 30px;
      font-family: 'Noto Serif JP', serif;
      color: white; }
    footer .f-sec01 nav ul {
      display: flex;
      justify-content: space-between; }
      footer .f-sec01 nav ul a {
        color: white;
        display: block;
        padding: 8px; }
  footer address {
    display: flex; }
    footer address dl {
      display: flex;
      color: white; }
      footer address dl dt {
        font-weight: 600;
        font-size: 18px;
        margin-right: 20px; }

.top {
  position: fixed;
  z-index: 998;
  bottom: 10px;
  right: 10px; }
  .top a {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    color: white;
    justify-content: center;
    align-items: center;
    background: #001956;
    display: flex; }
    .top a:hover {
      background: #ff8803; }

/* Scss Document contents */
.cp_fullscreenmenu {
  display: none; }

.section {
  max-width: 1200px;
  min-width: 740px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px; }

.mv {
  position: relative;
  min-width: 760px; }
  .mv .text {
    position: absolute;
    top: 0;
    z-index: 950;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center; }
    .mv .text p {
      height: 65%;
      margin-top: 10%; }
    .mv .text img {
      height: 100%; }
  .mv:before {
    display: block;
    content: " ";
    position: absolute;
    background: white;
    width: 50%;
    bottom: 0;
    height: 60px;
    clip-path: polygon(0% 0, 100% 100%, 0 100%);
    z-index: 960;
    border-bottom: 1px white solid;
    transform: translateY(1px); }
  .mv:after {
    display: block;
    content: " ";
    position: absolute;
    background: white;
    width: 50%;
    bottom: 0;
    right: 0;
    height: 60px;
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
    z-index: 960;
    border-bottom: 2px white solid;
    transform: translateY(1px); }

.index {
  margin-top: 60px;
  margin-bottom: 60px; }
  .index .section {
    max-width: 1200px; }
  .index h2 {
    font-family: 'Noto Serif JP', serif;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 60px; }
    .index h2 span {
      font-size: 18px;
      font-family: 'Noto Sans JP', sans-serif; }
  .index .sec01 {
    position: relative; }
    .index .sec01 .bk img {
      width: 100%; }
    .index .sec01 .set {
      width: 100%;
      bottom: 0%;
      transform: translateY(-60px); }
      .index .sec01 .set .inner {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
      .index .sec01 .set .box {
        box-shadow: 0 0 20px #000;
        background-color: white;
        background-image: url("../img/index/t-bk.png");
        background-repeat: no-repeat;
        background-position: right top; }
      .index .sec01 .set article {
        padding: 40px; }
        .index .sec01 .set article h3 {
          font-size: 24px;
          font-weight: 600;
          display: flex;
          justify-content: space-between;
          position: relative;
          padding-bottom: 20px;
          margin-bottom: 20px;
          align-items: flex-end;
          margin-right: 150px; }
          .index .sec01 .set article h3 span {
            font-size: 14px; }
          .index .sec01 .set article h3:before {
            display: block;
            content: " ";
            width: 50px;
            height: 3px;
            background: #3650e8;
            position: absolute;
            bottom: 0; }
        .index .sec01 .set article p {
          margin-right: 230px; }
      .index .sec01 .set .link {
        position: relative; }
        .index .sec01 .set .link a {
          position: absolute;
          right: 0px;
          bottom: 0px; }
    .index .sec01 .rv .box {
      background-position: left bottom; }
    .index .sec01 .rv article h3 {
      margin-left: 150px;
      margin-right: 0px; }
    .index .sec01 .rv article p {
      margin-left: 180px; }
  .index .sec02 {
    position: relative; }
    .index .sec02 .bk img {
      width: 100%; }
    .index .sec02 .inner {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0; }
    .index .sec02 .box {
      width: 50%;
      padding-top: 30px;
      margin-left: 5%;
      margin-bottom: 20px; }
      .index .sec02 .box h3 {
        font-family: 'Noto Serif JP', serif;
        font-size: 32px;
        font-weight: 600;
        margin-bottom: 30px; }
      .index .sec02 .box p {
        background: rgba(255, 255, 255, 0.5);
        padding: 15px; }
        .index .sec02 .box p span {
          font-weight: 600;
          color: #1b4916;
          display: block;
          margin-bottom: 10px; }
    .index .sec02 .s-menu {
      background: rgba(0, 0, 0, 0.5);
      width: 100vw; }
      .index .sec02 .s-menu ul {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 90%;
        margin-left: auto;
        margin-right: auto; }
        .index .sec02 .s-menu ul li {
          flex-basis: 30%;
          margin: 1.5%; }
          .index .sec02 .s-menu ul li a {
            display: block;
            position: relative; }
            .index .sec02 .s-menu ul li a span {
              position: absolute;
              width: 100%;
              height: 100%;
              display: flex;
              justify-content: center;
              align-items: center;
              color: white;
              top: 0;
              text-shadow: 0 0 3px black,0 0 3px black;
              font-weight: 600;
              font-size: 18px;
              z-index: 960; }
            .index .sec02 .s-menu ul li a:after {
              display: block;
              position: absolute;
              content: " ";
              width: 100%;
              height: 0%;
              top: 50%;
              background: rgba(255, 71, 0, 0.5);
              z-index: 950;
              transition: 0.3s; }
            .index .sec02 .s-menu ul li a:hover:after {
              height: 100%;
              transition: 0.3s;
              top: 0; }

.mv-page {
  position: relative; }
  .mv-page img {
    width: 100%; }
  .mv-page .text {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
    .mv-page .text p {
      color: white;
      font-size: 24px;
      font-family: 'Noto Serif JP', serif;
      padding-top: 60px; }

@media screen and (max-width: 900px) {
  .mv-page img {
    width: 100%;
    height: 200px;
    object-fit: cover; } }
.map {
  margin-bottom: 60px; }
  .map iframe {
    width: 100%;
    height: 400px;
    margin-bottom: 10px; }

.btn-a a {
  position: relative;
  display: block;
  min-width: 200px;
  height: 50px;
  line-height: 100%;
  font-size: 18px;
  text-decoration: none;
  text-align: center;
  z-index: 2;
  overflow: hidden;
  transition: all 0.4s;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  margin: 5px;
  background: #c4c4c4;
  text-decoration: none;
  background: linear-gradient(132deg, #c4c4c4 0%, #ededed 50%, #bdbdbd 100%);
  color: black; }
  .btn-a a:hover {
    color: #fff;
    text-decoration: none; }
    .btn-a a:hover:after {
      top: 0;
      left: 0;
      background-color: #f15a4a; }
  .btn-a a:after, .btn-a a:before {
    position: absolute;
    z-index: -1;
    display: block;
    content: "";
    box-sizing: border-box;
    -webkit-transition: all 0.4s;
    transition: all 0.4s; }
  .btn-a a:after {
    top: 0;
    left: -200px;
    width: 100%;
    height: 100%; }

.news {
  margin-bottom: 60px; }
  .news .box {
    max-width: 600px;
    box-shadow: 0 0 10px lightgray;
    padding: 15px;
    border-radius: 10px;
    margin-left: auto;
    margin-right: auto; }
    .news .box dl {
      display: flex;
      justify-content: space-between;
      padding: 10px; }
      .news .box dl dt {
        flex-basis: 120px;
        border-right: 1px solid gray; }
      .news .box dl dd {
        flex-basis: calc(100% - 130px); }
        .news .box dl dd a {
          color: black; }

.pages {
  background: #fafafa;
  padding-top: 60px;
  padding-bottom: 60px; }
  .pages .submenu {
    margin-bottom: 60px; }
    .pages .submenu ul {
      display: flex;
      justify-content: center;
      align-items: center; }
      .pages .submenu ul li {
        margin: 5px; }
        .pages .submenu ul li a {
          position: relative;
          display: block;
          min-width: 200px;
          height: 50px;
          line-height: 100%;
          font-size: 18px;
          text-decoration: none;
          text-align: center;
          z-index: 2;
          overflow: hidden;
          transition: all 0.4s;
          display: flex;
          justify-content: center;
          align-items: center;
          border-radius: 50px;
          margin: 5px;
          background: #c4c4c4;
          text-decoration: none;
          background: linear-gradient(132deg, #c4c4c4 0%, #ededed 50%, #bdbdbd 100%);
          color: black; }
          .pages .submenu ul li a:hover {
            color: #fff;
            text-decoration: none; }
            .pages .submenu ul li a:hover:after {
              top: 0;
              left: 0;
              background-color: #f15a4a; }
          .pages .submenu ul li a:after, .pages .submenu ul li a:before {
            position: absolute;
            z-index: -1;
            display: block;
            content: "";
            box-sizing: border-box;
            -webkit-transition: all 0.4s;
            transition: all 0.4s; }
          .pages .submenu ul li a:after {
            top: 0;
            left: -200px;
            width: 100%;
            height: 100%; }
  .pages h2 {
    font-size: 28px;
    font-family: 'Noto Serif JP', serif;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-bottom: 50px; }
    .pages h2:after {
      display: block;
      content: " ";
      border-bottom: 5px solid gray;
      width: 50px;
      margin-top: 20px; }
  .pages section {
    margin-bottom: 80px; }

.photolist ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .photolist ul li {
    flex-basis: 300px;
    margin: 0 1% 30px 1%; }
    .photolist ul li a {
      color: black; }
    .photolist ul li img {
      width: 300px;
      height: 300px;
      object-fit: cover;
      transition: 0.5s;
      display: block; }
      .photolist ul li img:hover {
        border-radius: 10px;
        transition: 0.5s; }

.about .sec01 dl {
  max-width: 950px;
  display: flex;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto; }
.about .sec01 dt {
  flex-basis: 40%; }
.about .sec01 dd {
  flex-basis: 57%; }
  .about .sec01 dd p {
    margin-bottom: 30px;
    text-indent: 15px; }
  .about .sec01 dd span {
    font-size: 24px;
    font-family: 'Noto Serif JP', serif;
    margin-left: auto;
    display: block;
    text-align: end; }
.about .sec02 ul {
  background: white;
  max-width: 950px;
  margin-left: auto;
  margin-right: auto; }
  .about .sec02 ul li {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px dotted lightgray; }
    .about .sec02 ul li:last-child {
      border-bottom: 0; }
    .about .sec02 ul li span {
      flex-basis: 20%;
      padding: 2%; }
    .about .sec02 ul li p {
      flex-basis: 72%;
      padding: 2%; }
.about .sec03 ul {
  max-width: 650px;
  margin-left: auto;
  margin-right: auto; }
  .about .sec03 ul li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    padding-bottom: 30px; }
    .about .sec03 ul li:before {
      display: block;
      border-left: 1px solid gray;
      height: 100%;
      content: " ";
      position: absolute;
      left: 140px;
      top: 15px; }
    .about .sec03 ul li:after {
      display: block;
      content: " ";
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: red;
      position: absolute;
      left: 135px;
      top: 12px; }
    .about .sec03 ul li span {
      flex-basis: 120px;
      background: #113901;
      color: white;
      font-family: 'Noto Serif JP', serif;
      text-align: center;
      border-radius: 10px; }
    .about .sec03 ul li p {
      flex-basis: calc(100% - 160px); }
    .about .sec03 ul li:last-child:before {
      display: none; }

.vehicle .main {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }
  .vehicle .main img {
    display: block;
    margin-bottom: 20px; }

.recruit .sec01 {
  background: #e4e4e4;
  padding-top: 40px;
  padding-bottom: 40px; }
  .recruit .sec01 dl {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px; }
    .recruit .sec01 dl dt {
      flex-basis: 50%; }
    .recruit .sec01 dl dd {
      flex-basis: 48%; }
  .recruit .sec01 .section article:nth-child(even) dl {
    flex-direction: row-reverse; }
.recruit h3 {
  font-size: 22px;
  font-weight: 600;
  padding: 10px 0 10px 20px;
  margin-bottom: 20px;
  position: relative; }
  .recruit h3:before {
    display: block;
    content: " ";
    width: 5px;
    height: 100%;
    background: #4980ff;
    position: absolute;
    left: 2px;
    top: 0; }
  .recruit h3:after {
    display: block;
    content: " ";
    width: 8px;
    height: 8px;
    background: #ffa600;
    position: absolute;
    left: 0;
    top: 0; }
.recruit .sec02 .section {
  display: flex;
  justify-content: center; }
.recruit .sec02 .list {
  flex-basis: 50%; }
  .recruit .sec02 .list ul {
    max-width: 650px;
    margin-left: auto;
    margin-right: auto; }
    .recruit .sec02 .list ul li {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      position: relative;
      padding-bottom: 50px; }
      .recruit .sec02 .list ul li:before {
        display: block;
        border-left: 1px solid gray;
        height: 100%;
        content: " ";
        position: absolute;
        left: 140px;
        top: 15px; }
      .recruit .sec02 .list ul li:after {
        display: block;
        content: " ";
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: #ffa516;
        position: absolute;
        left: 135px;
        top: 12px; }
      .recruit .sec02 .list ul li span {
        flex-basis: 120px;
        background: #e93a28;
        color: white;
        font-family: 'Noto Serif JP', serif;
        text-align: center;
        border-radius: 10px; }
      .recruit .sec02 .list ul li p {
        flex-basis: calc(100% - 160px); }
      .recruit .sec02 .list ul li:last-child:before {
        display: none; }
.recruit .sec02 .photo {
  flex-basis: 30%; }
  .recruit .sec02 .photo ul {
    display: flex;
    justify-content: space-between;
    flex-direction: column; }
  .recruit .sec02 .photo li {
    margin: 5px; }
.recruit .sec03 .box {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px; }
  .recruit .sec03 .box dl {
    display: flex;
    border-bottom: 1px solid #ccc;
    margin: 0; }
    .recruit .sec03 .box dl:last-child {
      border: 0; }
  .recruit .sec03 .box dt {
    flex-basis: 30%;
    background: rgba(212, 238, 255, 0.5);
    padding: 10px;
    margin: 0; }
  .recruit .sec03 .box dd {
    flex-basis: 70%;
    padding: 10px;
    margin: 0; }

.unso .sec01 {
  text-align: center; }
  .unso .sec01 dl dt p {
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: 800;
    color: #184bb1; }
  .unso .sec01 dl dt img {
    width: 100%; }
  .unso .sec01 dl dd {
    margin-top: 30px; }
.unso .sec02 .section div {
  position: relative;
  margin-bottom: 50px; }
  .unso .sec02 .section div:nth-child(2) article {
    right: 0; }
.unso .sec02 .section article {
  position: absolute;
  width: 50%;
  padding: 5%;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8); }
  .unso .sec02 .section article h3 {
    margin-bottom: 10px;
    font-size: 24px;
    font-weight: 800;
    color: #184bb1; }
.unso .sec03 ul li {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .unso .sec03 ul li div {
    display: flex;
    flex-basis: 50%; }
    .unso .sec03 ul li div span {
      padding: 5px; }
  .unso .sec03 ul li article {
    flex-basis: 45%; }
    .unso .sec03 ul li article h3 {
      font-weight: 600;
      font-size: 22px; }
.unso .sec04 ul {
  max-width: 800px;
  background: white;
  margin-left: auto;
  margin-right: auto; }
  .unso .sec04 ul li {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px dotted lightgray; }
    .unso .sec04 ul li div {
      flex-basis: 120px;
      padding: 10px;
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: 600;
      color: #262626; }
    .unso .sec04 ul li article {
      flex-basis: calc(100% - 140px);
      padding: 10px; }

.blog {
  display: flex;
  justify-content: space-between; }
  .blog .blog-a {
    flex-basis: calc(100% - 140px); }
    .blog .blog-a section {
      margin-bottom: 30px; }
    .blog .blog-a h3 {
      position: relative;
      padding: .5em 1.2em;
      color: #333333;
      font-size: 18px;
      font-weight: 600;
      border-bottom: 1px solid gray;
      margin-bottom: 0px; }
      .blog .blog-a h3:before, .blog .blog-a h3:after {
        display: inline-block;
        position: absolute;
        transform: translateY(-50%);
        width: 12px;
        height: 12px;
        border: 2px solid #2589d0;
        content: ''; }
      .blog .blog-a h3:before {
        top: calc(50% - 3px);
        left: 0; }
      .blog .blog-a h3:after {
        top: calc(50% + 3px);
        left: 5px; }
    .blog .blog-a article {
      padding-left: 20px;
      min-height: 200px;
      margin-bottom: 20px;
      background: white; }
      .blog .blog-a article time {
        text-align: end;
        color: #4d4d4d;
        margin-bottom: 12px;
        display: block;
        padding: 5px; }
  .blog .blog-b {
    flex-basis: 130px; }
    .blog .blog-b ul li {
      border-bottom: 1px dotted gray; }
      .blog .blog-b ul li a {
        display: block;
        padding: 5px 5px 5px 10px;
        color: black;
        transition: 0.5s; }
        .blog .blog-b ul li a:hover {
          background: #ffe9d1;
          color: #582300;
          padding-left: 5px;
          transition: 0.5s;
          text-decoration: none; }

/* Scss Document */
.contact {
  margin-top: 20px;
  padding-bottom: 50px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto; }
  .contact dl {
    background: white;
    display: flex;
    justify-content: space-between; }
    .contact dl dt {
      flex-basis: 30%;
      text-align: left; }
    .contact dl dd {
      flex-basis: 70%; }
    .contact dl dt, .contact dl dd {
      padding: 10px; }
    .contact dl dd input {
      padding: 8px; }
    .contact dl:nth-child(even) {
      background: rgba(213, 213, 213, 0.2); }
  .contact p {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px; }
  .contact article {
    font-size: 80%;
    text-align: center;
    margin-top: 10px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto; }

@media screen and (max-width: 480px) {
  * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }

  .cp_fullscreenmenu {
    display: block; }

  .cp_fullscreenmenu {
    position: fixed;
    z-index: 1050;
    top: 5px;
    right: 5px;
    border: 1px solid #ababab; }

  /*menuコンテンツ*/
  .cp_fullscreenmenu .menu {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    visibility: hidden;
    overflow: hidden;
    width: 100%;
    height: 100%;
    pointer-events: none;
    outline: 1px solid transparent;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    align-items: center;
    justify-content: center; }

  .cp_fullscreenmenu .menu > div {
    display: flex;
    overflow: hidden;
    width: 200vw;
    height: 200vw;
    transition: all 0.4s ease;
    -webkit-transform: scale(0);
    transform: scale(0);
    text-align: center;
    color: #212121;
    flex: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.8); }

  .cp_fullscreenmenu .menu > div > ul {
    max-height: 200vh;
    margin: 0;
    padding: 0 1em;
    list-style: none;
    opacity: 0;
    width: 100%; }

  .cp_fullscreenmenu .menu > div > ul > li {
    display: block;
    padding: 0;
    font-size: 90%;
    border-bottom: 1px dotted white; }

  .cp_fullscreenmenu .menu > div > ul > li a {
    display: block;
    padding-top: 8px;
    padding-right: 8px;
    padding-bottom: 8px;
    padding-left: 8px;
    color: white; }

  /*クリックしたらメニューが開閉の動作*/
  .cp_fullscreenmenu .toggle {
    position: fixed;
    z-index: 999;
    top: 0px;
    width: 50px;
    height: 50px;
    cursor: pointer;
    opacity: 0;
    right: 0px; }

  .cp_fullscreenmenu .toggle:checked + .hamburger > span {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg); }

  .cp_fullscreenmenu .toggle:checked + .hamburger > span:before,
  .cp_fullscreenmenu .toggle:checked + .hamburger > span:after {
    top: 0;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); }

  .cp_fullscreenmenu .toggle:checked + .hamburger > span:after {
    opacity: 0; }

  .cp_fullscreenmenu .toggle:checked ~ .menu {
    visibility: visible;
    pointer-events: auto; }

  .cp_fullscreenmenu .toggle:checked ~ .menu > div {
    transition-duration: 0.75s;
    -webkit-transform: scale(1);
    transform: scale(1); }

  .cp_fullscreenmenu .toggle:checked ~ .menu > div > ul {
    opacity: 1; }

  .cp_fullscreenmenu .toggle:checked:hover + .hamburger > span {
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg); }

  /*ハンバーガー*/
  .cp_fullscreenmenu .hamburger {
    z-index: 980;
    top: 5px;
    display: block;
    width: 50px;
    height: 50px;
    padding: 0.5em 1em;
    cursor: pointer;
    transition: box-shadow 0.4s ease;
    border-radius: 0 0.12em 0.12em 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    right: 0%;
    background-color: white;
    position: fixed;
    border: 1px solid #cccccc; }

  .cp_fullscreenmenu .hamburger > span {
    position: relative;
    top: 50%;
    display: block;
    width: 100%;
    height: 2px;
    transition: all 0.4s ease;
    background-color: #525252;
    right: 0px; }

  .cp_fullscreenmenu .hamburger > span:before,
  .cp_fullscreenmenu .hamburger > span:after {
    position: absolute;
    z-index: 1;
    top: -10px;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    content: '';
    transition: all 0.4s ease;
    background: inherit; }

  .cp_fullscreenmenu .hamburger > span:after {
    top: 10px; }

  .dropdown {
    display: inline-block;
    width: 100%; }

  #tg, #tg2 {
    display: none; } }
/* Scss mobile contents */
@media screen and (max-width: 480px) {
  header nav, .f-sec01 nav, .pages .submenu {
    display: none; }

  header .logo img {
    max-height: 25px; }

  footer address, footer address dl {
    display: block; }

  .mv, .section {
    min-width: 310px;
    max-width: 480px; }

  .mv .flexslider .slides li img {
    width: 100%;
    height: 500px;
    object-fit: cover; }

  .index .sec01 .bk img {
    width: 100%;
    height: 300px;
    object-fit: cover; }

  .index .sec01 .set .box {
    background-image: url(""); }

  .index .sec01 .set article {
    padding: 15px; }

  .index .sec01 .set article h3, .index .sec01 .set article p {
    margin-right: 0px; }

  .index .sec01 .set article h3, .index .sec01 .set article h3 span {
    display: block; }

  .index .sec01 .set .link a {
    position: relative; }

  .index .sec02 .box {
    width: auto; }

  .index .sec01 .rv article h3, .index .sec01 .rv article p {
    margin-left: 0px; }

  .index .sec02 .inner {
    position: relative; }

  .index .sec02 .s-menu {
    background: white; }

  .index .sec02 .s-menu ul {
    display: block; }

  .index .sec02 .s-menu ul li {
    margin-bottom: 10px; }

  .about .sec01 dl, .about .sec02 ul li {
    display: block; }

  .about .sec01 dt img {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
    display: block;
    margin-bottom: 15px; }

  .about .sec02 ul li span {
    display: block;
    font-weight: 600; }

  .about .sec02 ul li p {
    padding-left: 15px;
    padding-bottom: 15px; }

  .contact dl {
    display: block; }

  .recruit .sec01 dl, .recruit .sec02 .section, .recruit .sec03 .box dl {
    display: block; }

  .recruit .sec02 .photo ul {
    flex-direction: row;
    flex-wrap: wrap; }

  .recruit .sec02 .photo ul li {
    flex-basis: 46%; }

  .unso .sec02 .section article {
    position: relative;
    width: auto; }

  .unso .sec03 ul li {
    display: block; }

  .photolist ul li {
    flex-basis: 45%; }

  .photolist ul li img {
    height: 200px; }

  .blog {
    display: block; }

  .blog-b ul {
    display: flex;
    flex-wrap: wrap; }
    .blog-b ul li {
      margin: 3px; } }
