@charset "utf-8";

/*
 * "Comfortaa" is lisenced under the SIL Open Font License 1.1
 * http://fonts.googleapis.com
 * https://www.google.com/fonts/attribution
 * http://scripts.sil.org/OFL
 */

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

全体の設定

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
body {
  color: #a9a9a9;
  font-family: 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo',
    'Noto Sans Japanese', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
@import url('https://fonts.googleapis.com/css?family=Sawarabi+Mincho');
/* 文字サイズ */

html {
  font-size: 62.5%;
    font-family:sans-serif;line-height:1.15;
    -webkit-text-size-adjust:100%;
    -webkit-tap-highlight-color:transparent;
}
  /* bodyのフォントサイズを1.6em（16px）に設定 */
  body {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
  }
  article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{
    display:block;
}
  hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
  }

  p{
  font-size: 1.7rem; /* 15px */
  line-height: 1.8;
  font-weight: 500;
  }
  h1, h2, h3, h4, h5, h6,
  .h1, .h2, .h3, .h4, .h5, .h6 {
    margin-bottom: 0.5rem;
    font-family: inherit;
    font-weight: 500;
    line-height: 1.2;
    color: inherit;
  }
 
  h1, .h1 {
    font-size: 2.8rem;
  }
  
  h2, .h2 {
    font-size: 2.6rem;
  }
  
  h3, .h3 {
    font-size: 2.2rem;
  }
  
  h4, .h4 {
    font-size: 1.8rem;
  }
  
  h5, .h5 {
    font-size: 1.6rem;
  }
  
  h6, .h6 {
    font-size: 1.5rem;
  }
  
  .lead {
    font-size: 1.25rem;
    font-weight: 300;
  }

a {
  color: #555;
  text-decoration: none;
}

a:hover {
  opacity: 0.8;
}

.bg-darkgray {
  background-color: #a9a9a9;
}

.container,
.container-fulid {
  overflow: hidden;
}


/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
img,abbr,acronym,fieldset{border:0;}




/* 英字タイトルをWEBフォントに */
header a,
.display-5,
.display-4,
.display-3,
.lead,
.circle-badges {
  font-family: 'Comfortaa', cursive;
}

.display-5{
  font-family: Arial, Helvetica, sans-serif;
  font-size: 2rem;
  font-weight: 500;
}



  .display-4{
    font-family: Arial, Helvetica, sans-serif;
    font-size: 2.5rem;
    font-weight: 500;
  }
 
  .display-3{
    font-family: 'Sawarabi Mincho', sans-serif;
    font-size: 3rem;
    font-weight: 500;
    padding-top: 10%;
    padding-bottom: 2%;
  }

  /*見出しデザイン*/
  .under_dot {
    border-bottom: dotted 6px #363636;
  }
.card-title{
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
}
/* h2見出し四角枠
-------------------------------------------------- */
.squarebox{
  border-top: 2px solid #3d3d3d;
  border-bottom: 2px solid #3d3d3d;
  margin: 2em auto;
padding: 1em;
max-width: 480px;
  position: relative;
  font-size: 1.8rem;
  background-color: #fff;
}

.squarebox:before, .squarebox:after{
  content: '';
  position: absolute;
  top: -10px;
  width: 2px;
  height: calc(100% + 20px);
  height: calc(100% + 20px);
  background-color: #3d3d3d;
}

.squarebox:before {
  left: 10px;
}

.squarebox:after {
  right: 10px;
}

.squarebox:hover{
  color: #fff;
  background-color: #000;
}






.squarebox2{
  border-top: 2px solid #3d3d3d;
  border-bottom: 2px solid #3d3d3d;
  margin: 2em auto;
padding: 1em;
width: 340px;
  position: relative;
  font-size: 1.8rem;
  background-color: #fff;
  display:inline-block;
}

.squarebox2:before, .squarebox2:after{
  content: '';
  position: absolute;
  top: -10px;
  width: 2px;
  height: calc(100% + 20px);
  height: calc(100% + 20px);
  background-color: #3d3d3d;
}

.squarebox2:before {
  left: 10px;
}

.squarebox2:after {
  right: 10px;
}

.squarebox2:hover{
  color: #fff;
  background-color: #000;
}




  /*PCでは無効（改行しない）*/
  .brsp{
    display: none;
  }


  /* パディング */
.pd-t2{
  padding-top: 2%;
}
.pd-t5{
  padding-top: 5%;
}
.pd-t10{
  padding-top: 10%;
}
.pd-t15{
  padding-top: 15%;
}
.pd-d5{
  padding-bottom: 5%;
}
.pd-d10{
  padding-bottom: 10%;
}



/* マージン */
.ma-5{
  margin: 5%;
}
.ma-lr5{
  margin-left: 5%;
}

/* 中央寄せ */
.center-center{
  text-align: center;
  margin: 0 auto;
  height: auto;
  vertical-align: middle;
}

/* 右寄せ */
.right-right{
  text-align: right;
  margin: 0 0 0 auto;
  float: right;
  height: auto;

}

/* 左寄せ */
.left-left{
  text-align: left;
  margin: 0 0 0 auto;
  float: left;
  height: auto;
}


.w-100{
  width: 100%;
}
.w-95{
  width: 95%;
}
.w-90{
  width: 90%;
}
.w-50{
  width: 50%;
}

/* パンくずリスト */
.breadcrumb {
  background: transparent;
}

.breadcrumb li + li:before {
  content: '»' !important;
}

/* ヘッダー営業時間 */
.top-stitch {
  padding: .5rem 0;
  color: #3B3B3B;
  background-color: #a9a9a9;
  box-shadow: 0px 0px 0px 10px #a9a9a9;
  border-bottom: dashed 2px #fff;
  border-left: dashed 2px #fff;
  border-right: dashed 2px #fff;
  margin-bottom: 10px;
  color: #fff;
  text-align: center;
  font-weight: bold;
}

.top-stitch p {
  margin: 0;
  padding: 0;
}

/* ロゴマーク */
.logo-mark {
  left: 15%;
  top: -50px;
  z-index: 999;
  border-radius: 50%;
  height: 240px;
  width: 240px;
}

/* ロゴマークの中身 */
.logo-mark img {
  top: 6%;
  left: 14%;
}

.main-txt {
  left: 15%;
  bottom: 20px;
}


/* テキスト画像 */
.message{
  width: 50%;
}


/* title横画像 */
.mind{
  width: 50%;
}

/* ギザギザ線 */
.zigzag {
  position: relative;
  margin: 5% 0;
  padding: 0;
  background-color: #a9a9a9;
}

.zigzag::before,
.zigzag::after {
  position: absolute;
  width: 100%;
  height: 60px;
  content: "";
}

.zigzag::before {
  top: -60px;
  background: linear-gradient(45deg, #a9a9a9 30px, transparent 0), linear-gradient(315deg, #a9a9a9 30px, transparent 0);
  background-size: 60px 60px;
}

.zigzag::after {
  bottom: -60px;
  background: linear-gradient(135deg, #a9a9a9 30px, transparent 0), linear-gradient(225deg, #a9a9a9 30px, transparent 0);
  background-size: 60px 60px;
}

/* 薄い背景のギザギザ線 */
.light-zigzag {
  position: relative;
  margin: 5% 0 0;
  padding: 0;
  background-color: #f8f9fa;
}

.light-zigzag::before,
.light-zigzag::after {
  position: absolute;
  width: 100%;
  height: 60px;
  content: "";
}

.light-zigzag::before {
  top: -60px;
  background: linear-gradient(45deg, #f8f9fa 30px, transparent 0), linear-gradient(315deg, #f8f9fa 30px, transparent 0);
  background-size: 60px 60px;
}

.light-zigzag::after {
  bottom: -60px;
  background: linear-gradient(135deg, #f8f9fa 30px, transparent 0), linear-gradient(225deg, #f8f9fa 30px, transparent 0);
  background-size: 60px 60px;
}

/* ギザギザ線なし */
.zigzag-none:after {
  content: none !important;
}

/* コピーライトのギザギザ線 */
.zigzag-copy {
  position: relative;
  padding-top: 5%;
  background-color: #a9a9a9;
}

.zigzag-copy::before {
  position: absolute;
  width: 100%;
  height: 60px;
  content: "";
  top: -60px;
  background: linear-gradient(45deg, #a9a9a9 30px, transparent 0), linear-gradient(315deg, #a9a9a9 30px, transparent 0);
  background-size: 60px 60px;
}



.border{
  border: 1px solid #0c0c0c;
}


/* ------------------------------
地図サイズ
--------------------------------- */
iframe {
  display: block;
  width: 100%;
  height: 400px;
}

/* ------------------------------
フッター
--------------------------------- */
.stitch {
  padding: 1rem !important;
  margin: 2em 0 !important;
  color: #161616;
  background-color: #535353;
  box-shadow: 0px 0px 0px 10px #424242;
  border: dashed 2px #fff;
  border-radius: 8px;
}

.stitch p {
  margin-bottom: .5rem;
}




/* ------------------------------
トップへ戻るボタン
--------------------------------- */

html{
  scroll-behavior: smooth;
}
.gotop{
  display: block;
  width: 60px;
  height: 60px;
  box-sizing: border-box;
  background: #FFF;
  border: 1px solid #999;
  padding-top: 30px;
  text-align: center;
  letter-spacing: -1px;
  font-size: 85%;
  text-decoration: none;
  color: #333;
  opacity: 0.5;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 10000;
}
.gotop::before{
  content: "";
  display: block;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  width: 25%;
  height: 25%;
  top: 25%;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  transform: rotate(-45deg);
}
.gotop:hover{
  opacity: 1;
}
@media(max-width:750px){
  .gotop{
      width: 40px;
      height: 40px;
      text-indent: -9999px;
      opacity: 1;
      border: none;
      background: none;
      bottom: 10px;
      right: 10px;
  }
  .gotop::before{
      bottom: 0;
  }
}












/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

トップページ

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* トップ画像 */
.top-image {
  background-image: url("../img/top-image.jpg");
  background-size: cover;
  background-position: center center;
  height: 650px;
  box-shadow: 0px 5px 6px 0px #e2e2e2;
  border-radius: 0;
}

/* About me */
.d-flex {
  display: -ms-flexbox !important;
  display: flex !important;
}
.flex-row {
  -ms-flex-direction: row !important;
  flex-direction: row !important;
}
.flex-row-reverse {
  -ms-flex-direction: row-reverse !important;
  flex-direction: row-reverse !important;
}
.bg_text {
  background-color: #fff;
  opacity: 0.6;
}
.profile{
  color: #000;
  font-size: 1.5rem; /* 15px */
  line-height: 1.8;
  font-weight: 500;
}
.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}


/* STROY */
#sec04{
	background: url(../img/haikei_1.jpg) no-repeat 100% 100% fixed;
  background-size: cover;
  min-height: 600px;
	-webkit-background-size: cover;
	color: #fff;
}

.inner{
	width: 94%;
	margin: 0 auto;
	padding-bottom: 50px;
}

.col2 li{
	display: inline-block;
	width: 100%;
  	margin: 20px 0 20px 0;
}

.container-fluid {
	width: 100%;
	background-size: cover;
	background-position: 50% 100%;
}









/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

SAMPLEページ

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* サンプルトップ画像 */

.sheep-image {
  background-image: url("../img/top-sheep-image.jpg");
  background-size: cover;
  background-position: center center;
  height: 350px;
  box-shadow: 0px 5px 6px 0px #e2e2e2;
  border-radius: 0;
}
.main-image {
  background-image: url("../img/cafe-image.jpg");
  background-size: cover;
  background-position: center center;
  height: 350px;
  box-shadow: 0px 5px 6px 0px #e2e2e2;
  border-radius: 0;
}
.mascot-image {
  background-image: url("../img/top-mascot-image.jpg");
  background-size: cover;
  background-position: center center;
  height: 350px;
  box-shadow: 0px 5px 6px 0px #e2e2e2;
  border-radius: 0;
}

/* 曜日 */
.circle-badges {
  position: absolute;
  top: -30px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background-color: rgb(65, 121, 139);
  text-align: center;
  line-height: 120px;
  color: #fff;
  font-size: 1.5rem;
  z-index: 999;
}




/* スライドショー */
.slide-container {
  width: 100%;
  margin: 50px auto;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.slide-wrapper {
display: flex;
animation: slide-flow 20s infinite linear 1s both;
}
.slide{
width: 300px;
object-fit:cover;
border: 1px solid #ddd;
}
@keyframes slide-flow {
   0% {transform: translateX(0);}
100% {transform: translateX(-100%);}
}
.slide-paused:hover .slide-wrapper {
 animation-play-state: paused;
}
.slide-paused:hover .slide-wrapper img:hover {
 opacity: .8;
 cursor: grabbing;
}













/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

CONTACTページ

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* 入力フォーム */
input[type]:focus {
  outline: 0;
  box-shadow: none;
  border: 2px solid orange;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

メディアクエリ

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 中デバイス（タブレット, 992px 以上）
============================================== */
@media screen and (min-width: 1000px){
  .message{
    width: 30%;
  }
}








/* 中デバイス（タブレット, 992px 未満）
============================================== */
@media screen and (max-width: 991.98px) {
  .logo-mark {
    left: 5%;
  }

  .main-txt {
    left: 5%;
  }

  .zigzag {
    margin: 10% 0;
  }

  .light-zigzag {
    margin: 10% 0 0;
  }
}

/* END */

/* 小デバイス（横向きモバイル, 768px 未満）
============================================== */
@media screen and (max-width: 767.98px) {

  /* ロゴマークを小さく設定 */
  .logo-mark {
    height: 200px;
    width: 200px;
  }

  .logo-mark img {
    width: 70%;
  }

  .lead {
    font-size: 1.25rem;
  }

  .circle-badges {
    top: -10px;
    width: 100px;
    height: 100px;
  }
  .mind{
    width: 70%;
    text-align: center;
    margin: 0 auto;
  }
}

/* END */

/* 極小デバイス（縦向きモバイル, 576px 未満）
	============================================== */
@media screen and (max-width: 575.98px) {

  .display-3 {
    font-size: 1.6rem;
  }
  .display-4 {
    font-size: 1.5rem;
  }
  .display-5 {
    font-size: 1.4rem;
  }

  .logo-mark {
    left: 5%;
    top: -10px;
  }

  .logo-mark img {
    top: 16%;
    left: 16%;
  }

  .zigzag,
  .light-zigzag {
    margin: 15% 0;
  }

  .stitch img {
    width: 100%;
  }
}

/* END */
