@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800&family=Noto+Sans+JP:wght@400;500;700&display=swap');
*,
::after,
::before {
 box-sizing:border-box
}
html {
 font-family:sans-serif;
 line-height:1.15;
 -webkit-text-size-adjust:100%;
 -webkit-tap-highlight-color:transparent
}
article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
 display:block
}
html { font-size: 62.5%; }
body {
 margin:0;
 font-family: 'Noto Sans JP', sans-serif;
 font-feature-settings: "palt" 1;
 font-size:10px;
 font-weight:400;
 line-height:1.5;
 color:#212529;
 text-align:left;
 background-color:#fff
}
[tabindex="-1"]:focus:not(:focus-visible) {
 outline:0!important
}
hr {
 box-sizing:content-box;
 height:0;
 overflow:visible
}
h1,
h2,
h3,
h4,
h5,
h6 {
 margin-top:0;
 margin-bottom:.5rem
}
p {
 margin-top:0;
 margin-bottom:1rem
}
abbr[data-original-title],
abbr[title] {
 text-decoration:underline;
 -webkit-text-decoration:underline dotted;
 text-decoration:underline dotted;
 cursor:help;
 border-bottom:0;
 -webkit-text-decoration-skip-ink:none;
 text-decoration-skip-ink:none
}
address {
 margin-bottom:1rem;
 font-style:normal;
 line-height:inherit
}
dl,
ol,
ul {
 margin-top:0;
 margin-bottom:1rem;
 padding:0;
}
ol ol,
ol ul,
ul ol,
ul ul {
 margin-bottom:0;
}
li {
 list-style:none;
}
dt {
 font-weight:700
}
dd {
 margin-bottom:.5rem;
 margin-left:0
}
blockquote {
 margin:0 0 1rem
}
b,
strong {
 font-weight:bolder
}
small {
 font-size:80%
}
sub,
sup {
 position:relative;
 font-size:75%;
 line-height:0;
 vertical-align:baseline
}
sub {
 bottom:-.25em
}
sup {
 top:-.5em
}
a {
 color:#111;
 text-decoration:none;
 background-color:transparent
}
a:hover {
 color:#000;
 text-decoration:underline
}
a:not([href]):not([class]) {
 color:inherit;
 text-decoration:none
}
a:not([href]):not([class]):hover {
 color:inherit;
 text-decoration:none
}
code,
kbd,
pre,
samp {
 font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
 font-size:1em
}
pre {
 margin-top:0;
 margin-bottom:1rem;
 overflow:auto;
 -ms-overflow-style:scrollbar
}
figure {
 margin:0 0 1rem
}
img {
 vertical-align:middle;
 border-style:none
}
svg {
 overflow:hidden;
 vertical-align:middle
}
table {
 border-collapse:collapse
}
caption {
 padding:20px 30px;
 color:#6c757d;
 text-align:left;
 caption-side:bottom
}
th {
 text-align:inherit;
 text-align:-webkit-match-parent
}
label {
 display:inline-block;
 margin-bottom:.5rem
}
button {
 border-radius:0
}
button:focus:not(:focus-visible) {
 outline:0
}
button,
input,
optgroup,
select,
textarea {
 margin:0;
 font-family:inherit;
 font-size:inherit;
 line-height:inherit
}
button,
input {
 overflow:visible
}
button,
select {
 text-transform:none
}
[role=button] {
 cursor:pointer
}
select {
 word-wrap:normal
}
[type=button],
[type=reset],
[type=submit],
button {
 -webkit-appearance:button
}
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled),
button:not(:disabled) {
 cursor:pointer
}
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
 padding:0;
 border-style:none
}
input[type=checkbox],
input[type=radio] {
 box-sizing:border-box;
 padding:0
}
textarea {
 overflow:auto;
 resize:vertical
}
fieldset {
 min-width:0;
 padding:0;
 margin:0;
 border:0
}
legend {
 display:block;
 width:100%;
 max-width:100%;
 padding:0;
 margin-bottom:.5rem;
 font-size:1.5rem;
 line-height:inherit;
 color:inherit;
 white-space:normal
}
progress {
 vertical-align:baseline
}
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
 height:auto
}
[type=search] {
 outline-offset:-2px;
 -webkit-appearance:none
}
[type=search]::-webkit-search-decoration {
 -webkit-appearance:none
}
::-webkit-file-upload-button {
 font:inherit;
 -webkit-appearance:button
}
output {
 display:inline-block
}
summary {
 display:list-item;
 cursor:pointer
}
template {
 display:none
}
[hidden] {
 display:none!important
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
 margin-bottom:.5rem;
 font-weight:500;
 line-height:1.2
}
h1 {
 font-size:2rem
}
h2 {
 font-size:1.75rem
}
h3 {
 font-size:1.5rem
}
h4 {
 font-size:1.2rem
}
h5 {
 font-size:1.1rem
}
h6 {
 font-size:1rem
}
hr {
 margin-top:1rem;
 margin-bottom:1rem;
 border:0;
 border-top:1px solid rgba(0,0,0,.1)
}
small {
 font-size:80%;
 font-weight:400
}
mark {
 padding:.2em;
 background-color:#fcf8e3
}



#header {
 position:fixed;
 width:100%;
 left:0;
 top:0;
 z-index:1000
}
#header #header-bg {
 transition:all .4s cubic-bezier(.19,1,.22,1);
 transition-timing-function:cubic-bezier(.19,1,.22,1);
 position:relative;
 z-index:2;
 padding:15px 30px;
 flex-wrap:wrap;
 padding: 20px 14px 12px 39px;
}
#header #header-bg:before {
 content:"";
 position:absolute;
 left:0;
 top:0;
 width:100%;
 height:100%;
 background-color:#fff;
 transition:all .4s cubic-bezier(.19,1,.22,1);
 transition-timing-function:cubic-bezier(.19,1,.22,1)
}
@media (max-width:991px) {
 #header #header-bg {
  height:130px
 }
}
@media (max-width:575px) {
 #header #header-bg {
  height:80px
 }
}
#header .header-content {
	display:flex;
	align-items:center;
}
#header #header-logo {
 text-align:center;
	max-width: 184px;
	flex: 0 0 184px;
 z-index:1
}
@media (max-width:991px) {
 #header #header-logo {
	max-width: 225px;
	flex: 0 0 100px;
	position: absolute;
	top: 24px;
	left: 35px;
 }
}
@media (max-width:575px) {
 #header #header-logo {
  max-width:80px;
  flex:0 0 80px;
  position:absolute;
  top:18px;
  left:22px
 }
}
#header #header-logo h1 {
  margin: 0;
  padding-top: 10px;
}
#header #header-logo h1 img {
 width:100%;
}
#header #header--contact {
 z-index:1
}
@media (max-width:991px) {
 #header #header--contact {
  display:none
 }
}
#header #header--contact ul {
 list-style:none;
 padding:0;
 margin:0;
 display:flex;
 justify-content:center
}
#header #header--contact ul li {
 margin:0 10px
}
@media (max-width:1199px) {
 #header #header--contact ul li {
  margin:0 6px
 }
}
#header #header--contact ul li a {
 font-size:1rem;
 padding:10px 15px;
 border:1px solid #111;
 transition:all .4s cubic-bezier(.165,.84,.44,1);
 transition-timing-function:cubic-bezier(.165,.84,.44,1);
 transition-property:color
}
@media (max-width:1199px) {
 #header #header--contact ul li a {
  padding:10px 10px;
  font-size:.9rem
 }
}
#header #header--contact ul li a:active,
#header #header--contact ul li a:focus,
#header #header--contact ul li a:hover {
 text-decoration:none
}
#header #header--contact ul li:nth-child(1) {
 margin-left:0
}
#header #header--contact ul li:nth-child(1) a {
 color:#111
}
#header #header--contact ul li:nth-child(2) {
 margin-right:0
}
#header #header--contact ul li:nth-child(2) a {
 color:#fff;
 background-color:#111
}
#header #header--contact ul li:hover:nth-child(1) a {
 color:#fff;
 background-color:#111
}
#header #header--contact ul li:hover:nth-child(2) a {
 color:#111;
 background-color:#fff
}
#dropdown {
 position:relative;
 z-index:1
}
.dropdown {
 width:300px;
 position:absolute;
 left:0;
 top:0;
 display:none;
 z-index:-1;
 opacity:0;
 pointer-events:none;
 color:#fff;
 margin-left:-150px;
 transform:translateY(-20px)
}
@media (max-width:991px) {
 .dropdown {
  display:none!important
 }
}
.dropdown.active {
 pointer-events:all;
 display:block;
 z-index:1;
 -webkit-animation:dropdown .6s cubic-bezier(.165,.84,.44,1) 0s;
 animation:dropdown .6s cubic-bezier(.165,.84,.44,1) 0s;
 -webkit-animation-fill-mode:both;
 animation-fill-mode:both
}
.dropdown ul {
 list-style:none;
 padding:0;
 margin:0
}
.dropdown a {
 background-color:#333;
 transition:all .4s cubic-bezier(.165,.84,.44,1);
 transition-timing-function:cubic-bezier(.165,.84,.44,1);
 color:#fff;
 padding:20px 0;
 display:block;
 text-align:center;
 font-weight:700
}
.dropdown a:active,
.dropdown a:focus,
.dropdown a:hover {
 background-color:#000;
 text-decoration:none
}
@-webkit-keyframes dropdown {
 100% {
  transform:translateY(0);
  opacity:1
 }
}
@keyframes dropdown {
 100% {
  transform:translateY(0);
  opacity:1
 }
}
#gnav {
 z-index:1;
 flex-basis:0;
 flex-grow:1;
}
@media (max-width:991px) {
 #gnav {
  display:none
 }
}
#gnav ul {
 list-style:none;
 padding:0;
 margin:0;
 display:flex;
 justify-content:flex-end
}
#gnav ul li a {
 display:block;
 padding:20px 24px;
 font-weight:700;
 color:#111;
 font-size:1.7rem;
 letter-spacing:1px;
 transition:all .4s cubic-bezier(.165,.84,.44,1);
 transition-timing-function:cubic-bezier(.165,.84,.44,1);
 transition-property:color
}
#gnav ul li a:hover {
	color:#b32619;
}
#gnav ul li a span {
 position:relative
}
#gnav ul li a span:before {
 content:"";
 position:absolute;
 bottom:-10px;
 left:0;
 width:100%;
 height:1px;
 background:#fff;
 opacity:0;
 transition:all .8s cubic-bezier(.19,1,.22,1);
 transition-timing-function:cubic-bezier(.19,1,.22,1);
 transform:translateY(5px)
}
#gnav ul li a.dropdown-trigger span:before {
 content:none
}
#gnav ul li a.dropdown-trigger span:after {
 content:"\e910";
 font-family:icomoon;
 position:absolute;
 bottom:-25px;
 left:50%;
 font-size:1.2rem;
 margin-left:-.6rem;
 transition:all .8s cubic-bezier(.19,1,.22,1);
 transition-timing-function:cubic-bezier(.19,1,.22,1);
 transition-property:transform
}
#gnav ul li a.dropdown-trigger.active,
#gnav ul li a.dropdown-trigger:active,
#gnav ul li a.dropdown-trigger:focus,
#gnav ul li a.dropdown-trigger:hover {
 text-decoration:none
}
#gnav ul li a.dropdown-trigger.active span:after,
#gnav ul li a.dropdown-trigger:active span:after,
#gnav ul li a.dropdown-trigger:focus span:after,
#gnav ul li a.dropdown-trigger:hover span:after {
 transform:rotate(-180deg)
}
#gnav ul li a:active,
#gnav ul li a:focus,
#gnav ul li a:hover {
 text-decoration:none
}
#gnav ul li a:active span:before,
#gnav ul li a:focus span:before,
#gnav ul li a:hover span:before {
 opacity:1;
 height:2px;
 transform:translateY(0)
}
@media (max-width:1199px) {
 #gnav ul li a {
  padding-left:12px;
  padding-right:12px;
  font-size:1.5rem
 }
}
#gnav ul li a.link__instagram {
 font-size:1.4rem;
 padding-right:20px;
 padding-left:20px
}
@media (max-width:1199px) {
 #gnav ul li a.link__instagram {
  font-size:1.3rem;
  padding-right:12px;
  padding-left:12px
 }
}



#footer {
 padding:12rem 0 2rem;
 position:relative;
 z-index:1
}
#footer .footer_left {
	padding-left:15rem;
}
#footer #ft-logo {
	width: 18.3rem;
	margin:0.1rem 0 5rem 0;
}
#footer #ft-logo img {
	width:100%;
}
#footer .ft-detail {
 position:relative;
 z-index:2;
}
#footer .ft-detail h4 {
 font-size:1rem;
 margin-bottom:10px;
 line-height:1.4rem
}
#footer .ft-detail p {
 font-size: 1.5rem;
 line-height: 2;
 margin-bottom:0;
 letter-spacing: 0.07em;
}
#footer .footer_right {
	margin-left: 10rem;
}
#footer .ft-nav {
 padding-left:0;
 margin-bottom:0
}
#footer .ft-nav li {
 list-style-type:none;
}
#footer .ft-nav>li>a {
	margin-bottom: 2.8rem;
	display:block;
	font-size:1.7rem;
	font-weight:500;
}
#footer .ft-nav li ul {
	margin-top:-2rem;
}
#footer .ft-nav li li a {
	font-size:1.4rem;
	color:#545454;
	font-weight:500;
	display: block;
	margin-bottom: 1rem;
}
#footer .ft-nav li a:hover {
	color: #b32619;
	text-decoration:none;
}
#footer #copyright {
 font-size:12px;
 line-height:20px;
 color:#fff
}
@media (max-width:991px) {
 #footer {
  padding:80px 0 20px
 }
 #footer #ft-logo {
	 margin:0.1rem auto 2rem;
 }
 #footer .ft-detail {
	 margin-bottom:5rem;
	 text-align:center;
 }
 #footer .footer_left {
	 padding-left:0;
 }
 #footer .footer_right {
	 margin-left:0;
 }
 #footer #copyright {
  text-align:center
 }
}
@media (max-width:575px) {
 #footer {
  padding:40px 0 20px
 }
 #footer #ft-logo {
  width:100px;
  margin:0 auto 20px
 }
 #footer .ft-detail {
  justify-content:center
 }
 #footer .ft-detail>div {
  padding:0 10px
 }
}
@media (max-width:400px) {
 #footer .ft-detail>div {
  padding:0 5px
 }
}


#pagetop {
 right:6.8rem;
 bottom:4rem;
 font-size:.9rem;
 font-weight:700;
 z-index:1000;
 opacity:1;
 transition:all .4s cubic-bezier(.165,.84,.44,1);
 transition-timing-function:cubic-bezier(.165,.84,.44,1);
 z-index:1;
 margin: 0 auto;
 width: 8.5rem;
 position:fixed;
 text-align:center;
}
#pagetop::before {
	transform: skewX(-10deg);
	content: "";
	position: absolute;
	top: 0; bottom: 0; left: 0; right: 0;
	z-index: -1;
	background-color:#b32619;
}
#pagetop a {
 display:block;
 color:#fff;
 transition:all .4s cubic-bezier(.165,.84,.44,1);
 transition-timing-function:cubic-bezier(.165,.84,.44,1);
 padding:3rem 0;
}
#pagetop a .mediabox {
 overflow:hidden;
 display:block
}
#pagetop a:active,
#pagetop a:focus,
#pagetop a:hover {
 text-decoration:none
}
#pagetop i {
 color:#fff;
 position:relative;
 font-size:20px;
 padding-left:10px
}
#pagetop span {
 display:block;
 position:absolute;
 left:-15px;
 bottom:0;
 height:65px;
 width:40px;
 overflow:hidden
}
#pagetop span:before {
 content:"";
 position:absolute;
 left:50%;
 top:0;
 height:65px;
 width:1px;
 margin-left:-1px;
 background:#333;
 transition:all .4s cubic-bezier(.165,.84,.44,1);
 transition-timing-function:cubic-bezier(.165,.84,.44,1)
}
#pagetop span:after {
 content:"";
 position:absolute;
 left:50%;
 top:0;
 height:10px;
 width:1px;
 margin-left:2.5px;
 transform:rotate(-45deg);
 background:#333
}
#pagetop.headroom--not-top {
 opacity:1
}
#pagetop.headroom--bottom a {
 color:#ccc
}
#pagetop.headroom--bottom a span:after,
#pagetop.headroom--bottom a span:before {
 background:#ccc
}
#pagetop:hover a {
 color:#ccc
}
#pagetop:hover a span:after,
#pagetop:hover a span:before {
 background:#ccc
}
#pagetop:hover i {
 color:#ccc
}

@media (max-width:767px) {
 #pagetop {
  right:15px;
  bottom:20px
 }
}

@media all and (-ms-high-contrast:none) {
 #pagetop span:after {
  left:40%;
  height:20px;
  margin-left:0
 }
}
@-webkit-keyframes scroll {
 0% {
  top:100%
 }
 100% {
  top:-100%
 }
}
@keyframes scroll {
 0% {
  top:100%
 }
 100% {
  top:-100%
 }
}
@-webkit-keyframes scroll-arrow {
 0% {
  opacity:0
 }
 100% {
  opacity:1
 }
}
@keyframes scroll-arrow {
 0% {
  opacity:0
 }
 100% {
  opacity:1
 }
}


#hamburger {
 display:none
}
#hamburger .menu-btn {
    position: fixed;
		top: 0;
		right: 0;
		display: flex;
		height: 13rem;
		width: 13rem;
    justify-content: center;
    align-items: center;
    z-index: 10001;
		background:#b32619;
}
#hamburger .menu-btn span,
#hamburger .menu-btn span:before,
#hamburger .menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 6rem;
    border-radius: 3px;
    background-color: #fff;
    position: absolute;
	 transition:all .7s cubic-bezier(.19,1,.22,1);
	 transition-timing-function:cubic-bezier(.19,1,.22,1);
}
#hamburger .menu-btn span:before {
    bottom: 2rem;
}
#hamburger .menu-btn span:after {
    top: 2rem;
}

#hamburger #menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);
}
#hamburger #menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#hamburger #menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#hamburger #menu-btn-check {
    display: none;
}

@media (max-width:991px) {
 #hamburger {
  display:block;
 }
}
@media (max-width:575px) {
 #hamburger .menu-btn {
  height: 8rem;
	width: 8rem;
 }
 #hamburger .menu-btn span, #hamburger .menu-btn span::before, #hamburger .menu-btn span::after {
	 width:3rem;
 }
 #hamburger .menu-btn span::before {
  bottom: 1rem;
	}
	#hamburger .menu-btn span::after {
		top: 1rem;
	}
}


#drawer {
	display:none;
}
#menu-btn-check:checked ~ #drawer {
 left: 0;
}
body.drawer-opening #hamburger :nth-child(1) {
 transform:rotate(315deg);
 top:-2px;
 width:25px;
 margin-left:-13.25px;
 background-color:#fff
}
body.drawer-opening #hamburger :nth-child(2) {
 transform:translate(-50px,0);
 opacity:0
}
body.drawer-opening #hamburger :nth-child(3) {
 width:25px;
 transform:rotate(-315deg);
 margin-left:-15.5px;
 background-color:#fff
}
@media (max-width:991px) {
 #drawer {
  position:fixed;
	display:block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0%;
  left: 100%; /* メニューを画面の外に飛ばす */
  z-index: 99;
  background: #fff;
  transition: .5s;
  text-align: center;
  padding-top: 20px;
 }
 #drawer::-webkit-scrollbar {
  display:none
 }
 #drawer #drawer-logo img {
  width:150px;
  display:block;
  margin:100px auto 0
 }
 #drawer #drawer-logo {
	 align-self: center;
	 width: 100%;
 }	
 #drawer #drawer-body {
  position:relative;
  z-index:2;
	padding:150px 20px 0;
	width:100%;
	margin-left: 0;
 }
 #drawer #drawer-body .drawer-nav {
  list-style:none;
		padding:0;
		margin:0 10px
 }
 #drawer #drawer-body .drawer-nav li {
  list-style-type:none;
  margin-bottom:20px
 }
 #drawer #drawer-body .drawer-nav li a {
  text-decoration:none;
  color:#111;
  font-size:1.2rem;
  font-weight:700
 }
 #drawer #drawer-body .drawer-nav li a:hover {
	color: #b32619;
 }
 #drawer #drawer-body .drawer-nav li ul {
  padding-left:15px;
  margin-top:15px
 }
 #drawer #drawer-body .drawer-nav li ul li a {
  font-weight:400;
	color: #545454;
}
 #menu-btn-check:checked ~ #drawer {
  z-index:10000;
 }
}
@media (max-width:991px) and (max-width:767px) {
 #drawer #drawer-logo img {
  margin-top:40px;
  width:120px
 }
 #drawer #drawer-body {
  padding:40px 0 30px;
 }
}
@media (max-width:991px) and (max-width:575px) {
 #drawer #drawer-body .drawer-nav li {
  margin-bottom:15px;
 }
 #drawer #drawer-body .drawer-nav li ul {
  margin-top:10px;
	padding-left:0;
 }
}


@-webkit-keyframes drawer-open {
 0% {
  opacity:1;
  transform:translate(100%)
 }
 100% {
  opacity:1;
  transform:translateX(0)
 }
}
@keyframes drawer-open {
 0% {
  opacity:1;
  transform:translate(100%)
 }
 100% {
  opacity:1;
  transform:translateX(0)
 }
}
@-webkit-keyframes drawer-close {
 0% {
  opacity:1;
  transform:translateX(0)
 }
 100% {
  opacity:1;
  transform:translateX(100%)
 }
}
@keyframes drawer-close {
 0% {
  opacity:1;
  transform:translateX(0)
 }
 100% {
  opacity:1;
  transform:translateX(100%)
 }
}


.container,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
 width:100%;
 padding-right:20px;
 padding-left:20px;
 margin-right:auto;
 margin-left:auto
}
@media (min-width:576px) {
 .container,
 .container-sm {
  max-width:540px
 }
}
@media (min-width:768px) {
 .container,
 .container-md,
 .container-sm {
  max-width:720px
 }
}
@media (min-width:992px) {
 .container,
 .container-lg,
 .container-md,
 .container-sm {
  max-width:960px
 }
}
@media (min-width:1200px) {
 .container,
 .container-lg,
 .container-md,
 .container-sm,
 .container-xl {
  max-width:1200px
 }
}
@media (min-width:1500px) {
 .container,
 .container-lg,
 .container-md,
 .container-sm,
 .container-xl,
 .container-xxl {
  max-width:1500px
 }
}

.row {
 display:flex;
 flex-wrap:wrap;
 margin-right:-20px;
 margin-left:-20px
}
.col,
.col-1,
.col-10,
.col-11,
.col-12,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-auto,
.col-lg,
.col-lg-1,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-auto,
.col-md,
.col-md-1,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-auto,
.col-sm,
.col-sm-1,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-auto,
.col-xl,
.col-xl-1,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-auto {
 position:relative;
 width:100%;
 padding-right:20px;
 padding-left:20px
}
.col {
 flex-basis:0;
 flex-grow:1;
 max-width:100%
}
.row-cols-1>* {
 flex:0 0 100%;
 max-width:100%
}
.row-cols-2>* {
 flex:0 0 50%;
 max-width:50%
}
.row-cols-3>* {
 flex:0 0 33.3333333333%;
 max-width:33.3333333333%
}
.row-cols-4>* {
 flex:0 0 25%;
 max-width:25%
}
.row-cols-5>* {
 flex:0 0 20%;
 max-width:20%
}
.row-cols-6>* {
 flex:0 0 16.6666666667%;
 max-width:16.6666666667%
}
.col-auto {
 flex:0 0 auto;
 width:auto;
 max-width:100%
}
.col-1 {
 flex:0 0 8.33333333%;
 max-width:8.33333333%
}
.col-2 {
 flex:0 0 16.66666667%;
 max-width:16.66666667%
}
.col-3 {
 flex:0 0 25%;
 max-width:25%
}
.col-4 {
 flex:0 0 33.33333333%;
 max-width:33.33333333%
}
.col-5 {
 flex:0 0 41.66666667%;
 max-width:41.66666667%
}
.col-6 {
 flex:0 0 50%;
 max-width:50%
}
.col-7 {
 flex:0 0 58.33333333%;
 max-width:58.33333333%
}
.col-8 {
 flex:0 0 66.66666667%;
 max-width:66.66666667%
}
.col-9 {
 flex:0 0 75%;
 max-width:75%
}
.col-10 {
 flex:0 0 83.33333333%;
 max-width:83.33333333%
}
.col-11 {
 flex:0 0 91.66666667%;
 max-width:91.66666667%
}
.col-12 {
 flex:0 0 100%;
 max-width:100%
}
@media (min-width:576px) {
 .col-sm {
  flex-basis:0;
  flex-grow:1;
  max-width:100%
 }
 .row-cols-sm-1>* {
  flex:0 0 100%;
  max-width:100%
 }
 .row-cols-sm-2>* {
  flex:0 0 50%;
  max-width:50%
 }
 .row-cols-sm-3>* {
  flex:0 0 33.3333333333%;
  max-width:33.3333333333%
 }
 .row-cols-sm-4>* {
  flex:0 0 25%;
  max-width:25%
 }
 .row-cols-sm-5>* {
  flex:0 0 20%;
  max-width:20%
 }
 .row-cols-sm-6>* {
  flex:0 0 16.6666666667%;
  max-width:16.6666666667%
 }
 .col-sm-auto {
  flex:0 0 auto;
  width:auto;
  max-width:100%
 }
 .col-sm-1 {
  flex:0 0 8.33333333%;
  max-width:8.33333333%
 }
 .col-sm-2 {
  flex:0 0 16.66666667%;
  max-width:16.66666667%
 }
 .col-sm-3 {
  flex:0 0 25%;
  max-width:25%
 }
 .col-sm-4 {
  flex:0 0 33.33333333%;
  max-width:33.33333333%
 }
 .col-sm-5 {
  flex:0 0 41.66666667%;
  max-width:41.66666667%
 }
 .col-sm-6 {
  flex:0 0 50%;
  max-width:50%
 }
 .col-sm-7 {
  flex:0 0 58.33333333%;
  max-width:58.33333333%
 }
 .col-sm-8 {
  flex:0 0 66.66666667%;
  max-width:66.66666667%
 }
 .col-sm-9 {
  flex:0 0 75%;
  max-width:75%
 }
 .col-sm-10 {
  flex:0 0 83.33333333%;
  max-width:83.33333333%
 }
 .col-sm-11 {
  flex:0 0 91.66666667%;
  max-width:91.66666667%
 }
 .col-sm-12 {
  flex:0 0 100%;
  max-width:100%
 }
}
@media (min-width:768px) {
 .col-md {
  flex-basis:0;
  flex-grow:1;
  max-width:100%
 }
 .row-cols-md-1>* {
  flex:0 0 100%;
  max-width:100%
 }
 .row-cols-md-2>* {
  flex:0 0 50%;
  max-width:50%
 }
 .row-cols-md-3>* {
  flex:0 0 33.3333333333%;
  max-width:33.3333333333%
 }
 .row-cols-md-4>* {
  flex:0 0 25%;
  max-width:25%
 }
 .row-cols-md-5>* {
  flex:0 0 20%;
  max-width:20%
 }
 .row-cols-md-6>* {
  flex:0 0 16.6666666667%;
  max-width:16.6666666667%
 }
 .col-md-auto {
  flex:0 0 auto;
  width:auto;
  max-width:100%
 }
 .col-md-1 {
  flex:0 0 8.33333333%;
  max-width:8.33333333%
 }
 .col-md-2 {
  flex:0 0 16.66666667%;
  max-width:16.66666667%
 }
 .col-md-3 {
  flex:0 0 25%;
  max-width:25%
 }
 .col-md-4 {
  flex:0 0 33.33333333%;
  max-width:33.33333333%
 }
 .col-md-5 {
  flex:0 0 41.66666667%;
  max-width:41.66666667%
 }
 .col-md-6 {
  flex:0 0 50%;
  max-width:50%
 }
 .col-md-7 {
  flex:0 0 58.33333333%;
  max-width:58.33333333%
 }
 .col-md-8 {
  flex:0 0 66.66666667%;
  max-width:66.66666667%
 }
 .col-md-9 {
  flex:0 0 75%;
  max-width:75%
 }
 .col-md-10 {
  flex:0 0 83.33333333%;
  max-width:83.33333333%
 }
 .col-md-11 {
  flex:0 0 91.66666667%;
  max-width:91.66666667%
 }
 .col-md-12 {
  flex:0 0 100%;
  max-width:100%
 }
}
@media (min-width:992px) {
 .col-lg {
  flex-basis:0;
  flex-grow:1;
  max-width:100%
 }
 .row-cols-lg-1>* {
  flex:0 0 100%;
  max-width:100%
 }
 .row-cols-lg-2>* {
  flex:0 0 50%;
  max-width:50%
 }
 .row-cols-lg-3>* {
  flex:0 0 33.3333333333%;
  max-width:33.3333333333%
 }
 .row-cols-lg-4>* {
  flex:0 0 25%;
  max-width:25%
 }
 .row-cols-lg-5>* {
  flex:0 0 20%;
  max-width:20%
 }
 .row-cols-lg-6>* {
  flex:0 0 16.6666666667%;
  max-width:16.6666666667%
 }
 .col-lg-auto {
  flex:0 0 auto;
  width:auto;
  max-width:100%
 }
 .col-lg-1 {
  flex:0 0 8.33333333%;
  max-width:8.33333333%
 }
 .col-lg-2 {
  flex:0 0 16.66666667%;
  max-width:16.66666667%
 }
 .col-lg-3 {
  flex:0 0 25%;
  max-width:25%
 }
 .col-lg-4 {
  flex:0 0 33.33333333%;
  max-width:33.33333333%
 }
 .col-lg-5 {
  flex:0 0 41.66666667%;
  max-width:41.66666667%
 }
 .col-lg-6 {
  flex:0 0 50%;
  max-width:50%
 }
 .col-lg-7 {
  flex:0 0 58.33333333%;
  max-width:58.33333333%
 }
 .col-lg-8 {
  flex:0 0 66.66666667%;
  max-width:66.66666667%
 }
 .col-lg-9 {
  flex:0 0 75%;
  max-width:75%
 }
 .col-lg-10 {
  flex:0 0 83.33333333%;
  max-width:83.33333333%
 }
 .col-lg-11 {
  flex:0 0 91.66666667%;
  max-width:91.66666667%
 }
 .col-lg-12 {
  flex:0 0 100%;
  max-width:100%
 }
}
@media (min-width:1200px) {
 .col-xl {
  flex-basis:0;
  flex-grow:1;
  max-width:100%
 }
 .row-cols-xl-1>* {
  flex:0 0 100%;
  max-width:100%
 }
 .row-cols-xl-2>* {
  flex:0 0 50%;
  max-width:50%
 }
 .row-cols-xl-3>* {
  flex:0 0 33.3333333333%;
  max-width:33.3333333333%
 }
 .row-cols-xl-4>* {
  flex:0 0 25%;
  max-width:25%
 }
 .row-cols-xl-5>* {
  flex:0 0 20%;
  max-width:20%
 }
 .row-cols-xl-6>* {
  flex:0 0 16.6666666667%;
  max-width:16.6666666667%
 }
 .col-xl-auto {
  flex:0 0 auto;
  width:auto;
  max-width:100%
 }
 .col-xl-1 {
  flex:0 0 8.33333333%;
  max-width:8.33333333%
 }
 .col-xl-2 {
  flex:0 0 16.66666667%;
  max-width:16.66666667%
 }
 .col-xl-3 {
  flex:0 0 25%;
  max-width:25%
 }
 .col-xl-4 {
  flex:0 0 33.33333333%;
  max-width:33.33333333%
 }
 .col-xl-5 {
  flex:0 0 41.66666667%;
  max-width:41.66666667%
 }
 .col-xl-6 {
  flex:0 0 50%;
  max-width:50%
 }
 .col-xl-7 {
  flex:0 0 58.33333333%;
  max-width:58.33333333%
 }
 .col-xl-8 {
  flex:0 0 66.66666667%;
  max-width:66.66666667%
 }
 .col-xl-9 {
  flex:0 0 75%;
  max-width:75%
 }
 .col-xl-10 {
  flex:0 0 83.33333333%;
  max-width:83.33333333%
 }
 .col-xl-11 {
  flex:0 0 91.66666667%;
  max-width:91.66666667%
 }
 .col-xl-12 {
  flex:0 0 100%;
  max-width:100%
 }
}