@charset "UTF-8";
/* ===========================================
*  
*  common styles
* 
* ======================================== */
/*------------------------------------
* 
* default styles
* 
------------------------------------*/
a,
img,
button {
  display: block;
}

button {
  cursor: pointer;
}

img {
  max-width: 100%;
  width: auto;
}

/* default hover style */
a {
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.7;
}

/*------------------------------------
* 
* text styles
* 
-------------------------------------*/
/* 
テキストカラー
-------------------------*/
.text--main {
  color: #e50e0d;
}

.text--sub {
  color: #f9d7d7;
}

.text--theme {
  color: #fbeeee;
}

.text--link {
  color: #21ade4;
}

.text--white {
  color: #ffffff;
}

.text--black {
  color: #000000;
}

.text--main-black {
  color: #111111;
}

.text--gray {
  color: #eeeeee;
}

.text--brown {
  color: #3a1f13;
}

/* 
テキスト配置
-------------------------*/
.text--center {
  text-align: center;
}

.text--left {
  text-align: left;
}

.text--right {
  text-align: right;
}

/* 
アンダーライン
-------------------------*/
.text-underline--main {
  -webkit-text-decoration: underline #e50e0d !important;
          text-decoration: underline #e50e0d !important;
}

.text-underline--sub {
  -webkit-text-decoration: underline #f9d7d7 !important;
          text-decoration: underline #f9d7d7 !important;
}

.text-underline--theme {
  -webkit-text-decoration: underline #fbeeee !important;
          text-decoration: underline #fbeeee !important;
}

.text-underline--link {
  -webkit-text-decoration: underline #21ade4 !important;
          text-decoration: underline #21ade4 !important;
}

.text-underline--white {
  -webkit-text-decoration: underline #ffffff !important;
          text-decoration: underline #ffffff !important;
}

.text-underline--black {
  -webkit-text-decoration: underline #000000 !important;
          text-decoration: underline #000000 !important;
}

.text-underline--main-black {
  -webkit-text-decoration: underline #111111 !important;
          text-decoration: underline #111111 !important;
}

.text-underline--gray {
  -webkit-text-decoration: underline #eeeeee !important;
          text-decoration: underline #eeeeee !important;
}

.text-underline--brown {
  -webkit-text-decoration: underline #3a1f13 !important;
          text-decoration: underline #3a1f13 !important;
}

/* 
アンダーライン　配置
-------------------------*/
.underline-offset--sm {
  text-underline-offset: 0.25em;
}

.underline-offset--rg {
  text-underline-offset: 0.3em;
}

.underline-offset--md {
  text-underline-offset: 0.5em;
}

.underline-offset--lg {
  text-underline-offset: 0.8em;
}

/*--------------------------------
*
* backgroundクラス
* 
---------------------------------*/
/* 
背景色
-------------------------*/
.bg--main {
  background-color: #e50e0d;
}

.bg--sub {
  background-color: #f9d7d7;
}

.bg--theme {
  background-color: #fbeeee;
}

.bg--link {
  background-color: #21ade4;
}

.bg--white {
  background-color: #ffffff;
}

.bg--black {
  background-color: #000000;
}

.bg--main-black {
  background-color: #111111;
}

.bg--gray {
  background-color: #eeeeee;
}

.bg--brown {
  background-color: #3a1f13;
}

/*-------------------------------
* 
* borderクラス
* 
-------------------------------*/
/* 
ボーダー色
-------------------------*/
.border--main {
  border-color: #e50e0d !important;
}

.border--sub {
  border-color: #f9d7d7 !important;
}

.border--theme {
  border-color: #fbeeee !important;
}

.border--link {
  border-color: #21ade4 !important;
}

.border--white {
  border-color: #ffffff !important;
}

.border--black {
  border-color: #000000 !important;
}

.border--main-black {
  border-color: #111111 !important;
}

.border--gray {
  border-color: #eeeeee !important;
}

.border--brown {
  border-color: #3a1f13 !important;
}

/*-------------------------------
* 
* fontクラス
* 
-------------------------------*/
/* 
font-weight
-------------------------*/
.font--regular {
  font-weight: 400 !important;
}

.font--medium {
  font-weight: 500 !important;
}

.font--semibold {
  font-weight: 600 !important;
}

.font--bold {
  font-weight: 700 !important;
}

.font--black {
  font-weight: 900 !important;
}

/* 
font-family
-------------------------*/
.font-sofia {
  font-family: "Sofia", cursive !important;
  font-weight: 400 !important;
}

/*------------------------------
*
* display クラス
*
------------------------------*/
/* 
display 変更
-------------------------*/
.inline {
  display: inline;
}

.inline-block {
  display: inline-block;
}

/* ===========================================
*
* object クラス
*
* ======================================== */
/* 
contain 設定
-------------------------*/
.contain-img > img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.contain-img--center > img {
  /*　中央揃え　*/
  -o-object-position: center center;
     object-position: center center;
}
.contain-img--left > img {
  /*　左揃え　*/
  -o-object-position: left center;
     object-position: left center;
}
.contain-img--right > img {
  /*　右揃え　*/
  -o-object-position: right center;
     object-position: right center;
}

.cover-img > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cover-img--center > img {
  /*　中央揃え　*/
  -o-object-position: center center;
     object-position: center center;
}
.cover-img--left > img {
  /*　左揃え　*/
  -o-object-position: left center;
     object-position: left center;
}
.cover-img--right > img {
  /*　右揃え　*/
  -o-object-position: right center;
     object-position: right center;
}
.cover-img--fit {
  /* 比率で画像サイズを指定するためのクラス */
  /* width,height:0;,padding-topまたはaspect-ratioを別指定する */
  position: relative;
  overflow: hidden;
}
.cover-img--fit > img {
  position: absolute;
  -o-object-position: center center;
     object-position: center center;
  top: 0;
  left: 0;
}

/*------------------------------
*
* google map default
*
------------------------------*/
.googlemap {
  width: 100%;
  /* 200px 以下は動かないため */
  min-height: 202px;
  position: relative;
  overflow: hidden;
}

.googlemap iframe {
  width: 100%;
  height: 100%;
  display: block;
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 0;
}

/*------------------------------
*
* flex クラス
*
------------------------------*/
.flex-base {
  display: flex;
  flex-wrap: wrap;
}

/* 
flex column 
-------------------------*/
.flex-column {
  flex-direction: column;
}
.flex-column--center {
  align-items: center;
}
.flex-column--start {
  align-items: flex-start;
}
.flex-column--end {
  align-items: flex-end;
}

/* 
flex row
-------------------------*/
.flex-row {
  flex-direction: row;
}
.flex-row--center {
  justify-content: center;
}
.flex-row--end {
  justify-content: flex-end;
}
.flex-row--between {
  justify-content: space-between;
}

.flex-row--reserve {
  flex-direction: row-reverse;
}

/* 
flex center 中央揃え
-------------------------*/
.flex--center {
  align-items: center;
  justify-content: center;
}

/* 
margin 中央揃え
-------------------------*/
.margin-x--center {
  margin-left: auto;
  margin-right: auto;
}

.over-hidden {
  overflow: hidden;
}/*# sourceMappingURL=common.css.map */