@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Acme&display=swap');
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, pre, address, em, img, small, strong, b, i, dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, tfoot, thead, tr, th, td, article, canvas, footer, header, menu, nav, section, time, audio, video {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
font-weight: normal;
vertical-align: baseline;
background: transparent;
}
* {
margin: 0;
padding: 0;
}
body {
line-height: 1;
font-family: YuGothic, "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-weight: 500;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #222;
line-height: 1.48;
font-size: 16px;
animation: bodyFadeIn 2s ease 0s 1 normal;
-webkit-animation: bodyFadeIn 2s ease 0s 1 normal;
}
@keyframes bodyFadeIn {
0% {
  opacity: 0
}
100% {
  opacity: 1
}
}
@-webkit-keyframes bodyFadeIn {
0% {
  opacity: 0
}
100% {
  opacity: 1
}
}
article, footer, header, menu, nav, section {
display: block;
}
ul,ol {
list-style: none;
}
a {
margin: 0;
padding: 0;
text-decoration: none;
vertical-align: baseline;
background: transparent;
color: #222;
}
a:link {
-webkit-transition: background-color 2s ease-out;
-moz-transition: background-color 2s ease-out;
-o-transition: background-color 2s ease-out;
transition: background-color 2s ease-out;
}
a:link:hover {
filter:alpha(opacity=80);
-moz-opacity: 0.8;
opacity: 0.8;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
img {
max-width: 100%;
vertical-align: top;
height: auto;
}
hr {
display: block;
height: 1px;
margin: 0;
padding: 0;
border: 0;
outline: 0;
}
input, select {
vertical-align: middle;
}
.acme{font-family: 'Acme', sans-serif;}
@media screen and (max-width: 780px) {
body {
  font-size: 3.3vw;
}
}
@media screen and (max-width: 580px) {
body {
  font-size: 3.5vw;
}
}
/*//////////////////////////////
header
//////////////////////////////*/
#header{
border-top: #c5064b solid 6px;
}
.logoheader{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
justify-content:space-between;
align-items: center;
padding-left: 0.5em;
padding-right: 0.7em;
}
.logoheader ul li{
display: inline-block;
line-height: 1;
text-align: center;
vertical-align: middle;
padding: 1em 0 1em 1em;
}
.phone{font-family: 'Acme', sans-serif;
font-size: 1.57em;
font-weight:600; }
.time{font-size: 0.75em;
display: block;
padding-top: 0.5em;
text-align: right;
}
a.mail{
display: block;
padding: 0.6em 1em;
position: relative;
font-weight: 600;
font-size: 0.94em;
line-height: 1;
z-index: 1;
}
a.mail::before,
a.mail::after {
content: "";
height: 100%;
position: absolute;
width: 100%;
}
a.mail::before {
background-color: #fff;
border: #222 solid 1px;
left: 0;
top: 0;
z-index: -1;
}
a.mail::after {
background-color: #fff;
border: #222 solid 1px;
top: 5px;
left: 5px;
z-index: -2;
}
a.mail:hover{
color: #fff;
}
a.mail:hover::before {
background-color: #c5064b;
}
a.mail:hover::after {
background-color: #222;
}
@media screen and (max-width: 900px) {

}
@media screen and (max-width: 780px) {
#header{
border-top: none;
}
.logoheader{
   display:block;
  padding-top: 2.5vw;
  padding-bottom: 2vw;
  text-align: center;
}
}
@media screen and (max-width: 480px) {
.logoheader img{
  width: 46w;
}}
/*//////////////////////////////
google map
//////////////////////////////*/
.ggmap iframe{
-webkit-filter: grayscale(1);
filter: grayscale(1);
}
.ggmap {
position: relative;
padding-bottom: 35%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
@media screen and (max-width: 780px) {
.ggmap {
padding-bottom: 56.25%;
padding-top: 30px;
}
}
/*//////////////////////////////
nav
//////////////////////////////*/
.globalheader {
margin: 0.3em 0 0.5em;
}
.globalheader>ul {
display: table;
width: 100%;
}
.globalheader>ul>li{
display: table-cell;
text-align: center;
padding:0.5em 0;
border-top: #fff solid 3px;
box-sizing: border-box;
}
.globalheader>ul>li>a {
font-weight: 600;
display: block;
line-height:1;
border-left: #222 solid 1px;
padding:0.3em;
white-space:nowrap;
}
.globalheader>ul>li:first-child a{border-left:none;}
.globalheader>ul>li.active a {
background: #c5064b;
height: 20px;
color: #fff;
padding-right: 12px;
padding-left: 12px;
}
.globalheader>ul>li:hover {
border-top: #c5064b solid 3px;
box-sizing: border-box;
}
ul.second-level {
visibility: hidden;
opacity: 0;
z-index: 1;
}
.globalheader>ul li.single {
position: relative;
}
.globalheader>ul li.single ul.second-level {
position: absolute;
top: 40px;
width: 100%;
background:rgba(0,0,0,0.8);
-webkit-transition: all .2s ease;
transition: all .2s ease;
z-index: 999;
}
.globalheader>ul li.single ul.second-level li{
display: block !important;
}
.globalheader>ul li.single ul.second-level li a{
display: block;
padding: 0.5em;
border-bottom: #666 solid 1px;
color: #fff;
font-size: 0.94em;
}
.globalheader>ul li.single ul.second-level li:last-child a{border-bottom:none;}
.globalheader>ul li.single:hover ul.second-level {
top: 40px;
visibility: visible;
opacity: 1;
}
@media screen and (max-width: 1120px) {
.globalheader>ul li.active a {
  height: 20px;
  padding-right: 1vw;
  padding-left: 1vw;
}
}
#sp-menu{
position: fixed;
bottom: 0px;
left: 0px;
z-index: 100;
}
header button {
background: none;
border: none;
padding: 0;
cursor: pointer;
text-align: center;
outline: none;
color: #fff;
}
header button span.bar {
display: block;
width: 6.8vw;
height: 0.8vw;
background-color: #fff;
margin: 1.4vw auto 0;
transition: all 0.2s;
transform-origin: 0 0;
}
/*  メニューアクティブ時  */
header button.active span.bar {
width: 6.6vw;
}
header button.active .bar1 {
transform: rotate(45deg);
margin-left: 3.4vw;
}
header button.active .bar2 {
opacity: 0;
}
header button.active .bar3 {
transform: rotate(-45deg);
margin-top: 1.6vw;
margin-bottom: -0.2vw;
}
.spglobalheader {
display: none;
width: 100%;
position: fixed;
top: 0;
z-index: 50;
background-color: #fff;
height:90vh;
transition: all 0.5s;
transform: translateX(-100%);
background-color: #f5f5f5;
}
.spglobalheader.open {
transform: translateX(0);
}
.spglobalheader ul {
position: absolute;
padding: 0 10%;
width: 80%;
top: 40%;
transform: translateY(-40%);
-webkit-transform: translateY(-40%);
}
.spglobalheader ul li a {
display: block;
padding: 2.8vh 0;
text-align: center;
border-bottom: 1px solid #999;
}
@media screen and (max-width: 780px) {
#sp-menu{
text-align: center;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
width: 100%;
align-items: stretch;
background:#c5064b; 
}
#sp-menu li{flex: 1;
  font-size: 6.8vw;
  line-height: 1.2;
  padding: 1.4vw 0 1vw;
  border-right:rgba(255,255,255,0.3) solid 1px;
}
#sp-menu li.last{border-right:none;}
#sp-menu li a{
  color:#fff;
}
#sp-menu label{
  display:block;
  font-size: 3.2vw;
}
header button label{
  padding-top: 1.1vw;
} 
.spglobalheader {
  display: block;
}
}
/* /////////////////////////////
footer
///////////////////////////// */
.copyright {
text-align: center;
font-size: 0.75em;
padding: 2em 1em;
}
#footer {
padding: 3em 0;
background: #cd2762;
text-align: center;
}
#footer ul.main-nav{
display:block;}
#footer ul.main-nav li {
display: inline-block;
padding: 0 2% 0;
}
#footer ul.main-nav li a {
display:block;
font-size: 0.94em;
font-weight: 600;
color: #fff;
text-decoration: underline;
}
#footer ul.main-nav a:hover {
text-decoration:none;
}
#footer ul.sub-nav{
margin:1em auto 1em;}
#footer ul.sub-nav li {
display: inline-block;
color: #fff;
margin-right: 0.5em;
}
#footer ul.sub-nav a {
text-decoration:none;
font-size: 0.88em;
color: #fff;
padding-right: 0.5em;
}
#footer ul.sub-nav li:last-child {
margin-right: 0;
}
#footer ul.sub-nav li:last-child a{
padding-right: 0;
}
#footer ul.sub-nav a:hover {
text-decoration:underline;
}
#footer ul.sub-nav2{
margin-bottom: 2em;
}
#footer ul.sub-nav2 li {
display: inline-block;
padding:0 0.7em;
}
#footer ul.sub-nav2 a {
text-decoration:none;
font-size: 0.75em;
}
#footer ul.sub-nav2 a:hover {
text-decoration:underline;
}
#footer p.addr{
font-size: 0.88em;
line-height: 1.2;
padding: 0.75em 0 0.5em;
}
#footer p.addr span{
padding-right: 10px;
}
#footer p.tel{
font-size: 0.88em;
line-height: 1.2;
padding: 0 0 1.2em;
}
#footer p.tel a{
font-weight: 600;
}
#footer a.mail{
display:inline-block;
margin-left: auto;
margin-right: auto;
padding-left: 1.5em;
padding-right: 1.5em;
margin-bottom: 1.5em;
}
#footer a.mail::before {
background-color: #cd2762;
border: #222 solid 1px;
left: 0;
top: 0;
z-index: -1;
}
a.mail::after {
background-color: #222;
border: #222 solid 1px;
top: 5px;
left: 5px;
z-index: -2;
}
#footer a.mail:hover{
color: #222;
}
#footer a.mail:hover::before {
background-color: #fff;
}
#footer a.mail:hover::after {
background-color: #222;
}
#footer .sns a{
margin: 0 0.3em;
background: #222;
color: #cd2762;
}
#footer .sns a:hover{background: #fff;}
@media screen and (max-width: 780px) {
#footer ul.main-nav li {
padding: 1vw 1.5vw 1vw;
}
.copyright {
font-size: 2.6vw;
padding-bottom: 12vh;
}
#footer p.addr span{
padding-right: 0;
display: block;
}
}
/* /////////////////////////////
common
///////////////////////////// */
.is-pc {
display: block;
}
.is-sp {
display: none;
}
.clearfix:after {
content: "";
clear: both;
display: block;
}
.clearfix {
zoom: 1;
}
.sx-space {
letter-spacing: -0.05em;
}
.nowrap {
white-space: nowrap;
}
.underline {
text-decoration: underline;
}
.red {
color: #c5064b;
}
.bold {
font-weight: 600;
}
.left {
text-align: left;
}
.right {
text-align: right;
}
.center {
text-align: center;
}
.btm5 {	margin-bottom: 5px;}
.btm10 {margin-bottom: 10px;}
.btm15 {margin-bottom: 15px;}
.btm20 {margin-bottom: 20px;}
.btm25 {margin-bottom: 25px;}
.btm30 {margin-bottom: 30px;}
.btm40 {margin-bottom: 40px;}
.btm50 {margin-bottom: 50px;}
.btm60 {margin-bottom: 60px;}
.s-line{
line-height: 1.2 !important;
}
.spr10{
margin-right: 1em;
}
.size11{font-size:0.69em !important; }
.size12{font-size:0.75em !important; }
.size14{font-size:0.88em !important; }
.size15{font-size:0.94em !important; }
.size16{font-size:1em !important; }
.size18{font-size:1.13em !important; }
.size20{font-size:1.19em !important; }
.size22{font-size:1.38em !important; }
.size24{font-size:1.5em !important; }
.size26{font-size:1.63em !important; }
.size28{font-size:1.75em !important; }
.size30{font-size:1.88em !important; }
.size32{font-size:2em !important; }
.innerHeader {
max-width: 1200px;
margin-left: auto;
margin-right: auto;
}
.inner {
padding-left: 30px;
padding-right: 30px;
max-width: 1060px;
margin-left: auto;
margin-right: auto;
}
.zoom {
overflow: hidden;
}
.zoom img {
width: 100%;
transition-duration: 0.5s;
}
.zoom:hover img {
transform: scale(1.1);
transition-duration: 0.5s;
}
.category {
padding: 0.2em 0.5em;
font-size: 0.69em;
color: #fff;
display: inline-block;
text-align: center;
white-space: nowrap;
background: #111;
width: 70px;
}
.new {
background: #C00;
color: #fff;
font-size: 0.75em;
padding: 2px 3px;
display: inline-block;
text-align: center;
white-space: nowrap;
font-style: normal;
font-weight: normal;
}
.round{
text-align: center;
font-size: 19px;
display: inline-block;
width: 33px;
height: 33px;
color: #fff;
line-height: 33px;
border-radius:50%; 
-webkit-border-radius:50%; 
-moz-border-radius: 50%; 
background:#c5064b;}
.round:hover{background:#fff;color: #c5064b;}
.column2 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-align-items: center;
align-items: center;
}
.column2 > div {
width: 48%;
}
.column2 > div.first {
margin-right: 4%;
}
.img-left {
flex-direction: row;
}
.img-right {
flex-direction: row-reverse;
}
@media screen and (max-width: 1240px) {
.innerHeader {
  width: auto;

}
.inner {
  width: auto;
  padding-left: 2%;
  padding-right: 2%;
}
}
@media (min-width: 781px) {
.pc-center {
text-align: center;
}	
}
@media screen and (max-width: 780px) {
  .innerHeader {
  width: auto;
}
.inner {
  width: auto;
  padding-left: 3vw;
  padding-right: 3vw;
}
.is-pc {
  display: none;
}
.is-sp {
  display: block;
}
.category {
  padding: 0.5vwpx 1vw;
  font-size: 2.4vw;
  width: 15vw;
}
.column2 {
  display: block;
}
.column2 > div {
  width: auto;
}
.column2 > div.first {
  margin-right: 0;
}
.column2 > div:first-child{
  margin-bottom: 3.5vw;
}
.btm5 {	margin-bottom: 5px;}
.btm10 {margin-bottom: 10px;}
.btm15 {margin-bottom: 15px;}
.btm20 {margin-bottom: 20px;}
.btm25 {margin-bottom: 25px;}
.btm30 {margin-bottom: 3.5vw;}
.btm40 {margin-bottom: 40px;}
.btm50 {margin-bottom: 50px;}
.btm60 {margin-bottom: 60px;}
}
.content-box{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}
.content-box >div{
width: 23%;
background: #fff;
margin-left: 2.66%;
text-align: center;
}
.content-box >div.list1{
margin-left: 0;
}
@media screen and (max-width: 1120px) {
.content-box >div{
width: 23.5%;
margin-left: 2%;
}
.content-box >div.list1{
margin-left: 0;
}
}
@media screen and (max-width: 900px) {
.content-box >div{
width: 24%;
margin-left:1.333%;
}
.content-box >div.list1{
margin-left: 0;
}
}
@media screen and (max-width: 780px) {
.content-box >div{
width: 48.5%;
margin-left:3%;
}
.content-box >div.list1{
margin-left: 0;
margin-bottom: 1em;
}
.content-box >div.list2{
margin-bottom: 1em;
}
.content-box >div.list3{
margin-left: 0;
}	
}
/* /////////////////////////////
ボタン
///////////////////////////// */
.c-btn {
display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
overflow: hidden;
position: relative;
margin: auto;
border-radius: 25px;
width: 320px;
height: 50px;
-webkit-transition: 0.3s background-color cubic-bezier(0, 0, 0.58, 1), 0.3s -webkit-box-shadow cubic-bezier(0, 0, 0.58, 1);
transition: 0.3s background-color cubic-bezier(0, 0, 0.58, 1), 0.3s -webkit-box-shadow cubic-bezier(0, 0, 0.58, 1);
transition: 0.3s background-color cubic-bezier(0, 0, 0.58, 1), 0.3s box-shadow cubic-bezier(0, 0, 0.58, 1);
transition: 0.3s background-color cubic-bezier(0, 0, 0.58, 1), 0.3s box-shadow cubic-bezier(0, 0, 0.58, 1), 0.3s -webkit-box-shadow cubic-bezier(0, 0, 0.58, 1); 
background-color: #c5064b;
text-align: center;
text-decoration: none;
-webkit-box-shadow: 3px 9px 20px 0px rgba(197, 6, 75, 0.3);
box-shadow: 3px 9px 20px 0px rgba(197, 6,75, 0.3);
font-family: "Hiragino Kaku Gothic W7 JIS2004", Meiryo;
font-weight: bold;
line-height: 1.25;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
@media (max-width: 780px) {
.c-btn {
border-radius: 28px; 
width: 70vw;
height: 56px;
}
}
.c-btn span {
position: relative;
-webkit-transition: 0.3s color cubic-bezier(0, 0, 0.58, 1);
transition: 0.3s color cubic-bezier(0, 0, 0.58, 1); 
color: #fff;
font-size: 0.94em;
font-weight: 600;
}
.c-btn:hover{
-webkit-box-shadow; 3px 9px 20px 0px rgba(255, 255,255,1);
box-shadow: 3px 9px 20px 0px rgba(255, 255,255,1);
}
.c-btn.c-arw-lg::before {
right: 20px;
}
@media (min-width: 781px) {
.c-btn.c-arw-lg::before {
right: 20px; 
left: auto;
}
}
.c-arw-lg {
display: block;
position: relative;
}
.c-arw-lg::before {
content: "";
position: absolute;
top: 50%;
width: 15px;
height: 11px;
-webkit-transform: translate(0, -50%);
-ms-transform: translate(0, -50%);
transform: translate(0, -50%); 
background-image: url(../images/common/icon_arw_r_lg.svg);
background-repeat: no-repeat;
background-size: 15px 11px;
}
@media (min-width: 781px) {
.c-arw-lg::before {
width: 18px;
height: 13px;
background-size: 18px 13px;
}
}
.-sl span {
color: #fff;
font-size: 0.88em;
}
.-sl {
border-radius: 20px;
width: 180px;
height: 40px;
}
/* /////////////////////////////
page top
///////////////////////////// */
#pageTop {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 5;
}
#pageTop a {
display: block;
z-index: 5;
padding: 8px 0 0 8px;
width: 35px;
height: 35px;
background-color: #444;
border: 4px solid #fff;
position: relative;
}
#pageTop a::after {
position: absolute;
content: '';
top: 16px;
left: 12px;
width: 16px;
height: 16px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
#pageTop a:hover {
text-decoration: none;
opacity: 0.7;
}
@media screen and (max-width: 780px) {
#pageTop {
bottom: 16vw;
right: 3vw;
}
}