@charset "UTF-8";
html {
  overflow-y: scroll;
  font-size: 62.5%;
  /*10px 10/16=0.625*/
}

html.smp {
  font-size: 75.0%;
  /*12px 12/16=0.75*/
  font-size: 68.75%;
  /*12px 11/16=0.6875*/
}

body {
  font-size: 1.6rem;
  /*16px*/
  min-width: 1024px;
  -webkit-text-size-adjust: 100%;
}

body .smp-menu-item .smp-title {
  color: transparent;
}

body.smp {
  min-width: 640px;
  width: 640px;
}

body.smp .other-only {
  display: none;
}

body.other .smp-only {
  display: none;
}

html, body {
  font-family: 'Arial','Helvetica','ヒラギノ角ゴ Pro','Hiragino Kaku Gothic Pro','Meiryo UI','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  font-family: 'Meiryo UI','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  background: #FFF;
  height: 100%;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6,
pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, p, a {
  margin: 0;
  padding: 0;
}

a {
  color: #666;
  text-decoration: none;
}

img {
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
}

ul, ol {
  list-style-type: none;
}

/* ./reset*/
.smp .smp-m-t-45 {
  margin-top: 45px;
}

.wrapper {
  height: 100%;
}

/* top header-wrapper ======== ======== ======== ======== ======== ======== ======== ======== */
.header-wrapper {
  width: 100%;
  height: 242px;
  background-color: #fdf6ce;
  background-position: center;
  background-image: url(../img/bg1.jpg);
  /*background-image: url(../img/_top_header.png);*/
  position: relative;
}

/* top header-bg ======== ======== ======== ======== ======== ======== ======== ======== */
.header-bg-container {
  width: 100%;
  height: 242px;
  /*background-position:  top 0 center ;
	background-image: url(../img/sky.png);
	background-repeat: no-repeat;*/
  overflow: hidden;
  position: relative;
}

.header-bg-sky {
  width: 100%;
  height: 242px;
  background-position: top -20px center;
  background-image: url(../img/sky.png);
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
  top: 0;
}

.header-bg-cloud {
  width: 100%;
  height: 242px;
  /*background-position:  top -85px left -400px;
	background-image: url(../img/sky-cloud-1.png);*/
  background-position: top -94px center;
  background-image: url(../img/bg-cloud-1a.png);
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
  top: 0;
}

.header-bg-cloud.cloud-1a {
  background-image: url(../img/bg-cloud-1a.png);
}

.header-bg-cloud.cloud-1b {
  background-image: url(../img/bg-cloud-1b.png);
}

.header-bg-cloud.cloud-2a {
  background-image: url(../img/bg-cloud-2a.png);
}

.header-bg-cloud.cloud-2b {
  background-image: url(../img/bg-cloud-2b.png);
}

/* anime */
.header-bg-cloud.cloud-1a,
.header-bg-cloud.cloud-2a {
  -webkit-animation: top-cloud-a 1s ease-in-out infinite alternate;
          animation: top-cloud-a 1s ease-in-out infinite alternate;
  -webkit-transform-origin: center;
          transform-origin: center;
}

.header-bg-cloud.cloud-1b,
.header-bg-cloud.cloud-2b {
  -webkit-animation: top-cloud-b 1s ease-in-out infinite alternate;
          animation: top-cloud-b 1s ease-in-out infinite alternate;
  -webkit-transform-origin: center;
          transform-origin: center;
}

@-webkit-keyframes top-cloud-a {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-12px);
            transform: translateY(-12px);
  }
}

@keyframes top-cloud-a {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-12px);
            transform: translateY(-12px);
  }
}

@-webkit-keyframes top-cloud-b {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px);
  }
}

@keyframes top-cloud-b {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px);
  }
}

/* top header ======== ======== ======== ======== ======== ======== ======== ======== */
.header-container {
  width: 100%;
  height: 242px;
  position: absolute;
  left: 0;
  top: 0;
}

.header {
  width: 1024px;
  height: 242px;
  margin: 0 auto;
  position: relative;
}

.header-logo {
  width: 360px;
  height: 45px;
  position: absolute;
  left: 67px;
  top: 16px;
}

.header-tel {
  width: 230px;
  height: 45px;
  position: absolute;
  left: 728px;
  top: 17px;
}

ul.header-menu {
  position: absolute;
  left: 33px;
  top: 104px;
}

ul.header-menu li {
  float: left;
  height: 103px;
  padding: 0 11px 0 0;
}

ul.header-menu li.last {
  float: left;
  height: 103px;
  padding: 0 0 0 0;
}

body.smp .header-wrapper {
  position: fixed;
  width: 640px;
  height: 0;
  z-index: 1;
}

body.smp .header-wrapper .header-bg-container {
  display: none;
}

body.smp .header-wrapper .header-container {
  height: 76px;
  z-index: 200;
}

body.smp .header-wrapper .header-container .header {
  width: 640px;
  height: 76px;
}

body.smp .header-wrapper .header-container .header .smp-header-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 640px;
  height: 84px;
  background-position: top -18px left -200px;
  background-image: url(../img/sky.png);
  background-repeat: no-repeat;
  z-index: 210;
}

body.smp .header-wrapper .header-container .header .header-logo {
  left: 19px;
  top: 16px;
  z-index: 1000;
}

body.smp .header-wrapper .header-container .header .header-tel {
  display: none;
}

body.smp .header-wrapper .header-container .header ul.header-menu {
  left: 50px;
  top: 108px;
}

body.smp .header-wrapper .header-container .header ul.header-menu li {
  float: none;
  height: 44px;
  padding: 17px 0 17px 0;
  border-bottom: solid 1px #cebfa9;
}

body.smp .header-wrapper .header-container .header ul.header-menu li:first-child {
  padding: 0 0 17px 0;
}

body.smp .header-wrapper .header-container .header .smp-menu-item {
  width: 542px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

body.smp .header-wrapper .header-container .header .smp-menu-item .smp-title {
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
}

body.smp .smp-icon {
  width: 44px;
  height: 44px;
  background-image: url(../img/smp-menu-icons.png);
}

body.smp .smp-title {
  font-size: 2.0rem;
  line-height: 1;
  color: #fff;
  font-weight: bold;
  padding-left: 18px;
}

body.smp .smp-arrow {
  width: 15px;
  height: 15px;
  background-image: url(../img/smp-menu-arrows.png);
}

body.smp li.header-menu-1 .smp-icon {
  background-position: center top 0;
}

body.smp li.header-menu-1 .smp-arrow {
  background-position: center top 0;
}

body.smp li.header-menu-1 .smp-title {
  color: #c99ccb;
}

body.smp li.header-menu-2 .smp-icon {
  background-position: center top -44px;
}

body.smp li.header-menu-2 .smp-arrow {
  background-position: center top -15px;
}

body.smp li.header-menu-2 .smp-title {
  color: #43ae70;
}

body.smp li.header-menu-3 .smp-icon {
  background-position: center top -88px;
}

body.smp li.header-menu-3 .smp-arrow {
  background-position: center top -30px;
}

body.smp li.header-menu-3 .smp-title {
  color: #6fd4e1;
}

body.smp li.header-menu-4 .smp-icon {
  background-position: center top -132px;
}

body.smp li.header-menu-4 .smp-arrow {
  background-position: center top -45px;
}

body.smp li.header-menu-4 .smp-title {
  color: #ff9193;
}

body.smp li.header-menu-5 .smp-icon {
  background-position: center top -176px;
}

body.smp li.header-menu-5 .smp-arrow {
  background-position: center top -60px;
}

body.smp li.header-menu-5 .smp-title {
  color: #9ad464;
}

body.smp li.header-menu-6 .smp-icon {
  background-position: center top -220px;
}

body.smp li.header-menu-6 .smp-arrow {
  background-position: center top -75px;
}

body.smp li.header-menu-6 .smp-title {
  color: #ffa049;
}

body.smp .global-nav {
  position: fixed;
  left: 0;
  top: -800px;
  width: 640px;
  min-height: 588px;
  padding-top: 40px;
  background-color: #fef8df;
  -webkit-transition: all .6s;
  transition: all .6s;
  z-index: 200;
  overflow-y: auto;
  -webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.4));
          filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.4));
}

body.smp .hamburger {
  position: absolute;
  right: 25px;
  top: 20px;
  width: 47px;
  height: 47px;
  cursor: pointer;
  z-index: 400;
}

body.smp .black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 1000vw;
  height: 1000vh;
  z-index: 10;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all .3s;
  transition: all .3s;
  cursor: pointer;
}

body.smp .hamburger__line {
  position: absolute;
  left: 5px;
  width: 37px;
  height: 3px;
  background-color: #fff;
  -webkit-transition: all .3s;
  transition: all .3s;
  border-radius: 4px;
}

body.smp .hamburger__line--1 {
  top: 16px;
}

body.smp .hamburger__line--2 {
  top: 28px;
}

/* 表示された時用のCSS */
.nav-open .global-nav {
  top: 0 !important;
}

.nav-open .black-bg {
  opacity: .8 !important;
  visibility: visible !important;
}

.nav-open .hamburger__line--1 {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 22px !important;
}

.nav-open .hamburger__line--2 {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 22px !important;
}

/* top header ======== ======== ======== ======== ======== ======== ======== ======== */
.title-container {
  width: 100%;
  height: 492px;
  background-color: #ffffff;
  background-position: center;
  background-image: url(../img/hero.jpg);
  background-repeat: no-repeat;
}

.title {
  width: 1024px;
  margin: 0 auto;
  position: relative;
}

.title-bnr {
  width: 303px;
  height: 88px;
  position: absolute;
  left: 702px;
  top: 28px;
}

.smp .title-container {
  width: 100%;
  height: 540px;
  background-position: top 76px center;
  background-image: url(../img/smp-hero.jpg);
}

.smp .title {
  width: 640px;
  margin: 0 auto;
  position: relative;
}

.smp .title-bnr {
  position: absolute;
  left: 318px;
  top: 438px;
  right: 38px;
  bottom: 32px;
}

/* com header ======== ======== ======== ======== ======== ======== ======== ======== */
.com-title-container {
  width: 100%;
  height: 228px;
  background-color: #ffffff;
  background-position: center;
  background-image: url(../img/hero_bg02.jpg);
  background-repeat: no-repeat;
  /*縦横中央配置*/
  display: table;
  text-align: center;
}

.com-title-container.bg4 {
  background-image: url(../img/hero_bg4.jpg);
}

.com-title {
  width: 1024px;
  margin: 0 auto;
  /*縦横中央配置*/
  display: table-cell;
  vertical-align: middle;
}

.com-title-txt {
  width: 428px;
  height: 58px;
  /*縦横中央配置*/
  display: inline-block;
}

.smp .com-title-container {
  position: relative;
  top: 45px;
}

.smp .com-title-container .com-title {
  width: 640px;
  position: absolute;
  top: 100px;
}

/* top topmenu ======== ======== ======== ======== ======== ======== ======== ======== */
.topmenu-container {
  width: 100%;
  min-height: 319px;
  background-color: #fdf6ce;
  background-position: center;
  background-image: url(../img/bg1.jpg);
}

.topmenu {
  width: 1024px;
  margin: 0 auto;
  min-height: 319px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
}
.topmenu_bnr {
  width: 800px;
  height: 108px;
  margin: 0 auto;
  padding-top: 35px;
}
.smp .topmenu_bnr {
  width: 580px;
  height: auto;
  margin: 0 auto 35px;
}
.smp .topmenu_bnr img {
  width: 100%;
  height: auto;
}

.smp .topmenu-container {
  padding: 45px 0;
}

.smp .topmenu-container .topmenu {
  width: 600px;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-line-pack: stretch;
      align-content: stretch;
}

.smp .topmenu-container .topmenu .topmenu-menu {
  width: 270px;
  margin-bottom: 16px;
}

.smp .topmenu-container .topmenu .topmenu-menu img {
  width: 270px;
  height: 168.75px;
}

.smp .topmenu-container .topmenu :last-child {
  margin-bottom: 0;
}

@media all and (-ms-high-contrast: none) {
  /* ieでalign-contentが効かないhack */
  .topmenu {
    padding-top: 55px;
  }
}

/* top topics ======== ======== ======== ======== ======== ======== ======== ======== */
.topics-container {
  width: 100%;
  min-height: 390px;
  background-color: #e9f4ff;
  background-position: center;
  background-image: url(../img/bg3.jpg);
}

.topics {
  width: 1024px;
  margin: 0 auto;
}

.topics-title {
  width: 464px;
  height: 50px;
  margin: 0 auto;
  padding-top: 35px;
}

.topics-frame {
  width: 658px;
  height: 235px;
  margin: 0 auto;
  margin-top: 21px;
  background-color: #ffffff;
  overflow: auto;
}

.topics-frame dl:first-of-type {
  padding: 30px 37px 26px 37px;
  /*上 右 下 左, 上 左右 下, 上下 左右*/
}

.topics-frame dl {
  padding: 0 37px 26px 37px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.topics-frame dl dt {
  font-size: 1.4rem;
  color: #fff;
  margin: 0 26px 0 0;
  background-color: #9cd3ce;
  padding: 4px 8px 4px 8px;
  border-radius: 4px;
}

.topics-frame dl dd {
  font-size: 1.4rem;
  line-height: 1.6;
  color: #000000;
  padding: 2px 0 0 0;
}

.smp .topics {
  width: 640px;
  padding-bottom: 45px;
}

.smp .topics .topics-frame {
  width: 558px;
  height: 266px;
}

/* top ichiran ======== ======== ======== ======== ======== ======== ======== ======== */
.ichiran-container {
  width: 100%;
  background-color: #eef6ee;
  background-position: center;
  background-image: url(../img/bg4.jpg);
}

.ichiran {
  width: 1024px;
  margin: 0 auto;
}

.ichiran-title {
  width: 464px;
  height: 50px;
  margin: 0 auto;
  padding-top: 67px;
}

.ichiran-block {
  width: 1024px;
  margin: 0 auto;
  padding-top: 46px;
  padding-bottom: 67px;
  /*106-39*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

/* -------- */
.ichiran-block .card.double,
.ichiran-block .card.double .top,
.ichiran-block .card.double .content,
.ichiran-block .card.double .bottom {
  width: 497px;
}

/* -------- */
.ichiran-block .card {
  width: 234px;
  min-height: 440px;
  margin-bottom: 39px;
}

.ichiran-block .card .top {
  width: 234px;
  height: 41px;
  /*34px;*/
  background-position: center bottom;
  background-repeat: no-repeat;
  color: transparent;
}

.ichiran-block .card .content {
  width: 234px;
  min-height: 387px;
  position: relative;
}

.ichiran-block .card .bottom {
  width: 234px;
  height: 12px;
  background-repeat: no-repeat;
}

/* -------- */
.ichiran-block .card.cat01 .top {
  background-image: url("../img/top_cat01_top.png");
}

.ichiran-block .card.cat01 .content {
  background-image: url("../img/top_cat01_bg.png");
}

.ichiran-block .card.cat01 .bottom {
  background-image: url("../img/top_cat01_bottom.png");
}

.ichiran-block .card.cat02 .top {
  background-image: url("../img/top_cat02_top.png");
}

.ichiran-block .card.cat02 .content {
  background-image: url("../img/top_cat02_bg.png");
}

.ichiran-block .card.cat02 .bottom {
  background-image: url("../img/top_cat02_bottom.png");
}

.ichiran-block .card.cat03 .top {
  background-image: url("../img/top_cat03_top.png");
}

.ichiran-block .card.cat03 .content {
  background-image: url("../img/top_cat03_bg.png");
}

.ichiran-block .card.cat03 .bottom {
  background-image: url("../img/top_cat03_bottom.png");
}
.ichiran-block .card.cat04 .top {
  background-image: url("../img/top_cat04_top.png");
}

.ichiran-block .card.cat04 .content {
  background-image: url("../img/top_cat04_bg.png");
}

.ichiran-block .card.cat04 .bottom {
  background-image: url("../img/top_cat04_bottom.png");
  margin-bottom: 30px;
}
/* -------- */
.ichiran-block .card.double .content .title {
  width: 299px;
  height: 37px;
  margin: 0 auto;
  padding-top: 6px;
}

.ichiran-block .card.double .content .photo img {
  width: 230px;
  height: 141px;
}

.ichiran-block .card.double .content .photo img:first-of-type {
  padding-right: 7px;
}

/* -------- */
.ichiran-block .card .content .title {
  width: 162px;
  height: 37px;
  margin: 0 auto;
  padding-top: 6px;
}

.ichiran-block .card .content .photo {
  padding-top: 9px;
  padding-left: 15px;
}

.ichiran-block .card .content .photo img {
  width: 204px;
  height: 141px;
}

.ichiran-block .card .content .photo img:first-of-type {
  padding-right: 7px;
}

.ichiran-block .card .content p {
  font-size: 1.3rem;
  line-height: 1.6;
  padding: 15px;
  padding-right: 8px;
}

.ichiran-block .card .content .btn {
  height: 23px;
  position: absolute;
  right: 15px;
  bottom: 2px;
}

.smp .ichiran {
  width: 640px;
  padding-bottom: 50px;
}

.smp .ichiran .ichiran-block {
  width: 497px;
  -webkit-transform: scale(1.125);
          transform: scale(1.125);
}

/* ======== ======== ======== ======== ======== ======== ======== ======== */
/* top footer-menu */
.footer-menu-container {
  width: 100%;
  background-color: #fcf6cc;
  background-position: center;
  background-image: url(../img/bg1.jpg);
}

.footer-menu {
  width: 1024px;
  margin: 0 auto;
  padding-bottom: 65px;
}

.footer-menu-block {
  width: 960px;
  margin: 0 auto;
  padding-top: 98px;
  padding-bottom: 0px;
  /*100-29*/
  padding-left: 30px;
  padding-right: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

.footer-menu-block div {
  margin-bottom: 29px;
  position: relative;
}

.footer-menu-block .shadow {
  -webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.2));
}

.footer-menu-block div span {
  display: block;
  font-size: 1.3rem;
  line-height: 1.6;
  padding: 15px;
  padding-right: 0;
  padding-top: 158px;
  position: absolute;
  left: 0;
  top: 0;
}

/* .footer-menu-block .menu-furusato {
	margin: 0 0 0 27%;
} */


.smp .footer-menu {
  width: 625px;
  padding-bottom: 0px;
  margin-left: -20px;
}

.smp .footer-menu .footer-menu-block {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  padding-top: 60px;
  width: 100%;
  height: auto;
}

.smp .footer-menu-block .menu-furusato {
	margin: 0 0 0 0;
}


/* top footer-wrapper ======== ======== ======== ======== ======== ======== ======== ======== */
.footer-wrapper {
  width: 100%;
  background-position: center;
  background-image: url(../img/bg1.jpg);
  /*background-image: url(../img/_top_footer.png);*/
  position: relative;
}

/* top footer-bg ======== ======== ======== ======== ======== ======== ======== ======== */
.footer-bg-container {
  width: 100%;
  min-height: 900px;
  background-position: top 0 center;
  background-image: url(../img/footer_bg.png);
  background-repeat: repeat-x;
}

.footer-bg-town {
  width: 100%;
  height: 278px;
  /*230+48*/
  background-position: top 48px center;
  background-image: url(../img/town.png);
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
}

.bg-town {
  width: 885px;
  margin: 0 auto;
  height: 278px;
  position: relative;
  /*border: solid 1px #ff0000;*/
}

.town-cloud-1 {
  position: absolute;
  left: 150px;
  top: 9px;
}

.town-cloud-2 {
  position: absolute;
  right: 108px;
  top: 9px;
}

.town-bird {
  position: absolute;
  right: 290px;
  top: 16px;
}

/* anime */
.town-cloud-1 {
  -webkit-animation: town-cloud-1 1s ease-in-out infinite alternate;
          animation: town-cloud-1 1s ease-in-out infinite alternate;
  -webkit-transform-origin: center;
          transform-origin: center;
}

.town-cloud-2 {
  -webkit-animation: town-cloud-2 1s ease-in-out infinite alternate;
          animation: town-cloud-2 1s ease-in-out infinite alternate;
  -webkit-transform-origin: center;
          transform-origin: center;
}

@-webkit-keyframes town-cloud-1 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
  }
}

@keyframes town-cloud-1 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
  }
}

@-webkit-keyframes town-cloud-2 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px);
  }
}

@keyframes town-cloud-2 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px);
  }
}

.town-bird {
  -webkit-animation: town-bird-flying 15s linear infinite normal;
          animation: town-bird-flying 15s linear infinite normal;
  -webkit-transform-origin: center;
          transform-origin: center;
  /*top left;*/
}

@-webkit-keyframes town-bird-flying {
  0% {
    -webkit-transform: scale(1.1, 1.1) translate(0, 0);
            transform: scale(1.1, 1.1) translate(0, 0);
    opacity: 0;
  }
  1% {
    -webkit-transform: scale(1.1, 1.1) translate(0, 0);
            transform: scale(1.1, 1.1) translate(0, 0);
    opacity: 0;
  }
  5% {
    -webkit-transform: scale(1.1, 1.1) translate(0, 0);
            transform: scale(1.1, 1.1) translate(0, 0);
    opacity: 1;
  }
  20% {
    -webkit-transform: scale(1.1, 1.1) translate(0, 0);
            transform: scale(1.1, 1.1) translate(0, 0);
  }
  35% {
    -webkit-transform: scale(0.9, 0.9) translate(-40px, -25px);
            transform: scale(0.9, 0.9) translate(-40px, -25px);
  }
  50% {
    -webkit-transform: scale(0.8, 0.8) translate(-98px, -35px);
            transform: scale(0.8, 0.8) translate(-98px, -35px);
  }
  65% {
    -webkit-transform: scale(0.7, 0.7) translate(-185px, -45px);
            transform: scale(0.7, 0.7) translate(-185px, -45px);
  }
  70% {
    -webkit-transform: scale(0.6, 0.6) translate(-230px, -45px);
            transform: scale(0.6, 0.6) translate(-230px, -45px);
    opacity: 1;
  }
  82% {
    -webkit-transform: scale(0.5, 0.5) translate(-365px, -20px);
            transform: scale(0.5, 0.5) translate(-365px, -20px);
    opacity: 0.7;
  }
  83% {
    -webkit-transform: scale(0.5, 0.5) translate(-365px, -20px);
            transform: scale(0.5, 0.5) translate(-365px, -20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(0.5, 0.5) translate(-365px, -20px);
            transform: scale(0.5, 0.5) translate(-365px, -20px);
    opacity: 0;
  }
}

@keyframes town-bird-flying {
  0% {
    -webkit-transform: scale(1.1, 1.1) translate(0, 0);
            transform: scale(1.1, 1.1) translate(0, 0);
    opacity: 0;
  }
  1% {
    -webkit-transform: scale(1.1, 1.1) translate(0, 0);
            transform: scale(1.1, 1.1) translate(0, 0);
    opacity: 0;
  }
  5% {
    -webkit-transform: scale(1.1, 1.1) translate(0, 0);
            transform: scale(1.1, 1.1) translate(0, 0);
    opacity: 1;
  }
  20% {
    -webkit-transform: scale(1.1, 1.1) translate(0, 0);
            transform: scale(1.1, 1.1) translate(0, 0);
  }
  35% {
    -webkit-transform: scale(0.9, 0.9) translate(-40px, -25px);
            transform: scale(0.9, 0.9) translate(-40px, -25px);
  }
  50% {
    -webkit-transform: scale(0.8, 0.8) translate(-98px, -35px);
            transform: scale(0.8, 0.8) translate(-98px, -35px);
  }
  65% {
    -webkit-transform: scale(0.7, 0.7) translate(-185px, -45px);
            transform: scale(0.7, 0.7) translate(-185px, -45px);
  }
  70% {
    -webkit-transform: scale(0.6, 0.6) translate(-230px, -45px);
            transform: scale(0.6, 0.6) translate(-230px, -45px);
    opacity: 1;
  }
  82% {
    -webkit-transform: scale(0.5, 0.5) translate(-365px, -20px);
            transform: scale(0.5, 0.5) translate(-365px, -20px);
    opacity: 0.7;
  }
  83% {
    -webkit-transform: scale(0.5, 0.5) translate(-365px, -20px);
            transform: scale(0.5, 0.5) translate(-365px, -20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(0.5, 0.5) translate(-365px, -20px);
            transform: scale(0.5, 0.5) translate(-365px, -20px);
    opacity: 0;
  }
}

/* ======== ======== ======== ======== ======== ======== ======== ======== */
/* top footer */
.footer-container {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.footer {
  width: 1024px;
  margin: 0 auto;
}

.footer-block {
  width: 778px;
  margin: 0 auto;
  padding-top: 0;
  padding-bottom: 0px;
  /*100-29*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.footer-block.top {
  padding-top: 300px;
}

.footer-block div {
  margin-bottom: 29px;
  color: #ffffff;
}

.footer-block div a {
  font-size: 1.4rem;
  line-height: 1.6;
  color: #ffffff;
  font-weight: bold;
}

.footer-block div p,
.footer-block div p a {
  font-size: 1.2rem;
  line-height: 1.6;
}

.footer-block .toi {
  font-size: 1.7rem;
  line-height: 1.4;
  border: 1px solid #fff;
  padding: 14px 18px;
  margin-bottom: 14px;
}

/* ======== */
.footer-block .tel,
.footer-block .fax {
  margin-bottom: 14px;
}

.footer-block .email {
  margin-bottom: 20px;
}

.footer-block .tel img,
.footer-block .fax img,
.footer-block .email img {
  width: 39px;
  height: 39px;
  vertical-align: middle;
  margin-right: 14px;
}

.footer-block .tel span,
.footer-block .fax span {
  font-size: 4.6rem;
  /*59.51px;*/
  display: inline-block;
  margin-top: 3px;
}

.footer-block .email span {
  font-size: 2.2rem;
  /*22.78px;*/
}

.footer-block .tel span,
.footer-block .fax span,
.footer-block .email span {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: bold;
  line-height: 3.9rem;
  /*39px;*/
  vertical-align: middle;
}

.footer-block .fbnr {
  display: flex;
  margin: 0 auto;
}
.footer-block .fbnr p {
  margin: 0 5px;
}

/* ======== */
.footer-block .addr {
  font-size: 2.2rem;
  margin: 0 auto 20px;
  width: 100%;
}

.footer-block .addr span {
  font-size: 1.8rem;
}

.footer-block .copy {
  font-size: .9rem;
  margin: 0 auto;
  padding-top: 20px;
  padding-bottom: 22px;
}

.other .footer-block .addr,
.other .footer-block .copy {
  width: 770px;
  text-align: center;
}

.smp .footer-wrapper {
  overflow: hidden;
}

.smp .footer-wrapper .footer-bg-container {
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  width: 800px;
  margin-left: -80px;
  margin-top: -40px;
  padding-bottom: 300px;
  margin-bottom: -150px;
}

.smp .footer-wrapper .footer-bg-container .footer-bg-town .bg-town {
  width: 640px;
}

.smp .footer-wrapper .footer-bg-container .footer-bg-town .town-cloud-1 {
  left: 0;
}

.smp .footer-wrapper .footer-bg-container .footer-bg-town .town-cloud-2 {
  right: 0;
}

.smp .footer-wrapper .footer-bg-container .footer-bg-town .town-bird {
  right: 200px;
}

.smp .footer-wrapper .footer-container .footer {
  width: 640px;
}

.smp .footer-wrapper .footer-container .footer .footer-block {
  width: 420px;
  width: 560px;
}

.smp .footer-wrapper .footer-container .footer .footer-block .toi {
  margin-bottom: 10px;
  font-size: 1.6rem;
}

.smp .footer-wrapper .footer-container .footer .footer-block .tel img, .smp .footer-wrapper .footer-container .footer .footer-block .fax img, .smp .footer-wrapper .footer-container .footer .footer-block .email img {
  width: 32px;
  height: 32px;
  margin-right: 8px;
}

.smp .footer-wrapper .footer-container .footer .footer-block .tel, .smp .footer-wrapper .footer-container .footer .footer-block .fax {
  margin-bottom: 8px;
}

.smp .footer-wrapper .footer-container .footer .footer-block .tel span, .smp .footer-wrapper .footer-container .footer .footer-block .fax span {
  font-size: 2.8rem;
  /*59.51px;*/
  margin-top: 2px;
}

.smp .footer-wrapper .footer-container .footer .footer-block .email span {
  font-size: 1.8rem;
}

.smp .footer-wrapper .footer-container .footer .footer-block .addr {
  text-align: center;
  font-size: 2.0rem;
}

.smp .footer-wrapper .footer-container .footer .footer-block .addr span {
  font-size: 1.6rem;
}

.smp .footer-wrapper .footer-container .footer .footer-block .copy {
  padding-top: 45px;
  font-size: 1.2rem;
}

.smp .footer-wrapper .footer-container .footer .footer-block.top {
  padding-top: 330px;
}

/* ui ======== ======== ======== ======== ======== ======== ======== ======== */
.img-btn img {
  display: block;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  /*変化に掛かる時間*/
}

.img-btn img:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  /*画像の拡大率*/
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  /*変化に掛かる時間*/
}

.btn-obj {
  display: block;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  /*変化に掛かる時間*/
}

.btn-obj:hover {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
  /*画像の拡大率*/
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  /*変化に掛かる時間*/
}

/*----------footer--------------------------------------*/
.go-top {
  position: fixed;
  /*固定表示*/
  bottom: 1em;
  right: 1em;
  padding: 1em;
  display: none;
  /*通常は非表示に*/
  height: 104px;
  width: 82px;
  z-index: 800;
}

/*---------- footer --------------------------------------*/
.go-ichiran {
  position: fixed;
  /*固定表示*/
  bottom: 9em;
  right: 0;
  padding: 1em;
  height: 250px;
  width: 88px;
  z-index: 800;
}

/*---------- effect-fade --------------------------------------*/
.effect-fade {
  opacity: 0;
  -webkit-transform: translate(0, 5px);
          transform: translate(0, 5px);
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}

.effect-fade.effect-scroll {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.smp {
  /* スマホのページ内リンクがずれるためエフェクトをキャンセル */
}

.smp .effect-fade {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition: all 0s;
  transition: all 0s;
}

/*---------- cloud anime: recruit, --------------------------------------*/
.common-anime-cloud {
  -webkit-animation: common-anime-cloud 1s ease-in-out infinite alternate;
          animation: common-anime-cloud 1s ease-in-out infinite alternate;
  -webkit-transform-origin: center;
          transform-origin: center;
}

@-webkit-keyframes common-anime-cloud {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
  }
}

@keyframes common-anime-cloud {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
  }
}
/*# sourceMappingURL=common.css.map */