/*
Theme Name: cirfic */
@import url(css/import/reset.css);
@import url(css/import/util.css);
@import url(css/main.css);
@import url(css/responsive.css);
.home {
  /* #loadingArea */
  /* section01 */
  /* iPad */
  /* section02 about us */
  /* section03 */
  /* section04 */
  /* section05 */
  /* section06 */
  /* cvBox */
}
.home #loadingArea {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 9999;
}
.home #loadingArea .loadAnime {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -37px;
  margin-top: -51px;
  text-align: center;
}
.home #loadingArea .loadAnime h2 {
  margin-left: -40px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 640px) {
  .home #loadingArea .loadAnime {
    margin-left: -37px;
    margin-top: -36px;
  }
  .home #loadingArea .loadAnime h2 {
    margin-left: -34px;
    margin-bottom: 20px;
  }
  .home #loadingArea .loadAnime h2 img {
    zoom: 0.75;
  }
}
.home body #container {
  margin-bottom: 60px;
}
@media only screen and (max-width: 640px) {
  .home body #container {
    margin-bottom: 0;
  }
}
.home .section {
  position: relative;
  margin-bottom: 2px;
}
.home .section .left {
  float: left;
}
.home .section .right {
  float: right;
}
.home .clms > div {
  float: left;
}
@media only screen and (max-width: 640px) {
  .home .section {
    margin-bottom: 0;
  }
  .home .section .left,
  .home .section .right,
  .home .clms > div {
    float: none;
  }
}
.home .section01 {
  margin: 0 0 -0.3%;
  opacity: 0;
  transition: 1s;
}
.home .iPad .section01 {
  background-attachment: inherit;
}
.home .section01.on {
  opacity: 1;
}
.home .section01 .bg {
  opacity: inherit;
}
.home .section01 .bg.sp {
  display: none;
}
.home .section01 h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -184px;
  margin-left: -184px;
  opacity: 0;
  transform: translateY(20px);
  transition: 1s;
}

.home .section01 h2.on {
  opacity: 1;
  transform: translateY(0);
}

.home .section01 h2.on {
  opacity: 1;
  transform: translateY(0);
  position: absolute;
  width: 100%;
  top: 10px;
}
.home .section01 h2 .sp {
  display: none;
}

/* new style */
.home .section01 .theme {
  font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium",
    YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo,
    "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 0;
  margin-left: 0;
  /* opacity: 0; */
  transform: translateY(20px);
  transition: 1s;
  text-align: center;
  font-size: 180%;
  width: 100%;
  color: #fff;
}

.home .section01 h2 {
  position: absolute;
  margin: 0;
  left: 0;
  width: 100%;
}

.home .section01 h2 img {
  width: 100%;
}

.home .section01 .circle img {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.home .section01 .theme.on {
  opacity: 1;
  transform: translateY(0);
}
.home .section01 .theme .sp {
  display: none;
}

.home .section01 .box1 {
  position: absolute;
  top: 30%;
  width: 100%;
  left: 0;
  overflow: hidden;
}
.home .section01 .box1,
.home .section01 .box2 {
  overflow: hidden;
  color: #fff;
  padding-bottom: 20px;
}
.home .section01 .box1 li,
.home .section01 .box2 li {
  float: left;
  width: 33%;
}

.home .section01 .theme-box {
  width: 60%;
  margin: 0 auto;
  border: 1px solid #fff;
  color: #2f3237;
  padding: 5%;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.75);
  text-align: center;
}
.home .section01 .theme-box p {
  line-height: 2;
  font-size: 140%;
}

.home .section01 .theme-box strong {
  font-size: 160%;
  margin-bottom: 20px;
  display: block;
  color: red;
}

@media only screen and (max-width: 640px) {
  .home .section01 {
    opacity: 1;
    background-image: url(./imgs/sp/img-main.jpg);
    background-attachment: inherit;
    position: relative;
  }
  .home .section01 .bg.pc {
    display: none;
  }
  .home .section01 .bg.sp {
    display: block;
  }
  .home .section01 h2 {
    opacity: 1;
  }
  .home .section01 h2 .pc {
    display: none;
  }
  .home .section01 h2 .sp {
    display: block;
  }
  .home .section01 h2 {
    position: absolute;
    top: 0;
  }
  .home .section01 h2 img {
    width: 75%;
    margin: 0 auto;
  }
  /* new style */
  .home .section01 .theme {
    opacity: 1;
    position: relative;
  }
  .home .section01 .theme.on {
    position: relative;
  }
  .home .section01 .theme .pc {
    display: none;
  }
  .home .section01 .theme .sp {
    position: absolute;
    bottom: 0;
    display: block;
  }
  .home .section01 .circle li {
    width: 33%;
    float: left;
  }
  .home .section01 .theme img {
    width: 95%;
    margin: 0 auto;
    position: relative;
  }
}

/* 整体予約ボタン */
.reservation-banner {
  padding: 32px;
  background: #ffe2cc;
}
.ctaItem {
  margin: auto;
  cursor: pointer;
  padding: 2.93vw 0;
  justify-content: center;
  transition: all 0.3s;
  background-color: #ff852d;
  width: 100%;
  align-items: center;
  gap: 12px;
}
@media screen and (min-width: 1024px) {
  .ctaItem {
    padding: 16px 0;
    max-width: 320px;
  }
}
@media screen and (min-width: 1024px) {
  .ctaItem:hover {
    background-color: #ffa366;
  }
}
.ctaItem_img {
  height: 5.86vw;
}
@media screen and (min-width: 1024px) {
  .ctaItem_img {
    height: 48px;
  }
}
.arrow_img {
  height: 5.86vw;
}
@media screen and (min-width: 1024px) {
  .arrow_img {
    height: 48px;
  }
}
.ctaItem_img figure {
  height: 100%;
}
.ctaItem_img figure img {
  height: 100%;
  width: auto;
}
.arrow_img figure {
  height: 100%;
}
.arrow_img figure img {
  height: 100%;
  width: auto;
}
.ctaItem-text {
  margin: 0;
  color: #fff;
  /* font-family: "A-OTF-M"; */
  text-align: center;
  font-size: 3.2vw;
  font-style: normal;
  line-height: 100%;
}
@media screen and (min-width: 1024px) {
  .ctaItem-text {
    font-size: 2rem;
    /* width: unset; */
  }
}
.-flex {
  display: flex;
  flex-wrap: wrap;
}
.reservation-popup {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  transition: all 0.3s;
  opacity: 0;
  visibility: hidden;
}
.reservation-popup.js-reservation-open {
  opacity: 1;
  visibility: visible;
}
.reservation-popup::after {
  content: "";
  background-color: #000;
  opacity: 0.6;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.reservation-popupContent {
  width: 100%;
  height: 100%;
  padding: 23.46vw 3.2vw 40vw;
  margin: 0 auto;
  overflow-y: scroll;
  box-sizing: border-box;
}
@media screen and (min-width: 1024px) {
  .reservation-popupContent {
    padding: 120px 0 0;
  }
}
.reservation-popup__inner {
  background-color: #eee;
  border-radius: 2.13vw;
  padding: 5.33vw;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .reservation-popup__inner {
    border-radius: 20px;
    padding: 64px 104px;
    width: 990px;
    height: 100%;
    margin: 0 auto;
    height: auto;
    overflow-y: visible;
  }
}
.reservation-popup-close {
  display: none;
}
@media screen and (min-width: 1024px) {
  .reservation-popup-close {
    cursor: pointer;
    position: absolute;
    display: block;
    width: 22px;
    height: 22px;
    top: -36px;
    right: 16px;
  }
}
.reservation-popup-close::before,
.reservation-popup-close::after {
  content: "";
  background-color: #fff;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
}
.reservation-popup-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.reservation-popup-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.reservation-popup-close_bottom {
  width: 21.33vw;
  margin: 7.46vw auto 0;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .reservation-popup-close_bottom {
    display: none;
  }
}
.reservation-popup-close_bottom::before,
.reservation-popup-close_bottom::after {
  content: "";
  background-color: #454545;
  width: 4.8vw;
  height: 0.53vw;
  position: absolute;
  top: 50%;
  left: 0;
}
.reservation-popup-close_bottom::before {
  transform: translateY(-50%) rotate(45deg);
}
.reservation-popup-close_bottom::after {
  transform: translateY(-50%) rotate(-45deg);
}
.reservation-popup-close_bottom p {
  color: #454545;
  text-align: right;
  /* font-family: "A-OTF-DB"; */
  font-size: 4.2666666667vw;
  line-height: 100%;
}
.reservation-popup-ttl {
  color: #ff852d;
  text-align: center;
  /* font-family: "A-OTF-DB"; */
  font-size: 5.3333333333vw;
  line-height: 130%;
  font-weight: 700;
}
@media screen and (min-width: 1024px) {
  .reservation-popup-ttl {
    font-size: 2.4rem;
  }
}
.reservation-popupList {
  margin-top: 4.26vw;
}
@media screen and (min-width: 1024px) {
  .reservation-popupList {
    margin-top: 38px;
    align-items: center;
    gap: 20px;
    flex-wrap: nowrap;
  }
}
.reservation-popupItem {
  border: 1px solid #ddd;
  background-color: #fff;
  border-radius: 2.13vw;
  box-shadow: 4px 8px 22px 0px rgba(0, 93, 160, 0.05);
  width: 100%;
  transition: all 0.3s;
}
@media screen and (min-width: 1024px) {
  .reservation-popupItem {
    border: 2px solid #ddd;
    border-radius: 4px;
    width: calc(33.3333333333% - 10px);
  }
}
.reservation-popupItem:not(:first-child) {
  margin-top: 4.26vw;
}
@media screen and (min-width: 1024px) {
  .reservation-popupItem:not(:first-child) {
    margin-top: 0;
  }
}
@media screen and (min-width: 1024px) {
  .reservation-popupItem:hover {
    border: 2px solid #ff852d;
  }
}
@media screen and (min-width: 1024px) {
  .reservation-popupItem:hover .experience-popupItem_info_btn p::after,
  .reservation-popupItem:hover .join-popupItem_info_btn p::after {
    transform: translate(5px, -50%);
  }
}
.reservation-popupItem a {
  align-items: center;
  justify-content: space-between;
}
.reservation-popupItem_img {
  width: 37.94%;
}
@media screen and (min-width: 1024px) {
  .reservation-popupItem_img {
    width: 100%;
  }
}
.reservation-popupItem_img img {
  border-radius: 2.13vw 0 0 2.13vw;
  display: block;
}
@media screen and (min-width: 1024px) {
  .reservation-popupItem_img img {
    border-radius: 4px 4px 0 0;
  }
}
.reservation-popupItem_info {
  width: 51.06%;
  padding: 0 4.26vw;
}
@media screen and (min-width: 1024px) {
  .reservation-popupItem_info {
    width: 100%;
    padding: 14.5px 10px 10px;
  }
}
.reservation-popupItem_info-ttl {
  color: #ff852d;
  /* font-family: "A-OTF-DB"; */
  font-size: 4.2666666667vw;
  line-height: 100%;
  font-weight: 700;
}
@media screen and (min-width: 1024px) {
  .reservation-popupItem_info-ttl {
    font-size: 2.4rem;
    text-align: center;
  }
}
.reservation-popupItem_info-address {
  color: #454545;
  /* font-family: "A-OTF-M"; */
  font-size: 2.6666666667vw;
  line-height: 150%;
  margin-top: 2.13vw;
  font-weight: 700;
}
@media screen and (min-width: 1024px) {
  .reservation-popupItem_info-address {
    font-size: 1.2rem;
    text-align: center;
    margin-top: 16px;
  }
}
.reservation-popupItem_info_btn {
  border-radius: 1.06vw;
  background-color: #ff852d;
  margin-top: 2.13vw;
}
@media screen and (min-width: 1024px) {
  .reservation-popupItem_info_btn {
    border-radius: 4px;
    margin-top: 24px;
  }
}
.reservation-popupItem_info_btn p {
  color: #fff;
  /* font-family: "A-OTF-M"; */
  font-size: 2.6666666667vw;
  line-height: 150%;
  padding: 3.2vw 7.53vw 3.2vw 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
@media screen and (min-width: 1024px) {
  .reservation-popupItem_info_btn p {
    font-size: 1.4rem;
    padding: 16px 36px 16px 0;
  }
}
.reservation-popupItem_info_btn p::after {
  content: "";
  background-image: url("assets/img/icon-expe-arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 5.33vw;
  height: 2.93vw;
  position: absolute;
  top: 50%;
  right: 3.8vw;
  transform: translateY(-50%);
  transition: all 0.3s;
}
@media screen and (min-width: 1024px) {
  .reservation-popupItem_info_btn p::after {
    width: 24px;
    height: 11px;
    right: 32px;
  }
}
@media screen and (min-width: 1024px) {
  .reservation-popupItem:nth-child(1) .experience-popupItem_info,
  .reservation-popupItem:nth-child(1) .join-popupItem_info,
  .reservation-popupItem:nth-child(1) .reservation-popupItem_info,
  .reservation-popupItem:nth-child(3) .experience-popupItem_info,
  .reservation-popupItem:nth-child(3) .join-popupItem_info,
  .reservation-popupItem:nth-child(3) .reservation-popupItem_info {
    padding-top: 33px;
  }
}
body.fixed {
  width: 100%;
  height: 100%;
  position: fixed !important;
}

.home .section02 {
  color: #fff;
  background-color: #75a1b9;
  position: relative;
  overflow: hidden;
}
.home .section02 a {
  position: relative;
  overflow: hidden;
  display: block;
  transition: 0.45s;
  color: #fff;
}
.home .section02 h2 {
  width: 50%;
  color: #fff;
  margin-bottom: 50px;
}
.home .section02 .left a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.9);
  transform: scale(1.2, 1.2);
  transition: 0.45s;
}
.home .section02 .left a:hover::before {
  transform: scale(0.9, 0.9);
}
.home .section02 .left {
  width: 49.609375%;
}
.home .section02 .right {
  width: 50.390625%;
  vertical-align: bottom;
}
.home .section02 .left .inner {
  padding: 100px;
}
.home .section02 .left .inner h3 {
  margin-bottom: 60px;
}
.home .section02 .left .inner h3 .sp {
  display: none;
}
.home .section02 .left .inner .btn {
  margin-top: 50px;
}
.home .section02 .left .inner .btn a {
  display: inline-block;
  color: #fff;
  padding: 10px 45px;
  border: 1px solid #fff;
  transition: 0.5s;
}
.home .section02 .left .inner .btn a:hover {
  color: #75a1b9;
  background-color: #fff;
}
.home .section02 .right .sp {
  display: none;
}
@media only screen and (max-width: 640px) {
  .home .section02 {
    height: auto;
  }
  .home .section02 .left,
  .home .section02 .right {
    width: 100%;
  }
  .home .section02 .left .inner {
    padding: 40px 20px;
  }
  .home .section02 .left .inner h2 {
    font-size: 200%;
    margin-bottom: 20px;
  }
  .home .section02 .left .inner h3 {
    margin-bottom: 30px;
  }
  .home .section02 .left .inner h3 .pc {
    display: none;
  }
  .home .section02 .left .inner h3 .sp {
    display: block;
  }
  .home .section02 .left .inner h3 img {
    zoom: 0.75;
  }
  .home .section02 .left .inner p {
    font-size: 10px;
  }
  .home .section02 .left .inner .btn {
    margin-top: 40px;
  }
  .home .section02 .left .inner .btn a {
    display: block;
    color: #75a1b9;
    text-align: center;
    padding: 15px 10px;
    background-color: #fff;
  }
  .home .section02 .right .pc {
    display: none;
  }
  .home .section02 .right .sp {
    display: block;
  }
}
.home .section03 .left {
  width: 33.203125%;
}
.home .section03 .right {
  position: relative;
  width: 66.796875%;
  padding-left: 2px;
  box-sizing: border-box;
}
.home .section03 .campaignBox {
  position: relative;
  margin-bottom: 2px;
}
.home .section03 .campaignBox a {
  position: relative;
  overflow: hidden;
  display: block;
  background-color: #000;
  transition: 0.45s;
}
.home .section03 .campaignBox a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.9);
  transform: scale(1.2, 1.2);
  transition: 0.45s;
}
.home .section03 .campaignBox .bg {
  transition: 0.45s;
}
.home .section03 .campaignBox .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 70%;
  height: 70%;
  margin-top: -35%;
  margin-left: -35%;
  background-color: #202020;
  z-index: 10;
}
.home .section03 .campaignBox .inner h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -75px;
}
.home .section03 .campaignBox .inner h2 .sp {
  display: none;
}
.home .section03 .campaignBox a:hover::before {
  transform: scale(0.9, 0.9);
}
.home .section03 .campaignBox a:hover .bg {
  opacity: 0.5;
  transform: scale(1.2, 1.2);
  -webkit-filter: blur(4px);
  -ms-filter: blur(4px);
  filter: blur(4px);
}
.home .section03 .newsBox {
  padding: 55px 40px 40px;
  background-color: #2f3237;
  box-sizing: border-box;
}
.home .section03 .newsBox h2 {
  margin-bottom: 30px;
}
.home .section03 .newsBox h2 .sp {
  display: none;
}
.home .section03 .newsBox .news {
  overflow-y: scroll;
  padding: 25px 20px;
  background-color: #fff;
  box-sizing: border-box;
  margin-bottom: 0;
}
.home .section03 .newsBox .news dl dt {
  font-size: 10px;
}
.home .section03 .newsBox .news dl dd {
  margin-bottom: 17px;
  padding-bottom: 17px;
  border-bottom: 1px solid #d9d9d9;
}
.home .section03 .newsBox .news dl dd:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.home .section03 .newsBox .news dl dd a {
  color: #5ebcd1;
  font-size: 11px;
  text-decoration: underline;
}
.home .section03 .right a {
  position: relative;
  overflow: hidden;
  display: block;
  background-color: #000;
  transition: 0.45s;
}
.home .section03 .right a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.9);
  transform: scale(1.2, 1.2);
  transition: 0.45s;
}
.home .section03 .right .bg.sp {
  display: none;
}
.home .section03 .right .bg {
  transition: 0.45s;
}
.home .section03 .right h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -32px;
  margin-left: -104px;
  z-index: 10;
}
.home .section03 .right h2 .sp {
  display: none;
}
.home .section03 .right a:hover::before {
  transform: scale(0.9, 0.9);
}
.home .section03 .right a:hover .bg {
  opacity: 0.5;
  transform: scale(1.2, 1.2);
  -webkit-filter: blur(4px);
  -ms-filter: blur(4px);
  filter: blur(4px);
}
@media only screen and (max-width: 640px) {
  .home .section03 .left,
  .home .section03 .right {
    width: 100%;
  }
  .home .section03 .right {
    padding-left: 0;
  }
  .home .section03 .campaignBox {
    margin-bottom: 0;
  }
  .home .section03 .campaignBox a::before {
    transform: scale(0.9, 0.9);
  }
  .home .section03 .campaignBox a .bg {
    opacity: 0.5;
    transform: scale(1.2, 1.2);
  }
  .home .section03 .campaignBox a:hover .bg {
    -webkit-filter: blur(0);
    -ms-filter: blur(0);
    filter: blur(0);
  }
  .home .section03 .campaignBox .inner h2 {
    margin-top: -18px;
    margin-left: -63px;
  }
  .home .section03 .campaignBox .inner h2 .pc {
    display: none;
  }
  .home .section03 .campaignBox .inner h2 .sp {
    display: block;
  }
  .home .section03 .newsBox {
    padding: 30px 20px;
    background-color: #2f3237;
    box-sizing: border-box;
  }
  .home .section03 .newsBox h2 {
    margin-bottom: 20px;
  }
  .home .section03 .newsBox h2 .pc {
    display: none;
  }
  .home .section03 .newsBox h2 .sp {
    display: block;
  }
  .home .section03 .newsBox .news {
    height: 240px;
  }
  .home .section03 .right .bg.pc {
    display: none;
  }
  .home .section03 .right .bg.sp {
    display: block;
  }
  .home .section03 .right a::before {
    transform: scale(0.9, 0.9);
  }
  .home .section03 .right a .bg {
    opacity: 0.5;
    transform: scale(1.2, 1.2);
    -webkit-filter: blur(0);
    -ms-filter: blur(0);
    filter: blur(0);
  }
  .home .section03 .right a:hover .bg {
    -webkit-filter: blur(0);
    -ms-filter: blur(0);
    filter: blur(0);
  }
  .home .section03 .right h2 {
    margin-top: -18px;
    margin-left: -55px;
  }
  .home .section03 .right h2 .pc {
    display: none;
  }
  .home .section03 .right h2 .sp {
    display: block;
  }
}
.home .section04 .left {
  position: relative;
  width: 66.71875%;
  padding-right: 2px;
  box-sizing: border-box;
}
.home .section04 .right {
  position: relative;
  width: 33.28125%;
}
.home .section04 .guidBox a,
.home .section04 .accessBox a {
  position: relative;
  overflow: hidden;
  display: block;
  background-color: #000;
  transition: 0.45s;
}
.home .section04 .guidBox a::before,
.home .section04 .accessBox a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.9);
  transform: scale(1.2, 1.2);
  transition: 0.45s;
}
.home .section04 .guidBox .bg,
.home .section04 .accessBox .bg {
  transition: 0.45s;
}
.home .section04 .guidBox .bg.sp {
  display: none;
}
.home .section04 .guidBox h2,
.home .section04 .accessBox h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
}
.home .section04 .guidBox h2 {
  width: 91px;
  height: 46px;
  margin-top: -23px;
  margin-left: -32%;
}
.home .section04 .accessBox h2 {
  margin-top: -23px;
  margin-left: -55px;
}
.home .section04 .guidBox h2 .sp,
.home .section04 .accessBox h2 .sp {
  display: none;
}
.home .section04 .guidBox h2 img {
  position: absolute;
  transition: 0.45s;
}
.home .section04 .guidBox h2 .on {
  opacity: 0;
}
.home .section04 .guidBox a:hover::before {
  transform: scale(0.95, 0.9);
}
.home .section04 .accessBox a:hover::before {
  transform: scale(0.9, 0.9);
}
.home .section04 .guidBox a:hover .bg,
.home .section04 .accessBox a:hover .bg {
  opacity: 0.5;
  transform: scale(1.2, 1.2);
  -webkit-filter: blur(4px);
  -ms-filter: blur(4px);
  filter: blur(4px);
}
.home .section04 .guidBox a:hover h2 .df {
  opacity: 0;
}
.home .section04 .guidBox a:hover h2 .on {
  opacity: 1;
}
@media only screen and (max-width: 640px) {
  .home .section04 .left,
  .home .section04 .right {
    width: 100%;
  }
  .home .section04 .left {
    padding-right: 0;
  }
  .home .section04 .guidBox .bg.pc {
    display: none;
  }
  .home .section04 .guidBox .bg.sp {
    display: block;
  }
  .home .section04 .guidBox h2 {
    margin-top: -18px;
    margin-left: -28px;
  }
  .home .section04 .accessBox h2 {
    margin-top: -18px;
    margin-left: -47px;
  }
  .home .section04 .guidBox h2 .df {
    opacity: 0;
  }
  .home .section04 .guidBox h2 .on {
    opacity: 1;
  }
  .home .section04 .guidBox h2 .pc,
  .home .section04 .accessBox h2 .pc {
    display: none;
  }
  .home .section04 .guidBox h2 .sp,
  .home .section04 .accessBox h2 .sp {
    display: block;
  }
  .home .section04 .guidBox a::before,
  .home .section04 .accessBox a::before {
    transform: scale(0.9, 0.9);
  }
  .home .section04 .guidBox a:hover::before,
  .home .section04 .accessBox a:hover::before {
    transform: scale(0.9, 0.9);
  }
  .home .section04 .guidBox a .bg,
  .home .section04 .accessBox a .bg {
    opacity: 0.5;
    transform: scale(1.2, 1.2);
    -webkit-filter: blur(0);
    -ms-filter: blur(0);
    filter: blur(0);
  }
  .home .section04 .guidBox a:hover .bg,
  .home .section04 .accessBox a:hover .bg {
    -webkit-filter: blur(0);
    -ms-filter: blur(0);
    filter: blur(0);
  }
}
.home .section05 > div {
  width: 33.3333333333%;
  padding-right: 2px;
  box-sizing: border-box;
}
.home .section05 a {
  position: relative;
  overflow: hidden;
  display: block;
  transition: 0.45s;
  color: #fff;
}
.home .section05 a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.9);
  transform: scale(1.2, 1.2);
  transition: 0.45s;
}
.home .section05 .bg {
  transition: 0.45s;
}
.home .section05 .sp {
  display: none;
}
.home .section05 .pc {
  display: block;
}
.home .section05 > div h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
}
.home .section05 .blogBox {
  position: relative;
  margin-bottom: 0;
}
.home .section05 .blogLink {
  position: absolute;
  top: 0;
  width: 100%;
}
.home .section05 .blogLink a {
  text-align: center;
  font-size: 150%;
}
.home .section05 .blogLinkTop {
  background: url("./imgs/staff-blog.jpg") no-repeat;
  background-size: cover;
}
.home .section05 .blogLinkBottom {
  background: url("./imgs/owner-blog.jpg") no-repeat;
  background-size: cover;
  bottom: 0;
  top: auto;
}
.home .section05 .blogBox h2 {
  margin-top: -24px;
  margin-left: -51px;
}
.home .section05 .voiceBox h2 {
  margin-top: -24px;
  margin-left: -42px;
}
.home .section05 .facebookBox h2 {
  margin-top: -8px;
  margin-left: -65px;
}
.home .section05 > div h2 .sp {
  display: none;
}
.home .section05 .facebookBox {
  position: relative;
}
.home .section05 .facebookBox a {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #2f3237;
}
.home .section05 .facebookBox .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 70%;
  height: 70%;
  margin-top: -35%;
  margin-left: -35%;
  background-color: #dadada;
  z-index: 10;
}
.home .section05 a:hover::before {
  transform: scale(0.9, 0.9);
}
.home .section05 a:hover .bg {
  opacity: 0.5;
  transform: scale(1.2, 1.2);
  -webkit-filter: blur(4px);
  -ms-filter: blur(4px);
  filter: blur(4px);
}
.home .section05 .facebookBox a:hover {
  background-color: #2e4978;
}
@media only screen and (max-width: 640px) {
  .home .section05 {
    background-color: #fff;
  }
  .home .section05 .blogBox {
    margin-bottom: 0;
  }
  .home .section05 > div {
    width: 100%;
    padding-right: 0;
  }
  .home .section05 > div:first-child {
    margin-top: 0;
  }
  .home .section05 .pc {
    display: none;
  }
  .home .section05 .sp {
    display: block;
  }
  .home .section05 .blogLink {
    position: relative;
  }
  .home .section05 .blogBox h2 {
    margin-top: -17px;
    margin-left: -32px;
  }
  .home .section05 .voiceBox h2 {
    margin-top: -17px;
    margin-left: -32px;
  }
  .home .section05 .facebookBox h2 {
    margin-top: -6px;
    margin-left: -48px;
  }
  .home .section05 > div h2 .pc {
    display: none;
  }
  .home .section05 > div h2 .sp {
    display: block;
  }
  .home .section05 .facebookBox .inner {
    height: 60px;
    margin-top: -30px;
  }
  .home .section05 a::before {
    transform: scale(0.9, 0.8);
  }
  .home .section05 a:hover::before {
    transform: scale(0.9, 0.8);
  }
  .home .section05 .facebookBox a::before,
  .home .section05 .facebookBox a:hover::before {
    display: none;
  }
  .home .section05 a .bg {
    opacity: 0.5;
    transform: scale(1.2, 1.2);
    -webkit-filter: blur(0);
    -ms-filter: blur(0);
    filter: blur(0);
  }
  .home .section05 a:hover .bg {
    -webkit-filter: blur(0);
    -ms-filter: blur(0);
    filter: blur(0);
  }
  .home .section05 .facebookBox a {
    background-color: #2e4978;
  }
}
.home .section06 {
  display: none;
}
@media only screen and (max-width: 640px) {
  .home .section06 {
    display: block;
    padding: 10px;
    background-color: #dedede;
  }
  .home .section06 .admBox a {
    position: relative;
    overflow: hidden;
    display: block;
    background-color: #000;
  }
  .home .section06 .admBox a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    border: 1px solid rgba(255, 255, 255, 0.9);
    transform: scale(0.9, 0.8);
  }
  .home .section06 .admBox h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -16px;
    margin-left: -63px;
    z-index: 10;
  }
}
.home #cvBox {
  margin-top: 120px;
}

.page #cvBox {
  margin-top: 120px;
}
.page .style1 {
  color: #ff0000;
  font-weight: bold;
  font-size: larger;
}
.page .style2 {
  color: #0000ff;
  font-weight: bold;
}
.page .style3 {
  color: #cc0099;
  font-weight: bold;
  font-size: large;
}

.about {
  /* .machineBox */
}
.about .lead {
  text-align: center;
  padding: 40px 0 60px;
  margin-bottom: 20px;
  border-bottom: 1px solid #bfbfbf;
}
.about .leadTxt {
  line-height: 2;
}
.about .machineBox {
  margin-top: 120px;
}
.about .machineBox .image {
  margin-bottom: 50px;
}
.about .machineBox h3 {
  font-size: 20px;
  text-align: center;
  margin-bottom: 50px;
  line-height: 1;
}
.about .machineBox h3 br.sp {
  display: none;
}
.about .machineBox .btns {
  text-align: center;
  letter-spacing: -0.4em;
}
.about .machineBox .btns li {
  display: inline-block;
  letter-spacing: normal;
  width: 360px;
  margin: 0 5px;
}
.about .machineBox .btns li a {
  position: relative;
  display: block;
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  padding: 15px 10px;
  transition: 0.3s;
}
.about .machineBox .btns li.milon a {
  background-color: #5ebcd1;
}
.about .machineBox .btns li.sonix a {
  background-color: #005d9a;
}
.about .machineBox .btns li a strong {
  display: block;
  font-size: 14px;
  font-weight: normal;
}
.about .machineBox .btns li a span {
  font-size: 10px;
}
.about .machineBox .btns li a i {
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -10px;
  transition: 0.3s;
}
.about .machineBox .btns li.milon a:hover {
  background-color: #77cad8;
}
.about .machineBox .btns li.sonix a:hover {
  background-color: #1477af;
}
.about .machineBox .btns li a:hover i {
  right: 17px;
}
@media only screen and (max-width: 640px) {
  .about .lead {
    padding: 20px 0 40px;
    margin-bottom: 10px;
  }
  .about .lead img {
    zoom: 0.7;
  }
  .about .machineBox {
    margin-top: 60px;
  }
  .about .machineBox .image {
    overflow: hidden;
    margin-bottom: 30px;
  }
  .about .machineBox .image img {
    width: 160%;
    max-width: 160%;
    margin-left: -30%;
  }
  .about .machineBox h3 {
    font-size: 14px;
    margin-bottom: 30px;
  }
  .about .machineBox h3 br.sp {
    display: block;
  }
  .about .machineBox .btns li {
    display: block;
    width: 100%;
    margin: 10px 0;
  }
  .about .machineBox .btns li a i {
    margin-top: -5px;
  }
  .about .machineBox .btns li a i img {
    zoom: 0.5;
  }
}

.milon {
  /* titleB */
  /* subNav */
  /* cvBtn */
  /* section */
  /* section01 */
  /* section02 */
  /* section03 */
  /* section04 */
  /* section05 */
}
.milon video {
  max-width: 100%;
  height: auto;
}
.milon .titleB {
  font-size: 16px;
  text-align: center;
  margin-bottom: 60px;
}
.milon .titleB br.sp {
  display: none;
}
@media only screen and (max-width: 640px) {
  .milon .titleB {
    font-size: 14px;
    margin-bottom: 30px;
  }
  .milon .titleB br.sp {
    display: block;
  }
}
.milon .subNav {
  margin-bottom: 80px;
  border-top: 1px solid #bfbfbf;
  border-bottom: 1px solid #bfbfbf;
}
.milon .subNav ul {
  text-align: center;
  letter-spacing: -0.4em;
}
.milon .subNav ul li {
  position: relative;
  display: inline-block;
  letter-spacing: normal;
  width: 320px;
}
.milon .subNav ul li a,
.milon .subNav ul li strong {
  display: block;
  font-size: 14px;
  letter-spacing: 3px;
  padding: 25px 0;
}
.milon .subNav ul li a {
  color: #333;
  transition: 0.3s;
}
.milon .subNav ul li a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 4px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  transition: 0.3s;
}
.milon .subNav ul li strong {
  color: #2590cf;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
}
.milon .subNav ul li strong::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 4px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #2590cf;
}
.milon .subNav ul li a:hover {
  color: #2590cf;
}
.milon .subNav ul li a:hover:before {
  background-color: #2590cf;
}
@media only screen and (max-width: 640px) {
  .milon .subNav {
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 40px;
    padding: 10px 0;
  }
  .milon .subNav ul li {
    width: 50%;
    box-sizing: border-box;
  }
  .milon .subNav ul li:first-child {
    border-right: 1px solid #bfbfbf;
  }
  .milon .subNav ul li a,
  .milon .subNav ul li strong {
    font-size: 10px;
    padding: 15px 0;
  }
  .milon .subNav ul li a:before {
    display: none;
  }
  .milon .subNav ul li strong {
    color: #2590cf;
  }
  .milon .subNav ul li strong::before {
    display: none;
  }
}
.milon .cvBtn {
  width: 360px;
  margin: 0 auto;
}
.milon .cvBtn a {
  position: relative;
  display: block;
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  padding: 15px 10px;
  background-color: #000;
  transition: 0.3s;
}
.milon .cvBtn a strong {
  display: block;
  color: #addef8;
  font-size: 14px;
  font-weight: normal;
}
.milon .cvBtn a span {
  font-size: 10px;
}
.milon .cvBtn a i {
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -10px;
  transition: 0.3s;
}
.milon .cvBtn a:hover {
  background-color: #222;
}
.milon .cvBtn a:hover i {
  right: 17px;
}
@media only screen and (max-width: 640px) {
  .milon .cvBtn {
    width: 100%;
    margin: 0;
  }
  .milon .cvBtn a i {
    margin-top: -5px;
  }
  .milon .cvBtn a i img {
    zoom: 0.5;
  }
}
.milon .section {
  margin-top: 100px;
}
.milon .section .titleC {
  text-align: center;
  margin-bottom: 40px;
}
.milon .section .titleC h3 {
  display: inline-block;
  font-size: 20px;
  line-height: 22px;
  padding: 5px;
  border-bottom: 2px solid #333;
}
.milon .section p {
  line-height: 2;
}
.milon .section .col2 .left,
.milon .section .col2 .right {
  width: 47.91666666666667%;
}
.milon .section .col2 .left {
  float: left;
}
.milon .section .col2 .right {
  float: right;
}
@media only screen and (max-width: 640px) {
  .milon .section {
    margin-top: 60px;
  }
  .milon .section .titleC h3 {
    font-size: 16px;
    line-height: 1.7;
  }
  .milon .section .col2 .left,
  .milon .section .col2 .right {
    float: none;
    width: 100%;
  }
  .milon .section .col2 .left {
    margin-bottom: 20px;
  }
}
.milon #machine1 .section01 {
  margin-top: 0;
}
.milon #machine1 .section01 .col2 .left {
  width: 66.14583333333334%;
}
.milon #machine1 .section01 .col2 .right {
  width: 29.6875%;
}
@media only screen and (max-width: 640px) {
  .milon #machine1 .section01 .col2 .left,
  .milon #machine1 .section01 .col2 .right {
    width: 100%;
  }
}
.milon #machine1 .section02 {
  padding: 50px 0;
  background-color: #212121;
}
@media only screen and (max-width: 640px) {
  .milon #machine1 .section02 {
    padding: 10px 0;
  }
  .milon #machine1 .section02 iframe {
    width: 100%;
    height: 200px;
  }
}
@media only screen and (max-width: 640px) {
  .milon #machine1 .section03 .col2 .right {
    display: none;
  }
}
.milon #machine1 .section04 .main_image {
  margin-bottom: 80px;
}
.milon #machine1 .section04 .cvBtn {
  margin-top: 60px;
}
@media only screen and (max-width: 640px) {
  .milon #machine1 .section04 .main_image {
    overflow: hidden;
    margin-bottom: 0;
  }
  .milon #machine1 .section04 .main_image img {
    width: 160%;
    max-width: 160%;
    margin-left: -30%;
  }
  .milon #machine1 .section04 .wrap2 {
    display: none;
  }
  .milon #machine1 .section04 .cvBtn {
    margin-top: 30px;
  }
}
.milon #machine1 .section05 .box {
  padding: 60px 0;
  border-bottom: 1px solid #bfbfbf;
}
.milon #machine1 .section05 .box h4 {
  color: #2590cf;
  font-size: 16px;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
  margin-bottom: 10px;
}
.milon #machine1 .section05 .box.training01 {
  border-top: 1px solid #bfbfbf;
}
.milon #machine1 .section05 .box.training01 h5 {
  font-size: 14px;
  margin-bottom: 40px;
}
.milon #machine1 .section05 .box.training01 .col2 {
  margin-bottom: 30px;
}
.milon #machine1 .section05 .box.training01 .col2 .left,
.milon #machine1 .section05 .box.training01 .col2 .right {
  float: none;
  display: table-cell;
  vertical-align: middle;
  width: 480px;
}
.milon #machine1 .section05 .box.training01 .col2 .left {
  font-size: 16px;
}
.milon #machine1 .section05 .box.training02 h4 {
  margin-bottom: 40px;
}
.milon #machine1 .section05 .box.training02 .type dt {
  margin-top: 40px;
}
.milon #machine1 .section05 .box.training02 .type dt:first-child {
  margin-top: 0;
}
.milon #machine1 .section05 .box.training02 .type dt h5 {
  font-size: 14px;
  font-weight: bold;
}
.milon #machine1 .section05 .box.training02 .type dd {
  padding-left: 22px;
}
.milon #machine1 .section05 .box.training02 .type dd p {
  color: #63605c;
}
@media only screen and (max-width: 640px) {
  .milon #machine1 .section05 {
    margin-top: 0;
  }
  .milon #machine1 .section05 .box {
    padding: 30px 0;
  }
  .milon #machine1 .section05 .box:first-child {
    border-top: none;
  }
  .milon #machine1 .section05 .box.training01 .col2 {
    margin-bottom: 0;
  }
  .milon #machine1 .section05 .box.training01 .col2 .left,
  .milon #machine1 .section05 .box.training01 .col2 .right {
    display: block;
    width: 100%;
  }
  .milon #machine1 .section05 .box.training01 .col2 .left {
    font-size: 14px;
    margin-bottom: 0;
  }
  .milon #machine1 .section05 .box.training01 .col2 .right {
    display: none;
  }
  .milon #machine1 .section05 .box.training01 .spNone {
    display: none;
  }
}

.campaign .campaignBox .ttl {
  font-size: 16px;
  text-align: center;
  margin-bottom: 60px;
  padding-bottom: 60px;
  border-bottom: 1px solid #bfbfbf;
}
.campaign .campaignBox .contents {
  text-align: center;
  margin-bottom: 80px;
  line-height: 2.5;
}
.campaign .campaignBox .contents　p {
  margin-bottom: 10px;
}
.campaign .campaignBox h3 {
  display: inline-block;
  font-size: 24px;
  line-height: 22px;
  /* margin-bottom: 50px; */
  padding: 5px;
}
.campaign .campaignBox .contents p {
  text-align: left;
}
.campaign .campaignBox .img_campaign {
  text-align: center;
  margin-bottom: 80px;
}
.campaign .btn_download {
  letter-spacing: normal;
  width: 360px;
  margin: 0 auto;
}
.campaign .btn_download a {
  position: relative;
  display: block;
  color: #404040;
  text-align: center;
  letter-spacing: 3px;
  padding: 15px 10px;
  border: 1px solid #404040;
  background-color: #fff;
  transition: 0.3s;
}
.campaign .btn_download a strong {
  display: block;
  font-size: 14px;
  font-weight: normal;
}
.campaign .btn_download a span {
  font-size: 10px;
}
.campaign .btn_download a i {
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -10px;
  transition: 0.3s;
}
.campaign .btn_download a:hover {
  background-color: #f5f5f5;
}
.campaign .btn_download a:hover i {
  right: 17px;
}
@media only screen and (max-width: 640px) {
  .campaign .campaignBox .ttl {
    font-size: 10px;
    margin-bottom: 30px;
    padding-bottom: 30px;
  }
  .campaign .campaignBox .contents {
    margin-bottom: 60px;
  }
  .campaign .campaignBox .contents h3 {
    font-size: 16px;
    line-height: 18px;
    margin-bottom: 30px;
  }
  .campaign .campaignBox .contents p {
    font-size: 10px;
  }
  .campaign .campaignBox .img_campaign {
    margin-bottom: 40px;
  }
  .campaign .btn_download {
    display: block;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
  }
  .campaign .btn_download a {
    padding: 12px 10px;
  }
  .campaign .btn_download a span {
    font-size: 12px;
  }
  .campaign .btn_download a strong {
    display: none;
  }
  .campaign .btn_download a i {
    display: none;
    margin-top: -5px;
  }
  .campaign .btn_download a i img {
    zoom: 0.5;
  }
}

.voice {
  /* section */
}
.voice .section {
  margin-top: 120px;
}
.voice .section.voice01 {
  margin-top: 0;
}
.voice .section .ttl {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #bfbfbf;
}
.voice .section .ttl .icon,
.voice .section .ttl .target {
  display: table-cell;
  vertical-align: middle;
}
.voice .section .ttl .icon {
  padding-right: 30px;
}
.voice .section .ttl .target {
  font-size: 14px;
  line-height: 2;
}
.voice .section .txt {
  line-height: 2;
}
@media only screen and (max-width: 640px) {
  .voice .section {
    margin-top: 60px;
  }
  .voice .section .ttl {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
  .voice .section .ttl .icon {
    padding-right: 20px;
  }
  .voice .section .ttl .icon img {
    zoom: 0.5;
  }
}

.guid {
  /* section */
}
.guid .section {
  margin-top: 60px;
}
.guid .section.guid {
  margin-top: 0;
}
.guid .section h3 {
  font-size: 14px;
  margin-bottom: 10px;
}
.guid .section p {
  line-height: 2;
}
.guid .section a {
  text-decoration: underline;
}
.guid .section a:hover {
  text-decoration: none;
}
.guid .guid .spGuid {
  display: none;
}
.guid .guid table {
  font-size: 14px;
  border: 1px solid #bfbfbf;
}
.guid .guid table thead {
  background-color: #ededed;
}
.guid .guid table thead th {
  text-align: center;
  font-weight: normal;
  padding: 10px;
  border-left: 1px solid #bfbfbf;
}
.guid .guid table thead th:first-child {
  border-left: none;
}
.guid .guid table tbody th,
.guid .guid table tbody td {
  padding: 20px 30px;
  border-top: 1px solid #bfbfbf;
}
.guid .guid table tbody th {
  font-weight: normal;
  text-align: center;
}
.guid .guid table tbody td {
  border-left: 1px solid #bfbfbf;
}
.guid .guid table tbody td:first-of-type {
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .guid .section {
    margin-top: 0;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #bfbfbf;
  }
  .guid .section.guid {
    border-bottom: none;
  }
  .guid .section:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  .guid .guid .spGuid {
    display: block;
  }
  .guid .guid .pcGuid {
    display: none;
  }
  .guid .guid .spGuid table {
    font-size: 10px;
    margin-top: 20px;
  }
  .guid .guid .spGuid table:first-child {
    margin-top: 0;
  }
  .guid .guid .spGuid table th,
  .guid .guid .spGuid table td {
    width: 50%;
    font-size: 0.95rem;
    text-align: center;
    padding: 10px;
    border-top: none;
    border-left: 1px solid #bfbfbf;
  }
  .guid .guid .spGuid table tr th:first-child,
  .guid .guid .spGuid table tr td:first-child {
    border-left: none;
  }
  .guid .guid .spGuid table th {
    padding: 10px 15px;
    background-color: #ededed;
  }
  .guid .guid .spGuid table td.remarks {
    text-align: left;
    border-top: 1px solid #bfbfbf;
  }
}

.single-store_information .campaign {
  border-bottom: 1px solid #bfbfbf;
  padding-bottom: 50px;
  margin-bottom: 50px;
}
.single-store_information .access {
  font-size: 14px;
  line-height: 2;
  text-align: center;
  margin-bottom: 80px;
}
.single-store_information .access br.sp {
  display: none;
}
.single-store_information .map {
  height: 10px;
  box-sizing: border-box;
  margin-bottom: 40px;
  position: relative;
  padding: 0 0 33%;
  height: 0;
  overflow: hidden;
  width: 960px;
  margin: 0 auto;
}
.single-store_information .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.single-store_information .officeHour {
  font-size: 14px;
}
.single-store_information .btn_map {
  display: none;
}

.sns p {
  margin-bottom: 20px;
}

.sns img {
  display: inline-block;
  width: 80px;
}

.sns a:first-of-type img {
  margin-right: 20px;
}

.access-list .blogArea li {
  border-bottom: 1px solid #dcdcdc;
  padding: 20px 0;
}

.access-list .text {
  color: #333;
}

@media only screen and (max-width: 640px) {
  .single-store_information .access {
    font-size: 10px;
    margin-bottom: 40px;
  }
  .single-store_information .access br.sp {
    display: block;
  }
  .single-store_information .map {
    margin: 0;
    width: 100%;
  }
  .single-store_information .map_canvas {
    height: 200px;
  }
  .single-store_information .officeHour {
    font-size: 10px;
    margin-bottom: 30px;
  }
  .single-store_information .btn_map {
    display: block;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
  }
  .single-store_information .btn_map a {
    position: relative;
    display: block;
    color: #a7d5ed;
    font-size: 14px;
    text-align: center;
    padding: 12px 0;
    background-color: #404040;
  }
  .single-store_information .btn_map a i {
    position: absolute;
    left: 15px;
    top: 50%;
    margin-top: -9px;
  }
  .single-store_information .btn_map a i img {
    zoom: 0.5;
  }

  .single-store_information .sns p {
    margin-bottom: 15px;
  }

  .single-store_information .sns img {
    width: 50px;
    display: inline-block;
  }
  .single-store_information .sns a:first-of-type img {
    margin-right: 10px;
  }
}

.access-name {
  font-size: 220%;
  color: #ff0000;
}

.sns {
  text-align: center;
  margin: 50px 0;
}

.single-store_information .image li {
  width: 48%;
  float: left;
  margin-bottom: 2%;
}

.single-store_information .image li img {
  width: 100%;
}

.single-store_information .image li:nth-of-type(odd) {
  margin-right: 1%;
}

.single-store_information .image li:nth-of-type(even) {
  margin-left: 1%;
}

.greeting {
  /* .lead */
  /* .machineBox */
}
.greeting h3 {
  line-height: 1;
}
@media only screen and (max-width: 640px) {
  .greeting #main .inner {
    height: auto;
  }
}
.greeting .leadTxt {
  line-height: 2;
  border-top: 1px solid #bfbfbf;
  padding-top: 20px;
}
@media only screen and (max-width: 640px) {
  .greeting .lead img {
    zoom: 0.7;
  }
}
.greeting .machineBox {
  margin-top: 120px;
}
.greeting .machineBox .image {
  margin-bottom: 50px;
}
.greeting .machineBox h3 {
  font-size: 20px;
  text-align: center;
  margin-bottom: 50px;
}
.greeting .machineBox h3 br.sp {
  display: none;
}
.greeting .machineBox .btns {
  text-align: center;
  letter-spacing: -0.4em;
}
.greeting .machineBox .btns li {
  display: inline-block;
  letter-spacing: normal;
  width: 360px;
  margin: 0 5px;
}
.greeting .machineBox .btns li a {
  position: relative;
  display: block;
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  padding: 15px 10px;
  transition: 0.3s;
}
.greeting .machineBox .btns li.milon a {
  background-color: #5ebcd1;
}
.greeting .machineBox .btns li.sonix a {
  background-color: #005d9a;
}
.greeting .machineBox .btns li a strong {
  display: block;
  font-size: 14px;
  font-weight: normal;
}
.greeting .machineBox .btns li a span {
  font-size: 10px;
}
.greeting .machineBox .btns li a i {
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -10px;
  transition: 0.3s;
}
.greeting .machineBox .btns li.milon a:hover {
  background-color: #77cad8;
}
.greeting .machineBox .btns li.sonix a:hover {
  background-color: #1477af;
}
.greeting .machineBox .btns li a:hover i {
  right: 17px;
}
@media only screen and (max-width: 640px) {
  .greeting .machineBox {
    margin-top: 60px;
  }
  .greeting .machineBox .image {
    overflow: hidden;
    margin-bottom: 30px;
  }
  .greeting .machineBox .image img {
    width: 160%;
    max-width: 160%;
    margin-left: -30%;
  }
  .greeting .machineBox h3 {
    font-size: 14px;
    margin-bottom: 30px;
  }
  .greeting .machineBox h3 br.sp {
    display: block;
  }
  .greeting .machineBox .btns li {
    display: block;
    width: 100%;
    margin: 10px 0;
  }
  .greeting .machineBox .btns li a i {
    margin-top: -5px;
  }
  .greeting .machineBox .btns li a i img {
    zoom: 0.5;
  }
}

.recruit {
  /* recruitList */
  /* contactBox */
}
.recruit .recruitList li {
  margin-bottom: 80px;
}
.recruit .recruitList li h3 {
  position: relative;
  color: #2590cf;
  font-size: 18px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #bfbfbf;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
}
.recruit .recruitList li h3 .date {
  position: absolute;
  right: 0;
  top: 7px;
  color: #666;
  font-size: 11px;
}
.recruit .contactBox {
  text-align: center;
  padding-top: 80px;
  border-top: 1px solid #bfbfbf;
}
.recruit .contactBox .tel {
  margin-top: 25px;
}
@media only screen and (max-width: 640px) {
  .recruit .recruitList {
    margin-bottom: 40px;
  }
  .recruit .recruitList li h3 .date {
    position: inherit;
    right: inherit;
    top: inherit;
    display: block;
    margin-bottom: 5px;
  }
  .recruit .contactBox {
    padding-top: 60px;
  }
  .recruit .contactBox .tel img {
    zoom: 0.8;
  }
}

.company {
  /* canpanyBox */
}
.company .canpanyBox {
  padding-bottom: 20px;
  border-bottom: 1px solid #bfbfbf;
}
.company .canpanyBox dt {
  margin: 20px 0 10px;
  padding: 20px 20px 0 20px;
  border-top: 1px solid #bfbfbf;
}
.company .canpanyBox dt h4 {
  font-size: 16px;
}
.company .canpanyBox dd {
  padding: 0 30px;
}
@media only screen and (max-width: 640px) {
  .company .canpanyBox dt {
    padding: 20px 10px 0 10px;
  }
  .company .canpanyBox dd {
    padding: 0 20px;
  }
}

.policy {
  /* policyBox */
}
.policy .policyBox {
  padding-bottom: 20px;
  border-bottom: 1px solid #bfbfbf;
}
.policy .policyBox dt {
  margin: 20px 0 10px;
  padding: 20px 20px 0 20px;
  border-top: 1px solid #bfbfbf;
}
.policy .policyBox dt h4 {
  font-size: 16px;
}
.policy .policyBox dd {
  padding: 0 30px;
}
.policy .policyBox dd ul {
  margin-top: 10px;
  padding-left: 35px;
}
.policy .policyBox dd ul li {
  list-style-type: square;
}
@media only screen and (max-width: 640px) {
  .policy .policyBox dt {
    padding: 20px 10px 0 10px;
  }
  .policy .policyBox dd {
    padding: 0 20px;
  }
}

.reg {
  /* regBox */
}
.reg .regBox {
  padding-bottom: 20px;
  border-bottom: 1px solid #bfbfbf;
}
.reg .regBox dt {
  margin: 20px 0 10px;
  padding: 20px 20px 0 20px;
  border-top: 1px solid #bfbfbf;
}
.reg .regBox dt h4 {
  font-size: 16px;
}
.reg .regBox dd {
  padding: 0 30px;
}
.reg .regBox dd ul {
  margin-top: 10px;
  padding-left: 35px;
}
.reg .regBox dd ul li {
  list-style-type: decimal;
}
@media only screen and (max-width: 640px) {
  .reg .regBox dt {
    padding: 20px 10px 0 10px;
  }
  .reg .regBox dd {
    padding: 0 20px;
  }
}

.news {
  margin-bottom: 120px;
  /* newsBox */
}
.news .titleA h2 {
  margin-bottom: 30px;
}
.news .newsBox {
  margin-bottom: 120px;
}
.news .newsBox .newsTtl {
  font-size: 14px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #bfbfbf;
}
.news .newsBox .newsTtl .date {
  margin-bottom: 10px;
}
.news .newsBox .contents {
  line-height: 2;
}
.news .newsBox .contents a:hover {
  text-decoration: underline;
}
.news .btn_back {
  text-align: right;
}
.news .btn_back a {
  color: #333;
  font-size: 14px;
}
.news .btn_back a:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 640px) {
  .news .newsBox {
    margin-bottom: 60px;
  }
  .news .newsBox .newsTtl {
    margin-bottom: 12px;
    padding-bottom: 12px;
  }
  .news .newsBox .newsTtl .date {
    margin-bottom: 5px;
  }
  .news .btn_back {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .news .btn_back a {
    display: block;
    font-size: 12px;
    padding: 12px 0;
    border: 1px solid #333;
    box-sizing: border-box;
  }
  .news .btn_back a span {
    display: none;
  }
}

.owners {
  /* blogArea */
}
.owners .blogArea h3 {
  font-size: 16px;
  text-align: center;
  margin-bottom: 50px;
}
.owners .blogList ul li {
  margin-top: 40px;
}
.owners .blogList ul li:first-child {
  margin-top: 0;
}
.owners .blogList ul li a {
  display: block;
  color: #333;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
  transition: 0.3s;
}
.owners .blogList ul li .date {
  margin-bottom: 5px;
}
.owners .blogList ul li .title {
  color: #2590cf;
}
.owners .blogList ul li a:hover .title {
  text-decoration: underline;
}
.owners .blogList ul li.noArticle {
  font-size: 16px;
  text-align: center;
}
.owners .blogList ul li.noArticle p {
  display: inline-block;
  border-bottom: 1px dashed #333;
}

.web-admission .titleA p {
  font-size: 200%;
}

.web-admission .btn-webentry {
  background-color: #005d9a;
  position: relative;
  display: block;
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  padding: 15px 10px;
  transition: 0.3s;
}

.web-admission .btn-webentry:hover {
  background-color: #1477af;
}

.web-admission .btn-webentry strong {
  display: block;
  font-size: 14px;
  font-weight: normal;
}

.web-admission .btn-webentry i {
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -10px;
  transition: 0.3s;
}
.web-admission .btn-webentry span {
  font-size: 10px;
}

@media only screen and (max-width: 640px) {
  .owners .blogArea h3 {
    margin-bottom: 30px;
  }
  .owners .blogList ul li {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #c1c1c1;
  }
  .owners .blogList ul li:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
  .owners .blogList ul li a {
    font-size: 10px;
    padding-right: 15px;
    background-image: url(./imgs/icn-arrow.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 7px 13px;
  }
  .owners .blogList ul li .date {
    font-size: 0.8rem;
    margin-bottom: 5px;
  }
  .owners .blogList ul li.noArticle {
    font-size: 12px;
  }
}

.blog {
  /* blogArea */
}
.blog .blogArea h3 {
  font-size: 16px;
  text-align: center;
  margin-bottom: 50px;
}
.blog .blogList ul li {
  margin-top: 40px;
}
.blog .blogList ul li:first-child {
  margin-top: 0;
}
.blog .blogList ul li a {
  display: block;
  color: #333;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
  transition: 0.3s;
}
.blog .blogList ul li .date {
  margin-bottom: 5px;
}
.blog .blogList ul li .title {
  color: #2590cf;
}
.blog .blogList ul li a:hover .title {
  text-decoration: underline;
}
@media only screen and (max-width: 640px) {
  .blog .blogArea h3 {
    margin-bottom: 30px;
  }
  .blog .blogList ul li {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #c1c1c1;
  }
  .blog .blogList ul li:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
  .blog .blogList ul li a {
    font-size: 10px;
    padding-right: 15px;
    background-image: url(./imgs/icn-arrow.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 7px 13px;
  }
  .blog .blogList ul li .date {
    font-size: 0.8rem;
    margin-bottom: 5px;
  }
}

.news {
  /* newsArea */
}
.news .newsArea h3 {
  font-size: 16px;
  text-align: center;
  margin-bottom: 50px;
}
.news .newsList ul li {
  margin-top: 40px;
}
.news .newsList ul li:first-child {
  margin-top: 0;
}
.news .newsList ul li a {
  display: block;
  color: #333;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
  transition: 0.3s;
}
.news .newsList ul li a:hover {
  color: #2590cf;
}
.news .newsList ul li .date {
  margin-bottom: 10px;
}
@media only screen and (max-width: 640px) {
  .news .newsArea h3 {
    margin-bottom: 30px;
  }
  .news .newsList ul li {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #c1c1c1;
  }
  .news .newsList ul li:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
  .news .newsList ul li a {
    font-size: 10px;
    padding-right: 15px;
    background-image: url(./imgs/icn-arrow.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 7px 13px;
  }
  .news .newsList ul li .date {
    font-size: 0.8rem;
    margin-bottom: 5px;
  }
}

.blogBox {
  margin-bottom: 120px;
}

.blogBox .blogTtl {
  font-size: 14px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #bfbfbf;
}

.blogBox .blogTtl .date {
  margin-bottom: 10px;
}

.blogBox .contents {
  line-height: 2;
}

.blogBox .contents a:hover {
  text-decoration: underline;
}

.btn_back {
  text-align: right;
}

.btn_back a {
  color: #333;
  font-size: 14px;
}

.btn_back a:hover {
  text-decoration: underline;
}

@media only screen and (max-width: 640px) {
  .blogBox {
    margin-bottom: 60px;
  }

  .blogBox .blogTtl {
    margin-bottom: 12px;
    padding-bottom: 12px;
  }

  .blogBox .blogTtl .date {
    margin-bottom: 5px;
  }

  .btn_back {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  .btn_back a {
    display: block;
    font-size: 12px;
    padding: 12px 0;
    border: 1px solid #333;
    box-sizing: border-box;
  }

  .btn_back a span {
    display: none;
  }
}
.sonix {
  /* #container */
  /* titleB */
  /* subNav */
  /* cvBtn */
  /* section */
  /* section01 */
  /* section02 */
  /* section03 */
}
.sonix video {
  max-width: 100%;
  height: auto;
}
.sonixbody #container {
  margin-bottom: 60px;
}
.sonix .titleB {
  font-size: 16px;
  text-align: center;
  margin-bottom: 60px;
}
.sonix .titleB br.sp {
  display: none;
}
@media only screen and (max-width: 640px) {
  .sonix .titleB {
    font-size: 14px;
    margin-bottom: 30px;
  }
  .sonix .titleB br.sp {
    display: block;
  }
}
.sonix .subNav {
  margin-bottom: 80px;
  border-top: 1px solid #bfbfbf;
  border-bottom: 1px solid #bfbfbf;
}
.sonix .subNav ul {
  text-align: center;
  letter-spacing: -0.4em;
}
.sonix .subNav ul li {
  position: relative;
  display: inline-block;
  letter-spacing: normal;
  width: 320px;
}
.sonix .subNav ul li a,
.sonix .subNav ul li strong {
  display: block;
  font-size: 14px;
  letter-spacing: 3px;
  padding: 25px 0;
}
.sonix .subNav ul li a {
  color: #333;
  transition: 0.3s;
}
.sonix .subNav ul li a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 4px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  transition: 0.3s;
}
.sonix .subNav ul li strong {
  color: #2590cf;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
}
.sonix .subNav ul li strong::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 4px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #2590cf;
}
.sonix .subNav ul li a:hover {
  color: #2590cf;
}
.sonix .subNav ul li a:hover:before {
  background-color: #2590cf;
}
@media only screen and (max-width: 640px) {
  .sonix .subNav {
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 40px;
    padding: 10px 0;
  }
  .sonix .subNav ul li {
    width: 50%;
    box-sizing: border-box;
  }
  .sonix .subNav ul li:first-child {
    border-right: 1px solid #bfbfbf;
  }
  .sonix .subNav ul li a,
  .sonix .subNav ul li strong {
    font-size: 10px;
    padding: 15px 0;
  }
  .sonix .subNav ul li a:before {
    display: none;
  }
  .sonix .subNav ul li strong {
    color: #2590cf;
  }
  .sonix .subNav ul li strong::before {
    display: none;
  }
}
.sonix .cvBtn {
  width: 360px;
  margin: 0 auto;
}
.sonix .cvBtn a {
  position: relative;
  display: block;
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  padding: 15px 10px;
  background-color: #000;
  transition: 0.3s;
}
.sonix .cvBtn a strong {
  display: block;
  color: #addef8;
  font-size: 14px;
  font-weight: normal;
}
.sonix .cvBtn a span {
  font-size: 10px;
}
.sonix .cvBtn a i {
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -10px;
  transition: 0.3s;
}
.sonix .cvBtn a:hover {
  background-color: #222;
}
.sonix .cvBtn a:hover i {
  right: 17px;
}
@media only screen and (max-width: 640px) {
  .sonix .cvBtn {
    width: 100%;
    margin: 0;
  }
  .sonix .cvBtn a i {
    margin-top: -5px;
  }
  .sonix .cvBtn a i img {
    zoom: 0.5;
  }
}
.sonix .section {
  margin-top: 100px;
}
.sonix .section .titleC {
  text-align: center;
  margin-bottom: 40px;
}
.sonix .section .titleC h3 {
  display: inline-block;
  font-size: 20px;
  line-height: 22px;
  padding: 5px;
  border-bottom: 2px solid #333;
}
.sonix .section p {
  line-height: 2;
}
.sonix .section .col2 .left,
.sonix .section .col2 .right {
  width: 47.91666666666667%;
}
.sonix .section .col2 .left {
  float: left;
}
.sonix .section .col2 .right {
  float: right;
}
@media only screen and (max-width: 640px) {
  .sonix .section {
    margin-top: 60px;
  }
  .sonix .section .titleC h3 {
    font-size: 16px;
    line-height: 1.7;
  }
  .sonix .section .col2 .left,
  .sonix .section .col2 .right {
    float: none;
    width: 100%;
  }
  .sonix .section .col2 .left {
    margin-bottom: 20px;
  }
}
.sonix #machine2 .section01 {
  margin-top: 0;
}
.sonix #machine2 .section01 .image01 {
  margin-top: 80px;
  margin-bottom: 80px;
}
.sonix #machine2 .section01 .skillBox {
  margin-top: 120px;
}
.sonix #machine2 .section01 .skillBox dl dt {
  margin-top: 80px;
}
.sonix #machine2 .section01 .skillBox dl dt:first-child {
  margin-top: 0;
}
.sonix #machine2 .section01 .skillBox dl dt h4 {
  color: #2590cf;
  font-size: 16px;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
  margin-bottom: 10px;
}
@media only screen and (max-width: 640px) {
  .sonix #machine2 .section01 .image01 {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .sonix #machine2 .section01 .skillBox {
    margin-top: 60px;
  }
  .sonix #machine2 .section01 .skillBox dl dt {
    margin-top: 40px;
  }
}
.sonix #machine2 .section02 {
  padding: 50px 0;
  background-color: #212121;
}
@media only screen and (max-width: 640px) {
  .sonix #machine2 .section02 {
    padding: 10px 0;
  }
  .sonix #machine2 .section02 iframe {
    width: 100%;
    height: 200px;
  }
}
.sonix #machine2 .section03 h4 {
  font-size: 16px;
  text-align: center;
  margin-bottom: 40px;
}
.sonix #machine2 .section03 .results {
  width: 620px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 80px;
}
.sonix #machine2 .section03 .results li {
  float: left;
  width: 200px;
  color: #2590cf;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
  padding: 30px 10px;
  margin-top: 10px;
  margin-right: 10px;
  border: 1px solid #2590cf;
  box-sizing: border-box;
}
.sonix #machine2 .section03 .results li:nth-child(3n) {
  margin-right: 0;
}
.sonix #machine2 .section03 .results li:nth-child(-n + 3) {
  margin-top: 0;
}
.sonix #machine2 .section03 .results li span,
.sonix #machine2 .section03 .results li strong {
  display: block;
}
.sonix #machine2 .section03 .results li span {
  font-size: 18px;
}
.sonix #machine2 .section03 .results li strong {
  font-size: 16px;
}
@media only screen and (max-width: 640px) {
  .sonix #machine2 .section03 .results {
    width: 100%;
    margin-bottom: 40px;
  }
  .sonix #machine2 .section03 .results li {
    float: left;
    width: 48%;
    padding: 20px 10px;
    margin-top: 12px;
    margin-right: 4%;
  }
  .sonix #machine2 .section03 .results li:nth-child(3n) {
    margin-right: 4%;
  }
  .sonix #machine2 .section03 .results li:nth-child(2n) {
    margin-right: 0;
  }
  .sonix #machine2 .section03 .results li:nth-child(-n + 3) {
    margin-top: 10px;
  }
  .sonix #machine2 .section03 .results li:nth-child(-n + 2) {
    margin-top: 0;
  }
  .sonix #machine2 .section03 .results li span {
    font-size: 16px;
  }
  .sonix #machine2 .section03 .results li strong {
    font-size: 14px;
  }
}
.sonix #machine2 .section04 .box {
  padding: 60px 0;
  border-bottom: 1px solid #bfbfbf;
}
.sonix #machine2 .section04 .box:first-child {
  padding: 0 0 60px;
}
.sonix #machine2 .section04 .box h4 {
  color: #2590cf;
  font-size: 16px;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
  margin-bottom: 10px;
}
.sonix #machine2 .section04 .box ul {
  margin-top: 60px;
}
.sonix #machine2 .section04 .box ul li {
  margin-top: 10px;
}
.sonix #machine2 .section04 .box ul li:first-child {
  margin-top: 0;
}
.sonix #machine2 .section04 .box ul li h5 {
  font-size: 14px;
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  .sonix #machine2 .section04 .box {
    padding: 40px 0;
  }
  .sonix #machine2 .section04 .box:first-child {
    padding: 0 0 40px;
  }
  .sonix #machine2 .section04 .box ul {
    margin-top: 40px;
  }
}

.request {
  /* #cvBox */
  /* cautionTxt */
  /* contactBox */
  /* thanks */
}
.request #container {
  margin-top: 70px;
  margin-bottom: 120px;
  text-align: left;
}
.request #cvBox {
  display: none;
}
.request .cautionTxt {
  width: 680px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
}
.request .cautionTxt .txt01 {
  line-height: 2;
  padding: 15px;
  border: 1px solid #bfbfbf;
  margin-bottom: 30px;
}
.request .cautionTxt .btn {
  text-align: center;
  letter-spacing: -0.4em;
  margin-bottom: 10px;
}
.request .cautionTxt .btn li {
  display: inline-block;
  letter-spacing: normal;
  margin: 5px;
}
.request .cautionTxt .btn li a {
  display: block;
  width: 220px;
  color: #fff;
  padding: 5px 0;
  text-align: center;
  border: 1px solid #fff;
  background-color: #2590cf;
  box-sizing: border-box;
  transition: 0.3s;
}
.request .cautionTxt .btn li.entry a {
  border: 1px solid #000;
  background-color: #000;
}
.request .cautionTxt .btn li a:hover {
  color: #2590cf;
  border: 1px solid #2590cf;
  background-color: #fff;
}
.request .cautionTxt .btn li.entry a:hover {
  color: #000;
  border: 1px solid #000;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .request .cautionTxt {
    width: 100%;
    margin-bottom: 20px;
  }
  .request .cautionTxt .txt01 {
    font-size: 10px;
  }
  .request .cautionTxt .btn li {
    display: block;
    margin: 5px 0;
  }
  .request .cautionTxt .btn li a {
    width: 100%;
    padding: 10px 0;
  }
}
.request .contactBox {
  width: 860px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 120px;
}
.request .contactBox table {
  margin-left: -100px;
}
.request .contactBox table tr {
  display: block;
  margin-top: 20px;
}
.request .contactBox table tr:first-child {
  margin-top: 0;
}
.request .contactBox table tr th,
.request .contactBox table tr td {
  vertical-align: middle;
}
.request .contactBox table tr th {
  width: 200px;
  font-size: 16px;
  font-weight: normal;
  text-align: right;
  padding-right: 10px;
}
.request .contactBox table tr th span {
  display: block;
  font-size: 12px;
}
.request .contactBox table tr th span.req {
  color: #d93600;
}
.request .contactBox table tr td {
  width: 650px;
}
.request .contactBox table tr td input[type="text"],
.request .contactBox table tr td input[type="email"],
.request .contactBox table tr td textarea {
  width: 100%;
  font-size: 14px;
  padding: 0 10px !important;
  border: 1px solid #bfbfbf;
  box-sizing: border-box;
}
.request .contactBox table tr td input[type="text"],
.request .contactBox table tr td input[type="email"] {
  height: 50px;
}
.request .contactBox table tr td textarea {
  width: 100% !important;
  height: 180px !important;
  padding: 10px !important;
}
.request .contactBox table tr td ul li {
  float: left;
  margin-left: 15px;
}
.request .contactBox table tr td ul li:first-child {
  margin-left: 0;
}
.request .contactBox table tr td.address ul li {
  float: none;
  margin-top: 10px;
  margin-left: 0;
}
.request .contactBox table tr td.address ul li:first-child {
  margin-top: 0;
}
.request .contactBox .btn_submit {
  margin-top: 60px;
  text-align: center;
  letter-spacing: -0.4em;
}
.request .contactBox .btn_submit li {
  display: inline-block;
  letter-spacing: normal;
}
.request .contactBox input[type="submit"] {
  width: 360px;
  color: #fff;
  font-size: 16px;
  letter-spacing: 3px;
  text-align: center;
  padding: 15px 10px;
  cursor: pointer;
  border: none;
  outline: none;
  background-color: #005d9a;
  transition: 0.3s;
}
.request .contactBox input[type="submit"]:hover {
  background-color: #1477af;
}
@media only screen and (max-width: 640px) {
  .request .contactBox {
    width: 100%;
  }
  .request .contactBox table {
    margin-left: 0;
  }
  .request .contactBox table tr {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #bfbfbf;
  }
  .request .contactBox table tr:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
  .request .contactBox table tr th,
  .request .contactBox table tr td {
    display: block;
  }
  .request .contactBox table tr th {
    width: 100%;
    text-align: left;
    padding-right: 0;
    margin-bottom: 10px;
  }
  .request .contactBox table tr th span {
    font-size: 10px;
  }
  .request .contactBox table tr td {
    width: 100%;
  }
  .request .contactBox .btn_submit {
    margin-top: 40px;
  }
  .request .contactBox .btn_submit li {
    display: block;
  }
  .request .contactBox input[type="submit"] {
    width: 100%;
  }
}
.request #thanks .massegeBox {
  text-align: center;
}
.request #thanks .massegeBox h4 {
  font-size: 18px;
  margin-bottom: 30px;
}

.contact {
  /* cautionTxt */
  /* contactBox */
  /* thanks */
}
.contact .cautionTxt {
  width: 680px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
}
.contact .cautionTxt .txt01 {
  font-size: 14px;
  line-height: 2;
  text-align: center;
  margin-bottom: 30px;
}
.contact .cautionTxt .btn {
  text-align: center;
  letter-spacing: -0.4em;
  margin-bottom: 10px;
}
.contact .cautionTxt .btn li {
  display: inline-block;
  letter-spacing: normal;
  margin: 0 5px;
}
.contact .cautionTxt .btn li a {
  display: block;
  width: 180px;
  color: #fff;
  padding: 5px 0;
  text-align: center;
  border: 1px solid #fff;
  background-color: #2590cf;
  box-sizing: border-box;
  transition: 0.3s;
}
.contact .cautionTxt .btn li a:hover {
  color: #2590cf;
  border: 1px solid #2590cf;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .contact .cautionTxt {
    width: 100%;
    margin-bottom: 20px;
  }
  .contact .cautionTxt .txt01 {
    font-size: 12px;
  }
  .contact .cautionTxt .btn li {
    display: block;
    margin: 5px 0;
  }
  .contact .cautionTxt .btn li a {
    width: 100%;
    padding: 10px 0;
  }
}
.contact .contactBox {
  width: 860px;
  margin-left: auto;
  margin-right: auto;
}
.contact .contactBox table {
  margin-left: -100px;
}
.contact .contactBox table tr {
  display: block;
  margin-top: 20px;
}
.contact .contactBox table tr:first-child {
  margin-top: 0;
}
.contact .contactBox table tr th,
.contact .contactBox table tr td {
  vertical-align: middle;
}
.contact .contactBox table tr th {
  width: 200px;
  font-size: 16px;
  font-weight: normal;
  text-align: right;
  padding-right: 10px;
}
.contact .contactBox table tr th span {
  display: block;
  font-size: 12px;
}
.contact .contactBox table tr th span.req {
  color: #d93600;
}
.contact .contactBox table tr td {
  width: 650px;
}
.contact .contactBox table tr td input[type="text"],
.contact .contactBox table tr td input[type="email"],
.contact .contactBox table tr td textarea {
  width: 100%;
  font-size: 14px;
  padding: 0 10px !important;
  border: 1px solid #bfbfbf;
  box-sizing: border-box;
}
.contact .contactBox table tr td input[type="text"],
.contact .contactBox table tr td input[type="email"] {
  height: 50px;
}
.contact .contactBox table tr td textarea {
  width: 100% !important;
  height: 180px !important;
  padding: 10px !important;
}
.contact .contactBox table tr td ul li {
  float: left;
  margin-left: 15px;
}
.contact .contactBox table tr td ul li:first-child {
  margin-left: 0;
}
.contact .contactBox table tr td.address ul li {
  float: none;
  margin-top: 10px;
  margin-left: 0;
}
.contact .contactBox table tr td.address ul li:first-child {
  margin-top: 0;
}
.contact .contactBox .btn_submit {
  margin-top: 60px;
  text-align: center;
  letter-spacing: -0.4em;
}
.contact .contactBox .btn_submit li {
  display: inline-block;
  letter-spacing: normal;
}
.contact .contactBox input[type="submit"] {
  width: 360px;
  color: #fff;
  font-size: 16px;
  letter-spacing: 3px;
  text-align: center;
  padding: 15px 10px;
  cursor: pointer;
  border: none;
  outline: none;
  background-color: #005d9a;
  transition: 0.3s;
}
.contact .contactBox input[type="submit"]:hover {
  background-color: #1477af;
}
@media only screen and (max-width: 640px) {
  .contact .contactBox {
    width: 100%;
  }
  .contact .contactBox table {
    margin-left: 0;
  }
  .contact .contactBox table tr {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #bfbfbf;
  }
  .contact .contactBox table tr:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
  .contact .contactBox table tr th,
  .contact .contactBox table tr td {
    display: block;
  }
  .contact .contactBox table tr th {
    width: 100%;
    text-align: left;
    padding-right: 0;
    margin-bottom: 10px;
  }
  .contact .contactBox table tr th span {
    font-size: 10px;
  }
  .contact .contactBox table tr td {
    width: 100%;
  }
  .contact .contactBox .btn_submit {
    margin-top: 40px;
  }
  .contact .contactBox .btn_submit li {
    display: block;
  }
  .contact .contactBox input[type="submit"] {
    width: 100%;
  }
}
.contact #thanks .massegeBox {
  text-align: center;
}
.contact #thanks .massegeBox h4 {
  font-size: 18px;
  margin-bottom: 30px;
}

.admission {
  /* cautionTxt */
  /* contactBox */
  /* thanks */
}
.admission .download {
  margin: 50px 0;
}
.admission .download p {
  margin-bottom: 15px;
}

.admission #cvBox ul {
  display: none;
}

.web-admission #cvBox {
  display: none;
}
.admission .cautionTxt {
  width: 680px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
}
.admission .cautionTxt .txt01 {
  font-size: 14px;
  text-align: center;
  margin-bottom: 20px;
}
.admission .cautionTxt .txt02 {
  line-height: 2;
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid #bfbfbf;
}
.admission .cautionTxt .btn {
  text-align: center;
  letter-spacing: -0.4em;
}
.admission .cautionTxt .btn li {
  display: inline-block;
  letter-spacing: normal;
  margin: 5px;
}
.admission .cautionTxt .btn li a {
  display: block;
  width: 220px;
  color: #fff;
  padding: 5px 0;
  text-align: center;
  border: 1px solid #fff;
  background-color: #2590cf;
  box-sizing: border-box;
  transition: 0.3s;
}
.admission .cautionTxt .btn li.entry a {
  border: 1px solid #000;
  background-color: #000;
}
.admission .cautionTxt .btn li a:hover {
  color: #2590cf;
  border: 1px solid #2590cf;
  background-color: #fff;
}
.admission .cautionTxt .btn li.entry a:hover {
  color: #000;
  border: 1px solid #000;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .admission .cautionTxt {
    width: 100%;
    margin-bottom: 20px;
  }
  .admission .cautionTxt .txt01 {
    font-size: 12px;
  }
  .admission .cautionTxt .txt02 {
    font-size: 10px;
  }
  .admission .cautionTxt .btn li {
    display: block;
    margin: 5px 0;
  }
  .admission .cautionTxt .btn li a {
    width: 100%;
    padding: 10px 0;
  }
}
.admission .contactBox {
  width: 860px;
  margin-left: auto;
  margin-right: auto;
}
.admission .contactBox table {
  margin-left: -100px;
}
.admission .contactBox table tr {
  display: block;
  margin-top: 20px;
}
.admission .contactBox table tr:first-child {
  margin-top: 0;
}
.admission .contactBox table tr th,
.admission .contactBox table tr td {
  vertical-align: middle;
}
.admission .contactBox table tr th {
  width: 200px;
  font-size: 16px;
  font-weight: normal;
  text-align: right;
  padding-right: 10px;
}
.admission .contactBox table tr th span {
  display: block;
  font-size: 12px;
}
.admission .contactBox table tr th span.req {
  color: #d93600;
}
.admission .contactBox table tr td {
  width: 650px;
}
.admission .contactBox table tr td input[type="text"],
.admission .contactBox table tr td input[type="email"],
.admission .contactBox table tr td textarea {
  width: 100%;
  font-size: 14px;
  padding: 0 10px !important;
  border: 1px solid #bfbfbf;
  box-sizing: border-box;
}
.admission .contactBox table tr td input[type="text"],
.admission .contactBox table tr td input[type="email"] {
  height: 50px;
}
.admission .contactBox table tr td textarea {
  width: 100% !important;
  height: 180px !important;
  padding: 10px !important;
}
.admission .contactBox table tr td ul li {
  float: left;
  margin-left: 15px;
}
.admission .contactBox table tr td ul li:first-child {
  margin-left: 0;
}
.admission .contactBox table tr td.address ul li {
  float: none;
  margin-top: 10px;
  margin-left: 0;
}
.admission .contactBox table tr td.address ul li:first-child {
  margin-top: 0;
}
.admission .contactBox .btn_submit {
  margin-top: 60px;
  text-align: center;
  letter-spacing: -0.4em;
}
.admission .contactBox .btn_submit li {
  display: inline-block;
  letter-spacing: normal;
}
.admission .contactBox .btn_submit input[type="submit"] {
  width: 360px;
  color: #fff;
  font-size: 16px;
  letter-spacing: 3px;
  text-align: center;
  padding: 15px 10px;
  cursor: pointer;
  border: none;
  outline: none;
  background-color: #005d9a;
  transition: 0.3s;
}
.admission .contactBox .btn_submit li input[type="submit"]:hover {
  background-color: #1477af;
}
@media only screen and (max-width: 640px) {
  .admission .contactBox {
    width: 100%;
  }
  .admission .contactBox table {
    margin-left: 0;
  }
  .admission .contactBox table tr {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #bfbfbf;
  }
  .admission .contactBox table tr:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
  .admission .contactBox table tr th,
  .admission .contactBox table tr td {
    display: block;
  }
  .admission .contactBox table tr th {
    width: 100%;
    text-align: left;
    padding-right: 0;
    margin-bottom: 10px;
  }
  .admission .contactBox table tr th span {
    font-size: 10px;
  }
  .admission .contactBox table tr td {
    width: 100%;
  }
  .admission .contactBox .btn_submit {
    margin-top: 40px;
  }
  .admission .contactBox .btn_submit li {
    display: block;
  }
  .admission .contactBox .btn_submit input[type="submit"] {
    width: 100%;
  }
}
.admission #thanks .massegeBox {
  text-align: center;
}
.admission #thanks .massegeBox h4 {
  font-size: 18px;
  margin-bottom: 30px;
}
/* 20190207 add */
.contactBox {
  width: 860px;
  margin-left: auto;
  margin-right: auto;
}
.contactBox table {
  margin-left: -100px;
}
.contactBox table tr {
  display: block;
  margin-top: 20px;
}
.contactBox table tr:first-child {
  margin-top: 0;
}
.contactBox table tr th,
.contactBox table tr td {
  vertical-align: middle;
}
.contactBox table tr th {
  width: 200px;
  font-size: 16px;
  font-weight: normal;
  text-align: right;
  padding-right: 10px;
}
.contactBox table tr th span {
  display: block;
  font-size: 12px;
}
.contactBox table tr th span.req {
  color: #d93600;
}
.contactBox table tr td {
  width: 650px;
}
.contactBox table tr td input[type="text"],
.contactBox table tr td input[type="email"],
.contactBox table tr td textarea {
  width: 100%;
  font-size: 14px;
  padding: 0 10px !important;
  border: 1px solid #bfbfbf;
  box-sizing: border-box;
}
.contactBox table tr td input[type="text"],
.contactBox table tr td input[type="email"] {
  height: 50px;
}
.contactBox table tr td textarea {
  width: 100% !important;
  height: 180px !important;
  padding: 10px !important;
}
.contactBox table tr td ul li {
  float: left;
  margin-left: 15px;
}
.contactBox table tr td ul li:first-child {
  margin-left: 0;
}
.contactBox table tr td.address ul li {
  float: none;
  margin-top: 10px;
  margin-left: 0;
}
.contactBox table tr td.address ul li:first-child {
  margin-top: 0;
}
.contactBox .btn_submit {
  margin-top: 60px;
  text-align: center;
  letter-spacing: -0.4em;
}
.contactBox .btn_submit li {
  display: inline-block;
  letter-spacing: normal;
}
.contactBox .btn_submit input[type="submit"] {
  width: 360px;
  color: #fff;
  font-size: 16px;
  letter-spacing: 3px;
  text-align: center;
  padding: 15px 10px;
  cursor: pointer;
  border: none;
  outline: none;
  background-color: #005d9a;
  transition: 0.3s;
}
.contactBox .btn_submit li input[type="submit"]:hover {
  background-color: #1477af;
}
@media only screen and (max-width: 640px) {
  .contactBox {
    width: 100%;
  }
  .contactBox table {
    margin-left: 0;
  }
  .contactBox table tr {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #bfbfbf;
  }
  .contactBox table tr:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
  .contactBox table tr th,
  .contactBox table tr td {
    display: block;
  }
  .contactBox table tr th {
    width: 100%;
    text-align: left;
    padding-right: 0;
    margin-bottom: 10px;
  }
  .contactBox table tr th span {
    font-size: 10px;
  }
  .contactBox table tr td {
    width: 100%;
  }
  .contactBox .btn_submit {
    margin-top: 40px;
  }
  .contactBox .btn_submit li {
    display: block;
  }
  .contactBox .btn_submit input[type="submit"] {
    width: 100%;
  }
}
#thanks .massegeBox {
  text-align: center;
}
#thanks .massegeBox h4 {
  font-size: 18px;
  margin-bottom: 30px;
}

.btn-flat-vertical-border {
  position: relative;
  display: inline-block;
  font-weight: bold;
  padding: 0.5em 1em;
  text-decoration: none;
  border-left: solid 4px #668ad8;
  border-right: solid 4px #668ad8;
  color: #668ad8;
  background: #e1f3ff;
  transition: 0.4s;
}

.btn-flat-vertical-border:hover {
  background: #299ad0;
  color: #fff;
}
.btn-flat-vertical-border {
  position: relative;
  display: inline-block;
  font-weight: bold;
  padding: 0.5em 1em;
  text-decoration: none;
  border-left: solid 4px #299ad0;
  border-right: solid 4px #299ad0;
  color: #299ad0;
  background: #e1f3ff;
  transition: 0.4s;
  font-size: 160%;
}

.btn-flat-vertical-border:hover {
  background: #299ad0;
  color: #fff;
}
