@import url(//fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,600,700&display=swap&subset=japanese);
@import url(//fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600&display=swap);
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@500;700&display=swap');

* {
  font-style:normal;
  text-align:left;
}

.pc {display:block;}
.tb {display:none;}
.mb {display:none;}

@media screen and (min-width:768px) and (max-width: 1024px) {
.pc {display:none;}
.tb {display:block;}
.mb {display:none;}
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
}

article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display:block;
}

ul,ol,li {
  list-style: none;
  zoom: normal;
}

input, select {
  vertical-align: middle;
}

.clear {
  clear: both;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
    visibility:hidden;
}

.clearfix {
    *zoom: 1;
}

.imgfit {
    width: 100%;
    height: 100%;
    text-align:center;
    overflow:hidden;
    position: relative;
}

.imgfit img {
    position: relative;
    width: 100%;
    height: auto;
}

/* -----------------------------------
	style
 ----------------------------------- */

body {
    position: relative;
    height: auto !important;
    background-color: #FFF;
    color: #333;
    font-family: "Noto Sans JP",sans-serif;
    font-size: 1.5rem;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overflow: hidden;
}

h1 {
    font-size: 36px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429));/* 24px~36pxで可変*/
    line-height: 1.3;
}
h2 {
    font-size: 24px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143));/* 20px~24pxで可変*/
    line-height: 1.3;
}
@media (min-width: 1200px) {/* 1200px以上*/
    h1 {
        font-size: 3.6rem;/* 36px*/
    }
    h2 {
        font-size: 2.4rem;/* 24px*/
    }
}
@media screen and (max-width: 640px) {/* 640px以下*/
    body{
    line-height: 1.6;
    }
    h1{
        font-size: 2.4rem;/* 24px*/
    }
    h2 {
        font-size: 2rem;/* 20px*/
    }
}

figure {
    margin: 0;
    text-align: center;
}

a {
    color: #333;
    text-decoration: underline;
}

a:hover {
    color: #1952A0;
    text-decoration: none;
}

img {
    vertical-align: bottom;
	backface-visibility: hidden;
}

.hover-alpha:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
}

main {
    overflow: hidden;
}

@media (max-width: 768px) {
  .tile > * {
    height: auto !important;
  }
}

.col dl p {
    line-height: 1.4;
    margin: 0;
}

.col p {
    line-height: 1.8;
}

/* -----------------------------------
	header
----------------------------------- */

.cd-main-header {
    position: fixed;
    top: 0;
    width: 100%;
}

@media only screen and (min-width: 1154px){
.cd-primary-nav .cd-secondary-nav, .cd-primary-nav .cd-nav-gallery, .cd-primary-nav .cd-nav-icons { padding: 40px 64px 40px;}
.cd-nav a { color: #0077BD;}
.cd-nav a:hover { color: #FFF;}
.cd-primary-nav .cd-secondary-nav > li > a { color: #0077BD; text-align:left;}
}

@media only screen and (max-width: 767px){
  .fix-header { height:50px;}
}

/* -----------------------------------
	fix-sns
----------------------------------- */

.fix_snslink {
	position: fixed;
	top: 50%;
	right: 0;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0 0 0 5px;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	z-index:9999999;
	pointer-events: none;
}

.fix_snslink .cp_link_list {
	width: 150px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fix_snslink .cp_link_list .cp_link {
	pointer-events: auto;
	position: relative;
	right: -110px;
	margin: 10px 0;
	padding: 5px 6px 6px 6px;
	font-size: 1.5rem;
	cursor: pointer;
	-webkit-transition: right 0.6s ease-in-out;
	        transition: right 0.6s ease-in-out;
	text-align: left;
	background: #18519F;
	-webkit-box-shadow: 0px 0px 0px 3px #18519F;
	box-shadow: 0px 0px 0px 3px #18519F;
}

.fix_snslink .cp_link_list .cp_link:hover {
	right: 0;
	background: #18A7E8;
	-webkit-box-shadow: 0px 0px 0px 3px #18A7E8;
	box-shadow: 0px 0px 0px 3px #18A7E8;
}

.fix_snslink .cp_link_list .cp_link a {
	display:block;
	text-decoration: none;
	color: #ffffff;
}

.fix_snslink .cp_link_list .cp_link span {
	vertical-align: middle;
}

.fix_snslink .cp_link i {
	margin-right: 10px;
	-webkit-transform: rotate(0deg);
	        transform: rotate(0deg);
	color: #ffffff;
	vertical-align: top;
}

.fix_snslink .cp_link .fab,
.fix_snslink .cp_link .fas {
	font-size: 2.3rem;
}

.fix_snslink .cp_link:hover i {
	-webkit-transition: all 1s;
	        transition: all 1s;
	-webkit-transform: rotate(360deg);
	        transform: rotate(360deg);
}

@media screen and (max-width: 1024px) {
.fix_snslink { display:none;}
}

/* -----------------------------------
	breadcrumb
----------------------------------- */

.breadcrumb {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin-bottom: 1.5em;
	padding: 1em 4em;
    box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.breadcrumb li {
    font-size:1.3rem;
    position: relative;
    margin-right: 28px;
    margin-bottom: 5px;
}
.breadcrumb li::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -16px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #333;
    border-right: 1px solid #333;
}
.breadcrumb li:first-child {
    margin-left: 0;
}
.breadcrumb li:last-child {
    margin-right: 0;
}
.breadcrumb li:last-child::before {
    display: none;
}

.breadcrumb li a{
    text-decoration: underline;
}
.breadcrumb li a:hover{
    text-decoration: none;
}

@media screen and (max-width:767px) {
/*.breadcrumb { overflow-x: scroll; flex-wrap: nowrap; margin-bottom:3rem;padding: 1rem 5%;} */
.breadcrumb { margin-bottom:3rem; padding: 1rem 5%;}
.breadcrumb li { white-space: nowrap; font-size: 1rem;}
.breadcrumb li::before { width: 5px; height: 5px;}
}

/* -----------------------------------
	ie_warning
----------------------------------- */

#ie_warning {
    background-color: #0066AA;
    padding:1.5em;
	z-index:4;
}
#ie_warning div	 {
    color:#FFF;
    margin-bottom:1em;
}
span#browser a {
    padding: 5px 15px;
    margin-right: 20px;
    background-color: #fff;
    color: #0066aa;
	font-weight:bold;
    text-decoration: none !important;
    letter-spacing: 1px;
}
span#browser a:hover {
    background-color: #FFCD42;
}

/* -----------------------------------
	container
----------------------------------- */

.wrap {
  overflow: hidden;
}

.container {
  width: 100%;
  margin: 3% auto;
}

  .shopinfo figure {
    max-width: 100%;
  }
  .shopinfo address {
    margin-bottom: 15px;
    text-align: left;
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1;
  }
  .shopinfo dl.dl-horizontal {
    margin: 10px 0;
  }
  .shopinfo dl.dl-horizontal dd {
    margin-bottom: 0.3em;
  }
  .shopinfo .span12 .map_container {
    padding-top: 50%;
  }
  .map_wide {
    padding-top: 420px;
  }

table {
    margin: 0 auto;
}

table td,
table th {
    padding: 0.7em 1em;
}

table th {
    text-align: center;
    font-weight: normal;
}

.table-default {
    width: 100%;
}

.table-default caption {
    margin-bottom: 0.5em;
    text-align: center;
    font-size: 20px;
    font-size: 2rem;
}

.table-default td,
.table-default th {
    border: 1px solid #0077bd;
}

.table-default th {
    background: rgba(0, 119, 189, 0.7);
    color: #fff;
}

.table-default td {
    background: transparent;
}

/* -----------------------------------
	共通
----------------------------------- */

.c-head {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto 35px auto;
    text-align: center;
}

.c-head_en {
    font-size: 60px;
    font-size: 6rem;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.1em;
	margin-bottom:.5rem;
    text-align: center;
}

.c-head_ja_l {
    font-size: 54px;
    font-size: 5.4rem;
	font-family: "Noto Sans JP",sans-serif;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.11em;
	margin-bottom:.9rem;
    text-align: center;
}

.c-head_ja {
	color:#18519F;
    font-size: 1.8rem;
	font-weight: 600;
	font-family: "Noto Sans JP",sans-serif;
    text-align: center;
}

.c-head_cution {
    font-size: 1.4rem;
	font-family: "Noto Sans JP",sans-serif;
	margin-top:1.5rem;
    text-align: center;
}

.c-head_en_small {
    font-size: 4rem;
}

.c-head_ja_small {
    font-size: 1.5rem;
	font-family: "Noto Sans JP",sans-serif;
}

.c_head_photo {
    height:330px;
    background: url(../../img/head_top.jpg) top center no-repeat;
    background-size:auto 330px;
    min-height: 330px;
	overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
}

@media screen and (max-width: 1204px) {
.c_head_photo { height: 240px; background-size: auto 240px; min-height: 240px;}
}
@media screen and (max-width: 768px) {
.c_head_photo { height: 180px; background-size: auto 180px; min-height: 180px;}
}

@media screen and (max-width: 559px) {
	.c-head { margin-bottom: 18px;}
    .c-head_en { font-size: 3.4rem; margin-bottom: .2rem;}
	.c-head_ja_l {font-size: 3rem; letter-spacing: 0.1em;}
    .c-head_ja { font-size: 1.4rem;}
    .c-head_en_small { font-size: 2.5rem; margin-bottom: 20px; text-align: left;}
    .c-head_ja_small { font-size: 1.2rem; margin-bottom: 20px; text-align: left;}
}

.pagetop {
  position: fixed;
  bottom: 2%;
  right: 2%;
  z-index: 100;
}

/* ボタン矢印*/
	
.add_arrow {
  display: block;
  position: relative;
}

.add_arrow:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 5%;
  margin: auto;
  width: 8px;
  height: 8px;
  border-top: 2px solid #0077bd;
  border-right: 2px solid #0077bd;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.add_arrow:hover:after {
  right: 3%;
}

.more {
  display: inline-block;
  margin: auto;
}

.more a {
  display: inline-block;
  letter-spacing: normal;
  border: 1px solid #0077bd;
  color: #0077bd;
  padding: 0.2em 2em;
  letter-spacing: 0.12em;
  line-height: 34px;
  text-align: center;
  text-decoration: none;
  font-size: 14px;
  font-size: 1.4rem;
}

  .effect01 {
    overflow: hidden;
    position: relative;
  }
  .effect01:before {
    content: '';
    position: absolute;
    display: block;
    width: 140%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: -1;
    background: #0077bd;
    opacity: 0.3;
    -webkit-transform: translateX(-120%) skewX(15deg);
            transform: translateX(-120%) skewX(15deg);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .effect01:hover {
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.3);
  }
  .effect01:hover:before {
    -webkit-transform: translateX(-15%) skewX(15deg);
            transform: translateX(-15%) skewX(15deg);
  }

.pagetop a {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  display: inline-block;
  position: relative;
  width: 50px;
  height: 50px;
  padding: 0;
  border-radius: 50%;
  background: rgba(0, 63, 150, 0.9);
}
.pagetop a:hover {
  background: rgba(0, 158, 231, 0.9);
}

.pagetop a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  -webkit-transform: translate(-50%, -20%) rotate(45deg);
          transform: translate(-50%, -20%) rotate(45deg);
  -webkit-transition: .2s;
  transition: .2s;
}

footer.high .pagetop {
  position: absolute;
  bottom: auto;
  right: 5%;
  top: 0;
  margin: 0;
  -webkit-transform: translateY(-50%);
          trbtnansform: translateY(-50%);
}

/* -----------------------------------
	button
----------------------------------- */

.btn {
	width: 50%;
	height: 50px;
	overflow: hidden;
    border-radius: 6px;
}
.btn a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	background-color: #18519F;
	color: #fff;
	font-size: 1.6rem;
	line-height: 50px;
	text-align: center;
	text-decoration: none;
	transition: 0.8s;
	z-index: 2;
}
.btn a:hover {
	background: #19A8E9;
}
.btn span{
	color: #FFF;
	position: relative;
	padding-right: 20px;
}
.btn span:after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
} 

@media screen and (max-width: 1024px) {
   .btn {width: 65%;}
}
@media screen and (max-width: 559px) {
   .btn {width: 100%;}
}

/* -----------------------------------
	animation01
----------------------------------- */

.animation01 {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: .3s;
  transition: .3s;
}

.animation01.animated {
  visibility: visible;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 1;
}

.animation02 {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: .3s;
  transition: .3s;
}

.animation02.animated {
  visibility: visible;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 1;
}

.animation03 {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: .3s;
  transition: .3s;
}

.animation03.animated {
  visibility: visible;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 1;
}

.animation04 {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: .3s;
  transition: .3s;
}

.animation04.animated {
  visibility: visible;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 1;
}

@media (min-width: 769px) {
  .pagetop a { width: 60px; height: 60px; }
}

@media (max-width: 768px) {
  table td, table th { padding: 0.7em .3em;}
}

/* -----------------------------------
	footer
----------------------------------- */

#footer-wave {
  width: 100%;
  height:150px;
  position: relative;
}

#footer-wave svg {
  height: 100vh;
  width: 100vw;
  position: absolute;
  top: 0;
  left: 0;
}

footer {
  position: relative;
  background: #0077BD;
}

footer .foot-logo {
  margin: 0 auto 3em auto;
  text-align:center;
}

footer .foot-logo img {
  width:28%;
  height:auto;
}

.foot-wrap {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  text-align:center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.foot-wrap .menu-left, .menu-center, .menu-right {
  width: 30%;
}

.foot-wrap h3 {
  color: #FFF;
  font-size: 18px;
  font-size: 1.8rem;
  border-bottom:1px solid #FFF;
  margin: 0 0 1em;
  padding-bottom: .4em;
  text-align:left;
}

.foot-wrap ul {
  margin-bottom:3em;
  line-height:30px;
}
.foot-wrap ul li {
  color: #fff;
  text-align: center;
}
.foot-wrap ul li h3 {
  border-bottom: 1px solid #FFF;
  color: #fff;
  text-align: left;
  padding: 6px 0;
}

.foot-wrap ul li h3:after{
  display: none;
}

.foot-wrap ul li {
    text-align:left;
}

.foot-wrap ul li::before { 
  content: "-";
  padding-right:6px;
}

.foot-wrap ul li a {
    text-decoration: none;
    color: #fff;
}

ul.f_shoplist{
    max-width: 1000px;
    margin: 0 auto 3em auto;
    text-align:center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

ul.f_shoplist li{
    background:#FFF;
    margin:0 2% 2% 0;
    padding:1em;
	width: 23%;
}

ul.f_shoplist li img {
    display: block;
    margin: auto;
}

footer small {
    color:#FFF;
    margin: 3em auto 0 auto;
    text-align:center;
}

footer .cmark {
    display: block;
    padding: 10px 0;
    border-top: 1px solid #FFF;
    width: 100%;
    margin: 0 auto;
    color: #FFF;
}
footer .cmark a{
    color: #FFF;
}

@media screen and (min-width:769px) and (max-width: 1024px) {
  .foot-wrap ul li span  {display:none;}
  ul.f_shoplist li {margin: 0 1% 2% 0;}
}

@media (max-width: 768px) {
  .foot-wrap .menu-left { width: 100%; margin-bottom:2em;}
  .foot-wrap .menu-left li { float:left; width:50%;}
  .foot-wrap .menu-center, .menu-right { width: 48%;}
  ul.f_shoplist li {margin: 0 2% 2% 0;}
  footer .cmark { font-size:1.2rem}
}

/*-----------------------------------------------
 __photo_fadein
-----------------------------------------------*/

.p_fadein {
  position: relative;
}
.p_fadein:before {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 2;
  transform: scale(1, 1);
  transform-origin: right top;
  transition: all .6s 1s cubic-bezier(.09,.68,.33,.98);
}
.p_fadein.scrollin:before {
  transform-origin: right top;
  transform: scale(0, 1);
}

/*-----------------------------------------------
 __margin_padding
-----------------------------------------------*/

.mt0{ margin:0 0 0 0 !important;}
.mt02{ margin-top:2px !important;}
.mt05{ margin-top:5px !important;}
.mt10{ margin-top:10px !important;}
.mt15{ margin-top:15px !important;}
.mt20{ margin-top:20px !important;}
.mt25{ margin-top:25px !important;}
.mt30{ margin-top:30px !important;}
.mt40{ margin-top:40px !important;}
.mt50{ margin-top:50px !important;}
.mt60{ margin-top:60px !important;}
.mt80{ margin-top:80px !important;}

.mb0 { margin-bottom: 0 !important;}
.mb05{ margin-bottom:5px !important;}
.mb08{ margin-bottom:8px !important;}
.mb10{ margin-bottom:10px !important;}
.mb15{ margin-bottom:15px !important;}
.mb20{ margin-bottom:20px !important;}
.mb25{ margin-bottom:25px !important;}
.mb30{ margin-bottom:30px !important;}
.mb40{ margin-bottom:40px !important;}
.mb50{ margin-bottom:50px !important;}
.mb60{ margin-bottom:60px !important;}
.mb70{ margin-bottom:70px !important;}
.mb80{ margin-bottom:80px !important;}

.pt0{ padding:0 0 0 0 !important;}
.pt05{ padding-top:5px !important;}
.pt10{ padding-top:10px !important;}
.pt15{ padding-top:15px !important;}
.pt20{ padding-top:20px !important;}
.pt30{ padding-top:30px !important;}
.pt33{ padding-top:33px !important;}
.pt40{ padding-top:40px !important;}

.pb05{ padding-bottom:5px !important;}
.pb10{ padding-bottom:10px !important;}
.pb20{ padding-bottom:20px !important;}
.pb30{ padding-bottom:30px !important;}
.pb40{ padding-bottom:40px !important;}

/*-----------------------------------------------
 __position
-----------------------------------------------*/

.center{ margin:0 auto; text-align:center;}
.left{ margin:0 auto; text-align:left;}
.right{ margin-right: 0; margin-left : auto; text-align:right;}

.flex-center_x{ display: flex; justify-content: center; }
.flex-center_y{ display: flex; align-items: center;}
.flex-center_all{ display: flex;justify-content: center; align-items: center;}

.cution{ padding-left: 1em; text-indent: -1em;}
.anchor { display: block; padding-top: 60px; margin-top: -60px;}

/*-----------------------------------------------
 __font
-----------------------------------------------*/

.bold{ font-weight:bold;}

.fs85{ font-size:85%;}
.fs90{ font-size:90%;}
.fs95{ font-size:95%;}
.fs110{ font-size:110%;}
.fs150{ font-size:150%;}
.fs240{ font-size:240%;}

.red { color:#FF0000;}
.blue { color:#0070C0;}	