@charset "UTF-8";

:root {
  --main-color: #66CBE5;
  --accent-color: #B2A83D;
  --dark-main-color: #358498;
  --text-bright-color: #fff;
  --icon-color: #fff;
  --icon-bk-color: #ddd;
  --gray-color: #ddd;
  --large-width: 1000px;
  --middle-width: 800px;
}
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
  overflow-y:scroll;
}
body {
  margin: 0;
  font-family:"Kiwi Maru","新丸ゴ R","游ゴシック","Yu Gothic","游ゴシック体","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #333;
  background: #108ccf;
}
header,
footer,
article,
aside,
main,
nav,
section,
figure {
  display: block;
}
a:active,
a:hover {
  outline: none;
}
a,a img {
  font: inherit;
  color: inherit;
  text-decoration: none;
  -moz-transition: 0.3s all ease;
  -o-transition: 0.3s all ease;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
a:active {
  background: transparent;
}
a:hover,a img:hover {
  color: #f29600;
  transition:all 0.5s ease;
  zoom:1;
}
a[href^="tel:"] {
  color: inherit;
  text-decoration: none;
}
a i {
  margin-right: .5em;
}
strong {
}
h1 {
  font-size: 2.8rem;
  color: rgba(0, 56, 147, .8);
  text-align: center;
}
h1 {
  font-size: 3.6rem;
  color: rgba(0, 56, 147, .8);
  text-align: center;
}
h3 {
  font-size: 2.4rem;
  margin: .5em 0 1em;
  color: #0e60cf;
}
h4 {
  font-size: 2rem;
}
h5 {
  font-size: 1.6rem;
}
h6 {
  font-size: 1.5rem;
  margin: .5em 0 .5em;
  color: #003893;
}
h1 {
  text-align: center;
}
h1,h2,h3,h4,h5,h6{
  font-weight: 500;
}
h1 span,
h2 span,
h3 span,
h4 span {
  display: inline-block;
}
h2 + p {
  margin-top: 1em;
  margin-bottom: 2em;
}
small {
  font-size: 80%;
}
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}
img {
  border: 0;
}
figure {
}

address{
  font-style:normal;
}

button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  -webkit-box-sizing : border-box ;
  -moz-box-sizing : border-box ;
  padding: 0;
}
textarea {
  overflow: auto;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
ul {
  padding: 0;
  list-style:none;
}
ol {
  padding: 1em;
}
img {
  max-width: 100%;
  height: auto;
}
.txt_center {
  text-align: center;
}
.txt_left {
  text-align: left;
}

/* 汎用スタイル */
.sec_title {
  color: #FFF;
  text-align: center;
}

/* ローディング */
#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #FFF;
  z-index: 99998;
}
#loader {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  text-align: center;
  color: #00498d;
  font-weight: 600;
  z-index: 9999;
}
#loader i {
  font-size: 3.6rem;
  color: #00498d;
}
#loader span {
  font-size: 1.2rem;
}

/* col_list */
.col_list li {
  border-bottom: #ddd 1px solid;
}
.col_list li:last-child {
  border-bottom: none;
}

/* .more_info */
.more_info.btn a {
  color: #fff;
  background: #eb5e19;
  border: 1px solid rgba(25, 56, 135, 1);
  border-radius: .3em;
  padding: 1em 1.8em;
  font-weight: 600;
  letter-spacing: .08em;
  display: inline-block;
  min-width: 7.2em;
}
.more_info.btn a:hover {
  color: #eb5e19;
  background: #fff;
  border: 1px solid rgba(25, 56, 135, .5);
}
.more_info.btn a[target="_blank"] {
  background: #4fa2e2;
  border: 1px solid rgba(79, 162, 226, 1);
}
.more_info.btn a:hover[target="_blank"] {
  color: #4fa2e2;
  background: #fff;
  border: 1px solid rgba(79, 162, 226, .5);
}
.more_info.btn.revs a[target="_blank"]  {
  color: #4fa2e2;
  background: #fff;
}
.more_info.btn.revs a:hover[target="_blank"]  {
  color: #fff;
  background: #4fa2e2;
}

.more_info.btn.wht a {
  color: #eb5e19;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 1);
}
.more_info.btn.wht a:hover {
  color: #fff;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .8);
}

.more_info.btn.sm a {
  font-size: 1.3rem;
}

h2 + .more_info.btn {
  margin-top: 2em;
}

/* header */
header {
  background: #ccc;
}
header:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
header h1 {
  text-align: center;
}
header .icon {
  position: fixed;
  top: 1em;
  right: 1em;
}
header .icon a {
  display: table;
  padding: 0;
  color: inherit;
  font-size: 1.8rem;
  text-decoration: none;
  border: solid 1px rgba(255, 255, 255, .5);
  width: 2em;
  line-height: 2em;
  border-radius: 50%;
  text-align: center;
}
header .icon a:hover {
  color:#fff;
}
header .icon a.contact {
  background: #55acee;
  border: #55acee solid 1px;
}
header .icon a.contact:hover {
  background: #1778f2;
  border: #1778f2 solid 1px;
}

/* header_icon */
header .header_icon {
  display: table;
  position: absolute;
  right: 1em;
  top: 25%;
}
header .header_icon {
}
header .header_icon img {
  width: 100%;
  height: auto;
  border-radius: 50%;
  -webkit-transition:all 0.25s ease-in-out;
  transition:all 0.25s ease-in-out;
}
header .header_icon:hover img {
  transform: scale(1.1,1.1);
  -webkit-transform: scale(1.1,1.1);
  -moz-transform: scale(1.1,1.1);
  -ms-transform: scale(1.1,1.1);
  -o-transform: scale(1.1,1.1);
  box-shadow: 0px 0px 0px 5px #ffd83d;
}

.hero.bg_campaign2020 {
  background: url('./images/bg_campaign2020.jpg') no-repeat top right;
  background-size: cover;
  margin-top: 64px;
  text-align: left;
  box-shadow: none;
}

/* topic_path */
.topic_path_wrap{
  background:#f4f1ed;
}
.topic_path li {
  display: inline-block;
  font-size: 1.5rem;
}
.topic_path li a {
  display: block;
  text-decoration: none;
  color: #eb5e19;
}
.topic_path li a:hover {
  color: #f29600;
}
.topic_path li a:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  color: rgba(0, 56, 147, .6);
  display: inline-block;
  margin: 0 .4em 0 1em;
}

/* nav */
nav ul {
  margin: 0;
  padding: 0;
}
nav.header_nav li,
nav.sub_nav li {
  font-weight: 600;
}
nav.sub_nav {
  border-bottom: #ddd 1px solid;
  padding: 0;
  text-align: center;
  background: rgba(0,0,0,.06);
  margin-bottom: 4em;
  background: #003b93;
  background: -moz-linear-gradient(left, #003b93 1%, #317eba 100%);
  background: -webkit-linear-gradient(left, #003b93 1%,#317eba 100%);
  background: linear-gradient(to right, #003b93 1%,#317eba 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#003b93', endColorstr='#317eba',GradientType=1 );
  color: #fff;
}
nav.sub_nav li a {
  display: block;
}
nav.sub_nav li a:hover {
  background: #f29600;
  color: #fff;
  opacity: 1;
}

/* contents */
main { min-height: 100vh; }
.container { margin: 0 auto; }
.container + .container,
h1 + .container {
  margin-top: 4em;
}
.container:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
article {}
aside {}
section {}
section section {
  margin-bottom: 0;
}

/* footer */
#index footer {
  background: rgba(0, 56, 147, 1);
}
footer {
background: #108ccf;
  text-align: center;
  color: #fff;
}
footer figure {
  max-width: 420px;
  width: 80%;
  margin: 0 auto;
}
footer figure img {
  width: 100%;
}
footer p strong,
footer p span {
  display: inline-block;
  font-weight: 500;
  line-height: 1.6em;
}
footer .copy {
  font-size: 1.3rem;
  margin-top: 2em;
}

/* hero */
.hero {
  position: relative;
  overflow: hidden;
  background: url("./images/hero_bg.webp") no-repeat scroll bottom center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  text-align: center;
}
.hero .container{
  position: relative;
}

.hero h1 {
  position: relative;
  z-index: 10;
  margin: 0;
  padding: 0;

}
.hero h1 + p {
  position: relative;
  z-index: 1;
  padding: 0;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  background:#fff;
  padding:1em;
}
@media screen and (min-width: 991px) {
  .hero h1 + p {
  font-size:150%;
  }
}
.hero h1 + p span {
  display: inline-block;
}
.hero h1{
}
.hero h2 {
  font-size:150%;
  margin: 0em;
  padding:.3em .8em;
  font-weight: 500;
  color: #003893;
  background:#fffc60;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
@media screen and (min-width: 991px) {
  .hero h2 {
  font-size:200%;
  }
  .hero h2 + p {
  font-size:135%;
  }
}

/* category_list */
.category_list ul {
  display: flex;
  flex-wrap: wrap;
  margin: 1em auto 0;
  padding: 0;
  list-style-type: none;
  max-width: 960px;
}
.category_list ul li {
  box-sizing: border-box;
  -webkit-box-sizing : border-box ;
  -moz-box-sizing : border-box ;
  text-align: center;
}

/* photo_list */
.photo_list { margin-top: 3em;}
h3 + .photo_list { margin-top: 1em;}
.photo_list + p { margin-top: 0em;}

/* icon_box */
.icon_box .icon {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 65px;
  height: 65px;
  line-height: 65px;
  font-size: 3rem;
  color: #fff;
  background: #e85377;
  border-radius: 50%;
}

/* inq_box */
.inq_box {
  position: relative;
  border: 2px solid #ddd;
  padding: .6em 1em .6em 1em;
  margin: 1em auto 1em;
  text-align: center;
}
.inq_box ul li {
  display: inline-block;
  margin: .5em 1em;
}
.inq_box ul li a {
  font-size: 2rem;
  color: #003893;
}
.inq_box ul li a:hover {
  color: #f29600;
}

/* sns_box */
.sns_box {
  text-align: center;
}
.sns_box:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
.sns_box iframe {
  border: 1px solid #ddd !important;
}

/* fb_box */
.fb_box {
  text-align: center;
  margin-bottom: 1em;}
@media screen and (min-width: 1199px) {
  .fb-page-parent > .fb-page {
  width: 300px;}
}
@media screen and (min-width: 991px) {
  .fb-page-parent > .fb-page {
  width: 230px;}
}
@media screen and (min-width: 767px) {
  .fb-page-parent > .fb-page {
  width: 100%;}
}
@media screen and (min-width: 480px) {
  .fb_box {
  text-align: center;
  padding: 0 0em;
  margin-bottom: 1em;}
}
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{
  width: 100% !important;
  max-width: 500px;
}

/*riyou 
*/

.info_table{
  color: #FFF;
}
.info_table th,
.info_table td{
  padding: .5em;
}
.info_table th{
  vertical-align: top;
  font-weight: 500;
}
.info_table th strong{
  display: block;
  background: #FF001F;
  padding: .5em;
  color: #FFFF00;
  font-weight: 500;
}
.info_table th span{
  display: block;
  padding: .5em;
  border: solid 1px #FFF;
  font-weight: 500;
}

.info_table td time{
  color: #fffc00;
  font-family: "新ゴ M",sans-serif;
}

.caution_list{
}
.caution_list li{
  text-indent: -1em;
  padding-left: 1em;
}
.caution_list li:before{
  content:"※";
}
.caution_list li + li{
  margin-top:.5em;
}

.info_table address{
  display: block;
}

.info_place{
}

/*リボン見出し*/
.ribbon_wrap {
  position: relative;
  margin-top: 2em; }
  .ribbon_wrap .ribbon_bg {
  display: table;
  position: relative;
  margin: 0 auto 2em; }
  .ribbon_wrap .ribbon_bg::before {
    content: '';
    position: absolute;
    width: 20px;
    bottom: -10px;
    left: -25px;
    z-index: 1;
_border: 20px solid #ffafaf;
    border: 20px solid #cb5567;
    border-left-color: transparent;
    border-width: 24px 10px 24px; }
  .ribbon_wrap .ribbon_bg::after {
    content: '';
    position: absolute;
    width: 20px;
    bottom: -10px;
    right: -25px;
    z-index: 1;
_border: 20px solid #ffafaf;
    border: 20px solid #cb5567;
    border-right-color: transparent;
    border-width: 24px 10px 24px; }
  .ribbon_wrap .ribbon_bg .ribbon_title {
    font-family: "新ゴ M",sans-serif;
    display: inline-block;
    position: relative;
    margin: 0 auto;
    padding: 8px 20px 12px;
    min-width: 8em;
    line-height: 40px;
    font-size: 150%;
    font-weight: normal;
    color: #fff;
_background: #ff9b9b;
    background:#e8546b;
    box-sizing: border-box;
    z-index: 2;
    box-shadow: 0px 4px 4px rgb(0 0 0 / 30%);
    letter-spacing:.1em;}
.ribbon_wrap .ribbon_bg .ribbon_title span{
    display:inline-block;
    padding: 0.5em 0 0;
    line-height: 1.4em;}
    .ribbon_wrap .ribbon_bg .ribbon_title::before {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 10px transparent;
    border-right: solid 15px #d57777; }
    .ribbon_wrap .ribbon_bg .ribbon_title::after {
    position: absolute;
    content: '';
    top: 100%;
    right: 0;
    border: none;
    border-bottom: solid 10px transparent;
    border-left: solid 15px #d57777; }

.ribbon_wrap.pink .ribbon_bg .ribbon_title {
  background: #e2728f; }
  .ribbon_wrap.pink .ribbon_bg .ribbon_title::before {
  border-bottom: solid 10px transparent;
  border-right: solid 15px #d73d64; }
  .ribbon_wrap.pink .ribbon_bg .ribbon_title::after {
  border-bottom: solid 10px transparent;
  border-left: solid 15px #d73d64; }


.terms_list h5 {
  color: #fff;
  background: #c6305f;
  margin: 3em auto 1em;
  padding: .5em;
}
.terms_list h6 {
  margin-top: 2em;
}
.terms_list h6 + ul {
  margin-bottom: 2em;
}

/*利用店舗一覧*/
#sec_shop{
  padding: 3em 0;
  background-size: auto auto;
_background-color: rgba(218, 255, 254, 1);
_background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(193, 255, 251, 1) 10px, rgba(193, 255, 251, 1) 20px );  
  background-color:rgba(177,228,254,1);
  background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(206,238,255,1) 10px, rgba(206, 238, 255, 1) 20px );
}

#sec_shop h2{
  color: #00498d;  
  text-align: center;
}
#sec_shop table{
  background: #FFF;
}
#sec_shop table th,
#sec_shop table td{
  padding: 1em;
  border-bottom: dashed 1px #CCC;
  text-align: left;
}
#sec_shop table th{
  color: #00498d;  
}

#sec_shop table td a,
#sec_shop table td i{
  font-size:90%;
}

.shop_table_wrap{
  display:flex;
  justify-content: center;
  padding: 1em;
}

/*プレミアム商品券ご利用上の注意*/
.use_caution{
  background: #FFF;
  padding: 2em;
  margin: 0 1em;
  border-radius: 10px;
}

.use_caution h2{
  font-size: 2rem;
  text-align: center;
}
.use_caution h2::before{
  content:"[ "
}
.use_caution h2::after{
  content: " ]"
}

.use_caution h3{
  font-size: 1.8rem;
  text-align: center;
color:#fff;
background:#0e60cf;
padding:.5em;
border-radius:.5em;
margin-top:2em;
}
.use_caution h3::before{
  content:"- "
}
.use_caution h3::after{
  content: " -"
}

.use_caution ul{
  list-style: disc;
  padding: 0 1em;
}
.use_caution ul li + li{
margin-top:.5em;
}
.use_caution ol{
  padding: 0 1em;
color: #0e60cf;
}
.use_caution ol li + li{
margin-top:.5em;
}

/* 店舗一覧 */
.shop_list ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style-type:none;
}
.shop_list ul li {
  box-sizing: border-box;
  -webkit-box-sizing : border-box;
  -moz-box-sizing : border-box;
  flex-grow:0;
  flex-shrink:0;
  position: relative;
  padding: 0;
  margin: 1%;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
counter-increment: step-counter;
}
.shop_list ul li:before {
  content: counter(step-counter,decimal-leading-zero);
  background: #0e60cf;
  color: #fffc00;
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  width: 3rem;
  height: 3rem;
  position: absolute;
  left: -0.2em;
  z-index: 1;
  padding: 0.2em;
  border-radius:100%;
  top:-.5em;
  line-height:1.2em;
}
.shop_list ul li div.shop_tag{
  display: inline-block;
  padding: 0;
  margin: 0;
  width: 100%;
  background: #fff000;
}
.shop_list ul li div.shop_tag ul li:before {
  content:none;
}
.shop_list ul li div.shop_tag ul li {
  display: inline-block;
  box-sizing: inherit;
  -webkit-box-sizing : inherit;
  -moz-box-sizing : inherit;
  flex: none;
  flex-basis: auto;
  max-width: none;
  color: #d34b3c;
  padding: 0 .5em;
  margin: 0;
  margin-bottom: .5em;
  background: #fff000;
  border: 1px solid #d34b3c;
  margin-top: 2em;
  counter-increment:none;
}
.shop_list ul li div.shop_tag ul li + li {
  margin-left: .5em;
}
.shop_list ul li div.shop_wrap {
  background: #f3f3e7;
_box-shadow: 0px 2px 5px rgb(0 0 0 / 30%);
  box-shadow: 3px 3px 1px rgb(0 0 0 / 15%);
  border-radius: 10px;
}
.shop_list ul li div.shop_img {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  list-style-type:none;
  justify-content: center;
}
.shop_list ul li div.shop_img img {
  box-sizing: border-box;
  -webkit-box-sizing : border-box;
  -moz-box-sizing : border-box;
  align-self: flex-start;
  flex-grow:0;
  flex-shrink:0;
  text-align: center;
  border-radius:100%;
}
.shop_list ul li div.shop_detail{
  padding: 1em;
  padding-top: 2em;
  font-family: "新ゴ M",sans-serif;
  letter-spacing: .05em;
}
.shop_list ul li div.shop_detail .shop_category{
  color:#fff;
  font-size:84%;
_border: 1px solid #e8546b;
  padding: 0.3em 0.3em;
  line-height: 1;
  display: table;
  margin-bottom:.5em;
  background: #e8546b;
  border-radius: 0.3em;
}
.shop_list ul li div.shop_detail h3 {
  margin-top: 0;
  margin-bottom: 0;
}
.shop_list ul li div.shop_detail h3 + p {
  word-break: break-all;
}
.shop_list ul li div.shop_link {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  font-family: "新ゴ M",sans-serif;
}
.shop_list ul li div.shop_link p {
  margin: 0;
  padding: 1em;
  color: #707070;
}
.shop_list ul li div.shop_link ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  list-style-type:none;
overflow: hidden;
border-radius: 0 0 10px 10px;
}
.shop_list ul li div.shop_link ul li {
  box-sizing: border-box;
  -webkit-box-sizing : border-box;
  -moz-box-sizing : border-box;
  flex-grow:0;
  flex-shrink:0;
  margin: 0;
  padding: 0;
  text-align: center;
counter-increment:none;
}
.shop_list ul li div.shop_link ul li:before {
  content:none;
}
.shop_list ul li div.shop_link ul li a {
  display: block;
  padding:.5em;
  font-size: 90%;
}
.shop_list ul li div.shop_link ul li a:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: block;
}
.shop_list ul li div.shop_link ul li:nth-child(1) a {
  background:#87c1ed;
}
.shop_list ul li div.shop_link ul li:nth-child(1) a:before {
  content: "\f3c5";
}
.shop_list ul li div.shop_link ul li:nth-child(2) a {
  background: #f1b5b9;
}
.shop_list ul li div.shop_link ul li:nth-child(2) a:before {
  content: "\f2a0";
}
.shop_list ul li div.shop_link ul li a:hover {
  color: #fff8b0;
  background: #e8546b;
}

/*お問い合わせ*/
#sec_contact{
  color: #FFF;
}
#sec_contact dl{
}
#sec_contact dt{
  padding: 0;
}
#sec_contact dd{
  margin: 0;
  padding: 0;
  font-family: "新ゴ M",sans-serif;
}
#sec_contact p{
  text-align: center;
}
#sec_contact i{
  font-size:80%;
  margin:0 .2em 0 -1em;
}

/* map_box */
.map_box {}
