@charset "UTF-8";
button, input, select, textarea { font-family: inherit; font-size: 100%; }

@font-face { font-family: 'theme_font'; src: url("../font/FontsFree-Net-greycliff-cf-bold.ttf") format("opentype"); }

@-webkit-keyframes feadin { 0% { opacity: 0; }
  100% { opacity: 1; } }

@keyframes feadin { 0% { opacity: 0; }
  100% { opacity: 1; } }

/* Default Style Reset --------------------------------------------------------------------------------------------------------- */
body, form, fieldset { margin: 0px; padding: 0px; }

html, body { height: 100%; }

fieldset { border: none; }

h1, h2, h3, h4, h5, h6, p, pre, blockquote, ul, ol, dl, dd { margin: 0px; padding: 0px; }

li { list-style: none; }

img { border: 0px none; margin: 0; padding: 0; vertical-align: bottom; }

*, *:before, *:after { -webkit-box-sizing: border-box; box-sizing: border-box; outline: none; }

input[type="radio"], input[type="checkbox"] { position: relative; top: 1px; margin-right: 5px; }

/* Tag Castam ----------------------------------------------------------------------------------------------------------------- */
body { margin: 0; padding: 0; font-family: -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; -moz-text-size-adjust: 100%; text-size-adjust: 100%; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; font-size: 80%; line-height: 150%; color: #000; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; word-break: break-word; background: #fff; }

em { font-weight: normal; font-style: normal; }

button { cursor: pointer; }

small { font-size: 14px; display: block; text-align: center; }

a { text-decoration: none; color: #3E3A39; cursor: pointer; }

a:hover { text-decoration: none; }

.bold { font-weight: bold; }

.sp { display: none; }

header nav li { height: 100%; }

img { max-width: 100%; }

.text { font-size: 16px; line-height: 140%; text-align: justify; }

.center { text-align: center; line-height: 180%; }

a:hover { opacity: 0.8; }

#pagetop { position: fixed; bottom: 20px; right: 20px; }

#warpper { width: 100%; overflow: hidden; }

@media (min-width: 751px) { a[href*="tel:"] { pointer-events: none; cursor: default; text-decoration: none; } }

/* ここまで ----------------------------------------------------------------------------------------------------------------- */

.infobox{ text-align:center; padding:10px 20px; color:#0c4676;}

.fade { opacity: 0; -webkit-transform: translateY(50px); transform: translateY(50px); }

.fade.active { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); -webkit-transition: all .5s 0s ease; transition: all .5s 0s ease; }

.fade2 { opacity: 0; -webkit-transform: translateY(50px); transform: translateY(50px); }

.fade2.active { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); -webkit-transition: all .5s .2s ease; transition: all .5s .2s ease; }

footer #foot_head { width: 100%; height: 243px; overflow: hidden; }

footer #foot_head .img_box { width: 100%; height: 100%; }

footer #foot_head img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: top; object-position: top; font-family: 'object-fit: cover;object-position: top; '; }

footer nav { width: 100%; }

footer nav ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-line-pack: center; align-content: center; }

footer nav ul li { border: 1px solid #000; border-width: 0 1px 0 0; }

footer nav ul li a { padding: 0 20px; display: inline-block; }

footer nav ul li:nth-last-of-type(2) { padding: 0; border: none; }

footer nav ul li:last-of-type { padding: 0; border: none; }

footer #foot_box { width: 100%; max-width: 980px; margin: 0 auto; padding: 20px 0; 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: stretch; -ms-flex-align: stretch; align-items: stretch; -ms-flex-line-pack: stretch; align-content: stretch; }

footer #foot_box #footid { width: 120px; }

footer #foot_box .box { 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: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-line-pack: start; align-content: flex-start; }

footer #foot_box .box .dl_box { width: calc(100% - 150px); }

footer #foot_box .box .dl_box .text { margin: 0 0 10px; display: block; }

footer #foot_box .box .dl_box dl { 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: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-line-pack: start; align-content: flex-start; }

footer #foot_box .box .dl_box dl dt { width: 50px; margin: 0 0 10px; }

footer #foot_box .box .dl_box dl dd { width: calc(100% - 60px); margin: 0 0 10px; }

footer #foot_box .box.box1 { width: 100%; max-width: 520px; }

footer #foot_box .box.box2 { width: 100%; max-width: calc(100% - 520px); -ms-flex-line-pack: justify; align-content: space-between; }

footer #foot_box .box small { width: 100%; text-align: right; }

#top { width: 100%; height: 100vh; 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: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-line-pack: start; align-content: flex-start; }

#top #mainimg { width: calc(100% - 400px); height: 100%; }

#top #mainimg ul, #top #mainimg li, #top #mainimg img { width: 100%; height: 100%; }

#top #mainimg img { -o-object-fit: cover; object-fit: cover; font-family: 'object-fit: cover;'; }

#top #mainimg .slick-slider .slick-list { height: 100%; }

#top #mainimg .slick-slider .slick-list .slick-track { height: 100%; }

#top #rightmenu { width: 100%; max-width: 400px; padding: 15vh 50px; height: 100%; background: #f4d600; font-size: 18px; font-size: 18px; }

#top #rightmenu h1 { margin: 0 0 20px; text-align: center; }

#top #rightmenu span { margin: 0 0 100px; display: block; text-align: center; }

#top #rightmenu #info li { margin: 0 0 20px; padding: 0 0 0 10px; font-size: 18px; line-height: 180%; }

#top #rightmenu .icon, #top #rightmenu #icon { padding: 0 0 0 10px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

#top #rightmenu .icon li, #top #rightmenu #icon li { margin: 0 10px 0 0; }

#top #rightmenu .icon li a, #top #rightmenu #icon li a { display: inline-block; }

#top #rightmenu #map a { border: 1px #000 solid; padding: 3px 5px; display: inline-block; }

#top #rightmenu .map a { border: 1px #000 solid; padding: 3px 5px; display: inline-block; }

#contmain { width: 100%; overflow: initial; }

#contmain .container { margin: 0 auto; padding: 190px 10px; }

#contmain .container h1 { text-align: center; margin: 0 0 60px; }

#contmain .container .contbox { width: 100%; max-width: 980px; margin: 0 auto; position: relative; }

#contmain .container .contbox .flow_img { position: absolute; }

#contmain .container .photo_list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-line-pack: start; align-content: flex-start; }

#contmain #about { background: #0c4676; color: #fff; }

#contmain #about .flow_img { top: -270px; right: -350px; }

#contmain #about h1 { width: 100%; max-width: 980px; margin: 0 auto 60px; text-align: left; }

#contmain #about .flex { 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: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-line-pack: start; align-content: flex-start; }

#contmain #about .flex .text { width: 100%; max-width: 490px; line-height: 180%; }

#contmain #about .photo_list.contbox { margin: 0 auto 90px; }

#contmain #about .photo_list li { margin: 0 8px 0 0; }

#contmain #about .photo_list li.box { width: calc(100% - (464px + 8px)); margin: 0%; }

#contmain #about .photo_list li ul { width: 100%; }

#contmain #about .photo_list li li { width: calc((100% - 8px) / 2); margin: 0 8px 8px 0; }

#contmain #about .photo_list li li:nth-of-type(2n) { margin: 0 0 8px; }

#contmain #about #feature h2 { text-align: center; margin: 0 0 50px; font-size: 24px; letter-spacing: 0.1em; }

#contmain #about #feature .copy { font-size: 24px; margin: 0 0 45px; padding: 45px 0 0; line-height: 140%; }

#contmain #about #feature .box { 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: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-line-pack: start; align-content: flex-start; margin: 0 0 45px; }

#contmain #about #feature .box li { width: 100%; max-width: 430px; }

#contmain #about #feature ul.box { margin: 0; }

#contmain #service { background: #f8e000; }

#contmain #service .flow_img { top: -500px; left: -350px; }

#contmain #service p.text { margin: 0 0  30px; text-align: center; }

#contmain #service #service_list { 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: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-line-pack: start; align-content: flex-start; }

#contmain #service #service_list li { width: calc((100% - 110px) / 2); margin: 0 0 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: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-line-pack: start; align-content: flex-start; }

#contmain #service #service_list li .text { width: calc(100% - 120px); }

#contmain #service #service_list li .text h2 { font-size: 18px; }

#contmain #menu { background: #0c4676; color: #fff; }

#contmain #menu .flow_img { top: -500px; right: -350px; }

#contmain #menu .name { font-size: 24px; margin: 0 0 20px; }

#contmain #menu .name .price { margin: 0 0 0 10px; display: inline-block; }

#contmain #menu #cake_menu { margin: 0 auto 50px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-line-pack: start; align-content: flex-start; }

#contmain #menu #cake_menu li { margin: 0 60px 30px 0; }

#contmain #menu #cake_menu li:first-of-type { width: 100%; margin: 0 0 30px; }

#contmain #menu .menu_box { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; -ms-flex-line-pack: stretch; align-content: stretch; }

#contmain #menu .menu_box .name { font-size: 16px; }

#contmain #menu .menu_box li { width: 100%; max-width: calc(100% / 4); margin: 0 0 120px; padding: 0 10px; -webkit-box-sizing: border-box; box-sizing: border-box; border: 1px solid #fff; border-width: 0 1px 0 0; text-align: center; }

#contmain #menu .menu_box li:nth-of-type(4n) { border: none; }

#contmain #menu .menu_box li li { max-width: none; border: none; margin: 0 0 20px; }

#contmain #menu .menu_box li li .price { margin: 5px 0 0; display: block; text-align: center; }

#contmain #menu #cake_menu .flow_img2, #contmain #menu .menu_box .flow_img2 { width: auto; max-width: none; margin: auto; padding: 0; top: 50px; left: -200px; position: absolute; border: none; }

#contmain #menu #cake_menu .flow_img2 img, #contmain #menu .menu_box .flow_img2 img { display: block; margin: 0 auto 10px; }

#contmain #instagram { background: #f8e000; }

#contmain #instagram .flow_img { top: -500px; left: -350px; }

#contmain #instagram .btn_insta { text-align: center; }

#contmain #instagram .btn_insta a { display: inline-block; border-radius: 15px; -webkit-box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.6); box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.6); }

#contmain #instagram .btn_insta a:hover { opacity: 0.8; }

#contmain #instagram .btn_insta a:active { -webkit-box-shadow: none; box-shadow: none; box-shadow: none; }

/* sp ----------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 768px) { .pc { display: none; }
  .sp { display: block; }
  @-webkit-keyframes border1 { 2% { border-width: 2px 0 0; }
    100% { -webkit-transform: rotate(-45deg); transform: rotate(-45deg);
      -webkit-transform-origin: top right;
              transform-origin: top right;
      border-width: 2px 0 0;
      top: 8px; } }
  @keyframes border1 { 2% { border-width: 2px 0 0; }
    100% { -webkit-transform: rotate(-45deg); transform: rotate(-45deg);
      -webkit-transform-origin: top right;
              transform-origin: top right;
      border-width: 2px 0 0;
      top: 8px; } }
  @-webkit-keyframes border2 { 2% { }
    100% { -webkit-transform: rotate(45deg); transform: rotate(45deg);
      -webkit-transform-origin: bottom right;
              transform-origin: bottom right; } }
  @keyframes border2 { 2% { }
    100% { -webkit-transform: rotate(45deg); transform: rotate(45deg);
      -webkit-transform-origin: bottom right;
              transform-origin: bottom right; } }
  /*三本線*/
  #btn { width: 28px; z-index: 1100; color: #fff; border-bottom: 3px solid #444; -webkit-transition: .2s; transition: .2s; position: fixed; top: 13px; right: 10px; }
  #btn button { width: 28px; height: 31px; margin: 0; display: block; overflow: hidden; z-index: 1000; border: none; color: #fff; font-size: 12px; text-align: center; text-indent: -99em; background: #fff; }
  #btn button:before { content: ""; width: 28px; height: 10px; margin: auto; border: 3px solid #444; border-width: 3px 0; display: inline-block; -webkit-box-sizing: border-box; box-sizing: border-box; position: absolute; top: 10px; left: 0px; right: 0; left: 0; }
  #btn button:after { content: ""; width: 28px; height: 8px; margin: auto; border: 3px solid #444; border-width: 0 0 3px; display: inline-block; -webkit-box-sizing: border-box; box-sizing: border-box; position: absolute; top: 19px; left: 0px; right: 0; }
  .btn_link span { background-size: contain; }
  .hidden #btn { border: none; }
  .hidden #btn button:before { -webkit-animation: border1 .2s ease-out forwards; animation: border1 .2s ease-out forwards; left: -8px; border: 2px solid #fff; }
  .hidden #btn button:after { -webkit-animation: border2 .2s ease-out forwards; animation: border2 .2s ease-out forwards; left: -9px; top: 22px; border: 2px solid #fff; border-width: 0 0 2px; }
  header.hidden #head_box nav #global { top: 0; opacity: 1; }
  header { padding: 0; }
  header #btn { display: block; background: none; }
  header #btn button { position: relative; top: 0; right: 0; background: none; }
  header #head_box { margin: auto; position: relative; top: 0; left: 0; right: 0; z-index: 1010; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
  header #head_box nav #global { padding: 150px 20px 0; width: 100%; height: 100vh; display: block; position: fixed; top: 0; right: 0; background: #f4d600; opacity: 0; top: -100vh; -webkit-transition: .2s; transition: .2s; }
  header #head_box nav #global li { margin: 0 0 20px; height: auto; }
  header #head_box nav #global li a { font-size: 18px; display: block; text-align: center; }
  header #head_box nav #sns { margin: 0 30px 0 0; }
  #global li { text-align: center; margin: 0 0 20px; font-size: 16px; line-height: 180%; }
  header #head_box nav #global .icon { padding: 0 0 0 10px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  header #head_box nav #global .icon li { margin: 0 10px 0 0; }
  header #head_box nav #global .icon li a { display: inline-block; }
  header #head_box nav #global .icon .map a { border: 1px #000 solid; padding: 3px 5px; display: inline-block; }
  .text { font-size: 14px; }
  #top { height: auto; }
  #top #mainimg { width: 100%; height: 70vh; -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
  #top #rightmenu { height: auto; max-width: none; -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; padding: 20px; 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: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-line-pack: start; align-content: flex-start; }
  #top #rightmenu .box { width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-line-pack: center; align-content: center; }
  #top #rightmenu .box h1 { width: 30%; margin: 0 20px 0 0; }
  #top #rightmenu .box h1 img { width: 100%; }
  #top #rightmenu .box .tel { font-size: 20px; }
  #top #rightmenu span { margin: 0 0 10px; font-size: 12px; display: none; }
  #top #rightmenu #info { display: none; }
  #top #rightmenu #icon { display: none; }
  footer nav { margin: 0 0 10px; }
  footer nav ul { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  footer #foot_box { padding: 10px; }
  footer #foot_box .box.box1, footer #foot_box .box.box2 { width: 100%; max-width: none; }
  footer #foot_box .box small { text-align: center; }
  #contmain { overflow: initial; }
  #contmain .container { padding: 80px 20px; }
  #contmain .flow_img { width: 30%; }
  #contmain #about h1 { text-align: center; }
  #contmain #about .flex .text { max-width: none; margin: 0 0 30px; }
  #contmain #about .flex .img_box { width: 100%; display: block; text-align: center; }
  #contmain #about .flex .mapbox { position: relative; }
  #contmain #about .flex .mapbox .flow_img { width: 40%; top: -30px; right: -50px; }
  #contmain #about .photo_list li { width: 100%; margin: 0 0 7px; text-align: center; }
  #contmain #about .photo_list li.box { width: 100%; max-width: 464px; margin: 0 auto; }
  #contmain #about .photo_list li.box ul { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  #contmain #about #feature .box .copy { font-size: 18px; margin: 0 0 20px; padding: 20px 0 0; font-weight: bold; }
  #contmain #about #feature .box.photobox .text { width: 100%; }
  #contmain #about #feature .box li { margin: 0 0 45px; }
  #contmain #service .flow_img { width: 40%; top: -280px; left: 0; }
  #contmain #service #service_list li { width: 100%; }
  #contmain #service #service_list li .img_box { width: 100px; text-align: center; }
  #contmain #service #service_list li .text h2 { margin: 0 0 10px; }
  #contmain #menu #cake_menu li { width: 100%; margin: 0 0 30px; }
  #contmain #menu #cake_menu li .name { margin: 0 0 10px; text-align: center; font-size: 18px; }
  #contmain #menu #cake_menu li .text { text-align: center; }
  #contmain #menu #cake_menu li.flow_img { width: 40%; top: -250px; right: 0; }
  #contmain #menu .menu_box li:nth-of-type(4n) { border: 1px solid #fff; border-width: 0 0 1px; }
  #contmain #menu .menu_box li { margin: 0 0 40px; padding: 0 0 20px; max-width: none; border-width: 0 0 1px; }
  #contmain #menu .menu_box li ul { 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: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-line-pack: start; align-content: flex-start; }
  #contmain #menu .menu_box li ul li { width: 50%; margin: 0 0 20px; padding: 0; border: none; }
  #contmain #menu .menu_box li ul li:nth-of-type(4n) { border: none; }
  #contmain #menu .text.center { font-size: 14px; }
  #contmain #instagram .flow_img { top: -250px; left: 0; }
  #contmain #instagram .btn_insta { text-align: center; }
  #contmain #instagram .btn_insta a { width: 60%; }
  #contmain #instagram .btn_insta a img { max-width: 100%; }
  footer #foot_head { height: 100px; }
  footer #foot_box { padding: 30px 10px; }
  footer #foot_box #footid { margin: 0 auto 20px; }
  footer #foot_box .box { width: 60%; margin: 0 auto; display: block; }
  footer #foot_box .box .dl_box { width: 80%; margin: 0 auto 30px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  footer #foot_box .box .dl_box .text { text-align: center; margin: 0 0 20px; }
  footer #foot_box .box .dl_box dt { font-weight: bold; }
  footer #foot_box .box .dl_box dd { width: calc(100% - 60px); margin: 0 0 10px; }
  footer nav ul li { width: 20%; }
  footer nav ul li a { padding: 0 10px; } }
/*# sourceMappingURL=base.css.map */