@charset "UTF-8";

/*----------------------------------------------------
 Reset
----------------------------------------------------*/
*,
*::before,
*::after {
    box-sizing: border-box;
}

ul[class], ol[class] {
    padding: 0;
}

body, h1, h2, h3, h4, p, ul[class], ol[class], li, figure, figcaption, blockquote, dl, dd {
    margin: 0;
}

body {
    color: #51585B;
    font-family:"メイリオ",Meiryo,Meiryo UI,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka","Osaka－等幅","Osaka-Mono",Arial,Verdana,"ＭＳ Ｐゴシック",sans-serif;
    min-height: 100vh;
    scroll-behavior: smooth;
    line-height: 1.7;
    -webkit-text-size-adjust: 100%;
}

ul[class], ol[class] {
    list-style: none;
}

img {
    max-width: 100%;
    display: block;
}

input, button, textarea, select {
    font: inherit;
}

/*----------------------------------------------------
 a
----------------------------------------------------*/
a {
    color: inherit;
    text-decoration: none;
}

/*----------------------------------------------------
 flex
----------------------------------------------------*/
.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.order-first{order:-9999}.order-last{order:9999}.order-none{order:0}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}

@media (min-width: 768px) {
    .md\:block{display:block}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-nowrap{flex-wrap:nowrap}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow{flex-grow:1}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink{flex-shrink:1}.md\:order-1{order:1}.md\:order-2{order:2}.md\:order-3{order:3}.md\:order-4{order:4}.md\:order-5{order:5}.md\:order-6{order:6}.md\:order-7{order:7}.md\:order-8{order:8}.md\:order-9{order:9}.md\:order-10{order:10}.md\:order-11{order:11}.md\:order-12{order:12}.md\:order-first{order:-9999}.md\:order-last{order:9999}.md\:order-none{order:0}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:justify-center{justify-content:center}.md\:justify-between{justify-content:space-between}.md\:justify-around{justify-content:space-around}.md\:justify-evenly{justify-content:space-evenly}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:items-baseline{align-items:baseline}.md\:items-stretch{align-items:stretch}.md\:content-center{align-content:center}.md\:content-start{align-content:flex-start}.md\:content-end{align-content:flex-end}.md\:content-between{align-content:space-between}.md\:content-around{align-content:space-around}.md\:content-evenly{align-content:space-evenly}.md\:self-auto{align-self:auto}.md\:self-start{align-self:flex-start}.md\:self-end{align-self:flex-end}.md\:self-center{align-self:center}.md\:self-stretch{align-self:stretch}
}
@media (min-width: 1024px) {
    .lg\:block{display:block}.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow{flex-grow:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink{flex-shrink:1}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:order-3{order:3}.lg\:order-4{order:4}.lg\:order-5{order:5}.lg\:order-6{order:6}.lg\:order-7{order:7}.lg\:order-8{order:8}.lg\:order-9{order:9}.lg\:order-10{order:10}.lg\:order-11{order:11}.lg\:order-12{order:12}.lg\:order-first{order:-9999}.lg\:order-last{order:9999}.lg\:order-none{order:0}.lg\:justify-start{justify-content:flex-start}.lg\:justify-end{justify-content:flex-end}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:justify-around{justify-content:space-around}.lg\:justify-evenly{justify-content:space-evenly}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:items-baseline{align-items:baseline}.lg\:items-stretch{align-items:stretch}.lg\:content-center{align-content:center}.lg\:content-start{align-content:flex-start}.lg\:content-end{align-content:flex-end}.lg\:content-between{align-content:space-between}.lg\:content-around{align-content:space-around}.lg\:content-evenly{align-content:space-evenly}.lg\:self-auto{align-self:auto}.lg\:self-start{align-self:flex-start}.lg\:self-end{align-self:flex-end}.lg\:self-center{align-self:center}.lg\:self-stretch{align-self:stretch}
}
@media (min-width: 1280px) {
    .xl\:block{display:block}.xl\:flex{display:flex}.xl\:inline-flex{display:inline-flex}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow{flex-grow:1}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink{flex-shrink:1}.xl\:order-1{order:1}.xl\:order-2{order:2}.xl\:order-3{order:3}.xl\:order-4{order:4}.xl\:order-5{order:5}.xl\:order-6{order:6}.xl\:order-7{order:7}.xl\:order-8{order:8}.xl\:order-9{order:9}.xl\:order-10{order:10}.xl\:order-11{order:11}.xl\:order-12{order:12}.xl\:order-first{order:-9999}.xl\:order-last{order:9999}.xl\:order-none{order:0}.xl\:justify-start{justify-content:flex-start}.xl\:justify-end{justify-content:flex-end}.xl\:justify-center{justify-content:center}.xl\:justify-between{justify-content:space-between}.xl\:justify-around{justify-content:space-around}.xl\:justify-evenly{justify-content:space-evenly}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:items-baseline{align-items:baseline}.xl\:items-stretch{align-items:stretch}.xl\:content-center{align-content:center}.xl\:content-start{align-content:flex-start}.xl\:content-end{align-content:flex-end}.xl\:content-between{align-content:space-between}.xl\:content-around{align-content:space-around}.xl\:content-evenly{align-content:space-evenly}.xl\:self-auto{align-self:auto}.xl\:self-start{align-self:flex-start}.xl\:self-end{align-self:flex-end}.xl\:self-center{align-self:center}.xl\:self-stretch{align-self:stretch}
}

/*----------------------------------------------------
 display
----------------------------------------------------*/
.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.hidden{display:none}.flex{display:flex}.inline-flex{display:inline-flex}

@media (min-width: 768px) {
    .md\:block{display:block}.md\:inline{display:inline}.md\:inline-block{display:inline-block}.md\:hidden{display:none}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}
}
@media (min-width: 1024px) {
    .lg\:block{display:block}.lg\:inline{display:inline}.lg\:inline-block{display:inline-block}.lg\:hidden{display:none}.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}
}
@media (min-width: 1280px) {
    .xl\:block{display:block}.xl\:inline{display:inline}.xl\:inline-block{display:inline-block}.xl\:hidden{display:none}.xl\:flex{display:flex}.xl\:inline-flex{display:inline-flex}
}

/*----------------------------------------------------
    Component
----------------------------------------------------*/
/* clearfix */
.clearfix {
    clear: both;
    zoom: 1;
}

.clearfix:after {
    content: " ";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

/* rollover */
.rollover {
    animation: horizontalY 1s ease-in-out infinite alternate;
            transition: all 1s;
    -webkit-transition: all 1s;
}

.rollover:hover {
    animation: horizontalY 0.5s ease-in-out infinite alternate;
            transition: all 0.5s;
    -webkit-transition: all 0.5s;
    filter: alpha(opacity=70);
    opacity: 0.7;
}

/* innerlink */
.innerlink {
    display: block;
    height: 1px;
    position: relative;
    top: -60px;
}

/* pc/sp */
.pc {
    display: none;
}

.pc-i {
    display: none;
}

.sp {
    display: block;
}

.sp-i {
    display: inline;
}

@media (min-width: 768px) {
    .pc {
        display: block;
    }

    .pc-i {
        display: inline;
    }

    .sp,
    .sp-i {
        display: none;
    }
}

/*----------------------------------------------------
 title
----------------------------------------------------*/
.title {
  margin-bottom: 2rem;
}

@media (min-width: 940px) {
  .title {
    margin-bottom: 60px;
  }
}


/*----------------------------------------------------
 comment
----------------------------------------------------*/
.effect-bounceIn, .effect-bounceInLeft, .effect-bounceInRight, .effect-bounceInDown, .effect-bounceInUp,
.effect-fadeIn, .effect-fadeInLeft, .effect-fadeInRight, .effect-fadeInDown, .effect-fadeInUp, .effect-fadeInUpDelay,
.effect-zoomInUp, .effect-zoomInDown, .effect-zoomIn {
    visibility: hidden;
}
.animate__animated { visibility: visible; }

.animate__delay-01s { -webkit-animation-delay:0.1s; animation-delay:0.1s; }
.animate__delay-02s { -webkit-animation-delay:0.2s; animation-delay:0.2s; }
.animate__delay-03s { -webkit-animation-delay:0.3s; animation-delay:0.3s; }
.animate__delay-04s { -webkit-animation-delay:0.4s; animation-delay:0.4s; }
.animate__delay-05s { -webkit-animation-delay:0.5s; animation-delay:0.5s; }
.animate__delay-06s { -webkit-animation-delay:0.6s; animation-delay:0.6s; }
.animate__delay-07s { -webkit-animation-delay:0.7s; animation-delay:0.7s; }
.animate__delay-08s { -webkit-animation-delay:0.8s; animation-delay:0.8s; }
.animate__delay-09s { -webkit-animation-delay:0.9s; animation-delay:0.9s; }
.animate__delay-1s  {  -webkit-animation-delay:1s;   animation-delay:1s; }
.animate__delay-1_1s  {  -webkit-animation-delay:1.1s;   animation-delay:1.1s; }

/* fadeIn */
.fadeIn {
	animation-name: fadeIn;
}

/* fadeInDown */
.fadeInDown {
	animation-name: fadeInDown;
}

/* fadeInLeft */
.fadeInLeft {
	animation-name: fadeInLeft;
}

/* fadeInRight */
.fadeInRight {
	animation-name: fadeInRight;
}

/* fadeInUp */
.fadeInUp {
	animation-name: fadeInUp;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		position: relative;
		top: -100px;
	}

	to {
		opacity: 1;
		position: relative;
		top: 0;
	}
}

@keyframes fadeInLeft {
	from {
		opacity: 0;
		position: relative;
		left: -200px;
	}

	to {
		opacity: 1;
		position: relative;
		left: 0;
	}
}

@keyframes fadeInRight {
	from {
		opacity: 0;
		position: relative;
		right: -200px;
	}

	to {
		opacity: 1;
		position: relative;
		right: 0;
	}
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		position: relative;
		top: 100px;
	}

	to {
		opacity: 1;
		position: relative;
		top: 0;
	}
}

/*----------------------------------------------------
 main-visual
----------------------------------------------------*/
.main-visual {
  margin-bottom: 16vw;
}
.main-visual img {
  width: 100%;
}

@media (min-width: 940px) {
  .main-visual {
    margin-bottom: 150px;
  }
}

/*----------------------------------------------------
 catch
----------------------------------------------------*/
.catch {
  margin-bottom: 16vw;
}
.catch img {
  margin-left: auto;
  margin-right: auto;
  max-width: 450px;
  width: 47.87%;
}

@media (min-width: 940px) {
  .catch {
    margin-bottom: 150px;
  }
  .catch img {
    width: 100%;
  }
}

/*----------------------------------------------------
 insta
----------------------------------------------------*/
.insta {
  margin-bottom: 18.9vw;
}
.insta-title img {
  margin: 0 auto;
  max-width: 300px;
  width: 39.79%;
}
.insta-main {
  margin: 0 auto 2vw;
  max-width: 1240px;
  width: 84.25%;
}

.insta-link {
  font-size: 12px;
  text-align: center;
}
.insta-link a {
  border: 1px solid #000;
  border-radius: 15px;
  display: inline-block;
  padding: 6px 26px 4px;
}

@media (min-width: 940px) {
  .insta {
    margin-bottom: 180px;
  }
  .insta-title img {
    width: 100%;
  }
  .insta-main {
    margin-bottom: 38px;
    padding: 0 20px;
    width: 100%;
  }
  .insta-link a {
    line-height: 32px;
    padding: 0;
    text-align: center;
    width: 120px;
  }
}

/*----------------------------------------------------
 map
----------------------------------------------------*/
.map {
  margin-bottom: 45px;
}
.map-title img {
  margin: 0 auto;
  max-width: 163px;
  width: 25.2%;
}
.map iframe {
    height: 250px;
    width: 100%;
    /*-webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);*/
}

@media (min-width: 1024px) {
    .map-title img {
      width: 100%;
    }
    .map iframe {
        height: 480px;
    }

}

/*----------------------------------------------------
 company
----------------------------------------------------*/
.company {
  margin-bottom: 60px;
  text-align: center;
}
.company-in {
  display: inline-block;
  margin: 0 auto;
  padding: 0 2rem;
  max-width: 795px;
}

.company-title {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 1.5em;
}

.company-info {
  margin-bottom: 1em;
}

.company p {
  font-size: .875rem;
  text-align: left;
}

@media (min-width: 768px) {
  .company {
    margin-bottom: 45px;
  }
  .company-in {
    display: flex;
    justify-content: space-around;
  }
}

/*----------------------------------------------------
 footer
----------------------------------------------------*/
.footer {
  border-top: 1px solid #888;
  font-size: .875rem;
  padding: 2em 0;
  text-align: center;
}
