@charset "UTF-8";
* {
  margin:0;
  padding:0;
}
html {
  font-size:62.5%;
}
body {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif!important;
  color:#1a1a1a;
  font-size: 1.4rem!important;
  line-height:2;
}
html, body {
  width:100%;
  height:auto;
  margin: 0;
}
a {
  color:#1a1a1a;
  transition:1.0s;
  text-decoration:none!important;
}
a:hover {
  color:#1a1a1a;
}
.yu_mincho {
  font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
img {
  display:block;
  width:100%;
  height:auto;
}
/*--------------------------------------------------------------------------
	fade in 設定
--------------------------------------------------------------------------*/
.sa {
  opacity: 0;
  transition: all .5s ease;
}
.sa.show {
  opacity: 1;
  transform: none;
}
.sa--up {
  transform: translate(0, 50px);
}
.sa--down {
  transform: translate(0, -50px);
}
.sa--scaleUp {
  transform: scale(.5);
}
.sa--lr {
  transform: translate(-100px, 0);
}
.sa--rl {
  transform: translate(100px, 0);
}
/*--------------------------------------------------------------------------
  ローディング
--------------------------------------------------------------------------*/
#loader {
  width: 100%;
  height: 100vh;
  position: fixed;
  background: rgb(255,255,255); /* Old browsers */
  filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#b3dced', endColorstr='#bce0ee',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
  z-index: 99999;
  top: 0;
  left: 0;
}
.spinner-box {
  width: 300px;
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.circle-border {
  width: 50px;
  height: 50px;
  padding: 1px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: linear-gradient(0deg, rgba(63,249,220,0.1) 33%, rgba(63,249,220,1) 100%);
  animation: spin .8s linear 0s infinite;
}
.circle-core {
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 50%;
}
@keyframes spin {
  from {
    transform: rotate(0);
  }
  to{
    transform: rotate(359deg);
  }
}
/*--------------------------------------------------------------------------
	wp＊調整
--------------------------------------------------------------------------*/
.container {position:relative;}
/*--------------------------------------------------------------------------
	header＊ナビ設定
--------------------------------------------------------------------------*/
header {
  width: 100%;
  margin: 0;
  padding: 0;
  top: 0;
	transition: .3s;
  z-index: 999;
}
header.hide{
	transform: translateY(-100%);
}
.site-header {
  width: 100%;
  position: fixed;
  background: none;
}
.scroll.site-header {
  background-color: rgba(255,255,255,1);
}
#navigation {
  width:100%;
  max-width:1100px;
  height:60px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.logo {
  width:auto;
  height:auto;
}
.logo a,
.logo a svg {
  display:block;
  width:auto;
  height:30px;
}
.st0 {
  fill:#FFFFFF;
}
.scroll .st0 {
  fill:#1a1a1a;
}
.nav-wrap {
  width:80%;
  height:auto;
}
#global-nav {
  width:100%;
  height:auto;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  list-style:none;
}
#global-nav li {
  font-size:1rem;
  line-height:1.4;
}
#global-nav li a {
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  padding:0 12px;
  color:#000;
}
.nav-wrap-1 {
  font-size: 1.4rem;
  font-family: 'Josefin Sans', sans-serif;
  font-weight:600;
  letter-spacing:0;
  color:#000;
}
.scroll #global-nav li a {
  color:#000;
}
.scroll .nav-wrap-1 {
  color:#000;
}
#nav-toggle {
  display:none;
}
/*--------------------------------------------------------------------------
 main
--------------------------------------------------------------------------*/
main {
  width:100%;
  height:auto;
  overflow:hidden;
}
h1 {
  width:100%;
  max-width:1280px;
  margin:0 auto;
  font-size:1rem;
  text-align:right;
  position:absolute;
  top:52vh;
  left:50%;
  transform:translate(-50%,0);
  z-index:1;
}
/*--------------------------------------------------------------------------
	メイン画像
--------------------------------------------------------------------------*/
#main-img {
  width: 100%;
  height: calc(40vh + 60px);
  position: relative;
}
.main-img {
  width:95%;
  height:100%;
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  margin:0 auto;
  box-sizing: border-box;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items: center;
  background:#fafafa;
}
.main-title {
  display:flex;
  flex-direction:column-reverse;
  align-items:center;
  justify-content:center;
  position: absolute;
  top:50%;left:50%;
  transform: translate(-50%,-50%);
}
.main-title > p {
  color:#2c3e50;
  font-size:3.4rem;
  letter-spacing: 0.05em;
  font-style:italic;
  font-family: 'Josefin Sans', sans-serif;
  text-align:center;
  line-height:1.2;
}
.main-title > h2 {
  font-size:1.2rem;
  font-weight:normal;
}
.contact-text__attention {font-size:1.2rem;font-weight:bold;}
/*--------------------------------------------------------------------------
	パンくずリスト
--------------------------------------------------------------------------*/
#breadcrumbList {
  width:100%;
  height:auto;
  padding:10px 0;
}
.breadcrumbList-inner {
  width:100%;
  max-width:1024px;
  height:auto;
  margin: 0 auto;
}
.breadcrumbList-inner ol {
  display: flex;
  align-items: center;
}
.breadcrumbList-inner li {
  width: auto;
  list-style: none;
  color:#2c3e50;
  font-size: 1.0rem;
}
.breadcrumbList-inner a {
  color:#2c3e50;
  font-size:1.0rem;
  padding:0 5px;
}
.breadcrumbList-inner a i {
  margin-right:3px;
}
.breadcrumbList-inner li:not(:last-child) a::after {
  font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f105";
  margin-left: 10px;
}
.breadcrumbList-inner span {
  display: inline-block;
  padding-left: 3px;
  color: #2c3e50;
  vertical-align: middle;
}
/*--------------------------------------------------------------------------
 footer
--------------------------------------------------------------------------*/
footer {
  width: 100%;
  height: auto;
  background-color: #2e3131;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23ffffff' fill-opacity='0.14' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");
}
footer a {
  color:#fafafa;
}
.footer-container {
  width:100%;
  height:auto;
  max-width:1024px;
  margin:0 auto;
  padding:30px 0 50px 0;
  display:flex;
  justify-content:space-between;
}
.footer-address {
  width:45%;
  height:auto;
}
.footer-nav-logo {
  width:100%;height:auto;
  border-bottom:1px solid #545454;
  padding-bottom:10px;
  margin-bottom:10px;
}
.footer-nav-logo > a {
  display:block;
  width:40%;height:auto;
}
.footer-nav-logo > a > img {
  display:block;
  width:100%;
  height:auto;
}
.footer-address ul {
  list-style: none;
  font-size: 1.2rem;
  line-height: 2;
}
.footer-address li {
  color: #fafafa;
  font-weight: bold;
}
.footer-address li img {
  width: 1.0rem;
  height: auto;
}
.footer-address li a {
  font-family :Quicksand, sans-serif;
  transform: rotate(0.001deg);
}
.footer-address li img {
  display:inline-block;
}
.map-icon {
  padding-left:3px;
}
.footer-nav {
  width:45%;
  display:flex;flex-direction:column;
  justify-content:flex-end;
}
.footer-nav ul {
  display: flex;
  justify-content: flex-end;
}
.footer-nav li {
  list-style: none;
  color: #fafafa;
  font-size: 1.2rem;
}
.footer-nav li a {
  display: inline-block;
  padding: 0 8px;
  line-height: 1
}
.footer-nav p  {
  font-size: 1.0rem;
  color:#fafafa;
  text-align: right;
}
.footer-nav i {
  color:#fafafa;
}
.footer-nav-box {
  width: 45%;
  height: 45px;
  margin-top: 15px;
  margin-left: auto;
}
.footer-nav-box i {
  color:#fafafa;
  padding-right: 3px;
}
.footer-nav-box a {
  display: inline-block;
  width: 100%;
  line-height: 45px;
  border: 1px solid #fafafa;
  text-align: center;
  font-size: 1.2rem;
}
.footer-nav-sub {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 10px;
  height: auto;
}
.footer-nav-sub ul {
  display: flex;
  justify-content: center;
}
.footer-nav-sub li {
  font-family :Quicksand, sans-serif;
  transform: rotate(0.001deg);
  letter-spacing: 0.25em;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  padding: 5px;
  line-height: 1.5;
  position: relative;
}
.footer-nav-sub li+li:before {
    position: absolute;
    display: block;
    content: "";
    top: 50%;
    height: 8px;
    margin-top: -4px;
    margin-left: -6px;
    border-right: 1px solid #bdc3c7;
}
.footer-nav-sub li a {
  font-size: 1rem;
  letter-spacing: 0.15em;
  text-decoration: none;
  color: rgb(255,255,255);
}
.footer-copyright {
  background: #fff;
  font-size: 1rem;
  text-align: center;
  font-family :Quicksand, sans-serif;/*Google Font*/
  transform: rotate(0.001deg);
}
#navi-mob {
  display: none;
}
@media all and (max-width: 1360px) {
  html {
    font-size: calc(100vw/136.0);
  }
}
@media all and (max-width: 1280px) {
  #navigation {
    width: 90%;max-width: initial;margin: 0 auto;
  }
}
@media all and (max-width: 1100px) {
  .breadcrumbList-inner,
  .footer-container,
  .footer-nav-sub {
    width:90%;
    max-width:initial;
  }
}
@media all and (max-width: 1024px) {
  html {
    font-size: calc(100vw/102.4);
  }
  .footer-nav ul {
    flex-wrap: wrap;
  }
}
@media all and (max-width: 786px) {
  html {
    font-size: calc(100vw/78.6);
  }
  .site-header {
    width:100%;
    height:60px;
    position:fixed;
    display:block;
    top:0;
  }
 .nav-wrap {
   width:100%;
   height:100vh;
   position: absolute;
   top:0;
   right:0;
   opacity:0;
   visibility:hidden;
   display: flex;
   flex-direction: column;
   align-items:center;
   justify-content:center;
   background-color: rgba(46, 49, 49, .9);
   transition: 1s ease;
  }
  #global-nav {
    width:100%;
    height:auto;
    flex-direction:column;
  }
  #global-nav li {
    width:100%;
    max-width:480px;
    height:auto;
    margin:0 auto;
  }
  #global-nav li a {
    display:flex;
    align-items:center;
    width:100%;
    height:auto;
    padding:14px 0;
    color:#fff;
  }
  .nav-wrap-1 {
    color:#fff;
    font-size:1.6rem;
    letter-spacing:0.15em;
  }
  .scroll #global-nav li a,
  .scroll .nav-wrap-1 {
    color:#fff;
  }
  #nav-toggle {
    display: block;
  }
  #nav-toggle {
    position: absolute;
    right:5%;
    top: 0;
    width:32px;
    height:100%;
    cursor: pointer;
    z-index: 101;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #nav-toggle span {
    display: block;
    width:100%;
    height: 4px;
    border-radius: 4px;
    background:#000;
    left: 0;
    transition: .35s ease-in-out;
    position: absolute;
    left:50%;
    transform: translate(-50%,0);
  }
  #nav-toggle span:nth-of-type(1) {
    top:14px;
  }
  #nav-toggle span:nth-of-type(2) {
    position:absolute;
    top:24px;
  }
  #nav-toggle span:nth-of-type(3) {
    top:34px;
  }
  #nav-toggle p {
    font-size:1rem;
    font-weight:bold;
    padding-top:40px;
    text-align:center;
  }
  .open #nav-toggle span {
    position:absolute;
    left:0;
    transform: translate(-50%,0);
    background:#fff;
  }
  .open #nav-toggle span:nth-child(1) {
    top:24px;
    -webkit-transform:rotate(-45deg);
    transform:rotate(-45deg);
  }
  .open #nav-toggle span:nth-child(2) {
    left: 0;
    opacity: 0;
    -webkit-animation: active-menu-bar .8s forwards;
    animation: active-menu-bar02 .8s forwards;
  }
  @-webkit-keyframes active-menu-bar {
    100% {
      height: 0;
    }
  }
  @keyframes active-menu-bar {
    100% {
      height: 0;
    }
  }
  .open #nav-toggle span:nth-child(3) {
    top:44px;
    -webkit-transform: translateY(-20px) rotate(45deg);
    transform:translateY(-20px) rotate(45deg);
  }
  .open .nav-wrap {
    visibility:visible;
    opacity:1;
  }
  .toggle-text {
    display:block;
    width:100%;
    height:15px;
    font-size:1rem;
    font-weight:bold;
    text-align:center;
    padding-top:40px;
    box-sizing:border-box;
  }
  .toggle-text::after {
    display: block;
    content:'MENU';
    width: 100%;
    height: 12px;
    text-align:center;
  }
  .open .toggle-text::after {
    content:'CLOSE';
    color:#fff;
  }
 #sec05 {
   width: 100%;
   height: auto;
   display: flex;
   flex-direction: column-reverse;
   border-top: solid 1px #e2e2e2;
   padding: 20px 0;
 }
 .footer_info {
   display: none;
 }
 h1 {
   margin-left: auto;
   font-size: .6rem;
   color: #2c3e50;
 }
}
@media screen and (max-width: 680px) {
  html {
    font-size: calc(100vw/68);
  }
  .footer-container {
    flex-direction: column;
    align-items: center;
  }
  .footer-address,
  .footer-nav {
    width: 100%;
  }
  .footer-nav {
    margin-top: 0;
  }
  .footer-nav ul {
    display: none;
    justify-content: initial;
  }
  .footer-nav-box {
    margin-left: initial;
    margin: 15px auto 0 auto;
    width: 80%;
  }
}
@media screen and (max-width: 480px) {
  html {
    font-size: 62.5%;
  }
  #main-img {
    width: 100%;
    height: calc(30vh + 60px);
  }
  .main-title > p {
    font-size:2.8rem;
    font-weight:bold;
    font-style:italic;
  }
}
