@charset "UTF-8";
/* CSS Document */
.pc { display: block;}
.sp { display: none;}

/* Loading Animation */
#loading {
width: 100%;
height: 100%;
margin: 0;
background: #fff;
background-image: url(../img/loading.gif);
background-repeat: no-repeat;
background-position: center;
background-size: 50px;
opacity: 1;
position: fixed;
left: 0;
top: 0;
z-index: 99999;
}

/* Setup */
html,body {
width:100%;
font-size:15px;
font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
font-weight: 500;
line-height: 1.7em;
text-size-adjust: 100%;
font-smoothing:antialiased;
-moz-osx-font-smoothing: grayscale;
color: #555;
overflow-x: hidden;
-webkit-text-size-adjust: 100%;
}

/*** ===== common frame ===== ***/
.inner60 { width:60%; margin:0 20%; letter-spacing: -0.5em;}
.inner75 { width:75.8%; margin:0 12.1%; letter-spacing: -0.5em;}
.inner80 { width:80%; margin:0 10%; letter-spacing: -0.5em;}
.box25 { display: inline-block; width:25%; letter-spacing: normal; vertical-align: top;}
.box33 { display: inline-block; width:30%; letter-spacing: normal; vertical-align: top;}
.box33_mid { display: inline-block; width:30%; letter-spacing: normal; margin-left:5%; margin-right:5%; vertical-align: top;}
.box50_left { display: inline-block; width:47%; letter-spacing: normal; margin-right:3%; vertical-align: top;}
.box50_right { display: inline-block; width:47%; letter-spacing: normal; margin-left:3%; vertical-align: top;}
.box50_mid { display: inline-block; width:44%; letter-spacing: normal; margin-left:3%; margin-right:3%; vertical-align: top;}
.box40_left { display: inline-block; width:37%; letter-spacing: normal; margin-right:3%; vertical-align: top;}
.box60_right { display: inline-block; width:57%; letter-spacing: normal; margin-left:3%; vertical-align: top;}

/* Header */
header {
position: absolute;
width:100%;
height:170px;
z-index: 1000;
}

header h1 {
width:75.8%;
margin:50px 12.1% 20px 12.1%;
}

.nav_pc {
width:75.8%;
margin:0px 12.1% 50px 12.1%;
}

.menu_pc {
letter-spacing: -0.5em;
}

.menu_pc li {
display: inline-block;
letter-spacing: normal;
width:11%;
height:30px;
vertical-align: top;
text-align: center;
}

.menu_pc .main_logo {
display: inline-block;
letter-spacing: normal;
width:31%;
height:30px;
vertical-align: top;
}

.menu_pc .left {
width:calc(2.5% - 1px);
height:30px;
border-left: solid 1px #ddd;
}

.menu_pc .mid {
width:1px;
height:30px;
background: #ddd;
margin-left: 2.5%;
margin-right: calc(2.5% - 1px);
}

.menu_pc .right {
width:calc(2.5% - 1px);
height:30px;
border-right: solid 1px #ddd;
}

/*** Common decoration ***/
.section_icon {
width:80px;
margin:0 auto 10px auto;
}

.title {
margin: 0 auto 30px auto;
text-align: center;
}

.title_main {
font-size: 200%;
padding-left:1em;
padding-right:1em;
border-left:solid 1px #555;
border-right:solid 1px #555;
}

.title_sub {
}

/* article */
article {
position: absolute;
top:170px;
width:100%;
height:auto;
}

/* Main Visual */
.main_visual {
width:100%;
height:calc(100vh - 170px);
max-height: 640px;
}

.main_slider{
margin: 0;
width: 100%;
}
.main_slider li{
width: 100%;
height:calc(100vh - 170px);
max-height: 640px;
background-repeat: no-repeat;
background-size: cover;
background-position: center bottom;
}

/* Introdustion */
.introduction {
width:100%;
height:auto;
padding:100px 0 100px 0;
margin-bottom: 0;
background: rgba(255,255,255,1.0);
}

.position_point {
position: relative;
top:0;
left:0;
width:100%;
height:auto;
}

.photo_1 {
position: absolute;
top:0;
left:40%;
width:60%;
}

.photo_2 {
position: absolute;
top:200px;
left:0%;
width:90%;
}

.photo_3 {
position: absolute;
top:80px;
left:0%;
width:100%;
}

.intro_left_cover {
position: absolute;
top:-60px;
left:0;
width:100%;
}

.intro_right_cover {
position: absolute;
top:-60px;
left:0;
width:100%;
}

/* feature */
.feature {
width:100%;
padding:40px 0 100px 0;
background:rgba(240,240,240,1.0);
}

.pc_margin {
margin-top:50px;
}

.feature_photo {
padding: 8px 0;
background-image: url("../img/circle_bg.svg");
background-size: contain;
background-repeat: no-repeat;
background-position: center;
}

.feature_title {
padding: 1em 0;
font-size: 18px;
font-weight: bold;
color: rgba(30,130,0,1.0);
}

.circle_bg {
}

/* facility */
.facility {
position: relative;
margin: 0;
padding: 0;
width:100%;
height:auto;
}

.slider{
    margin: 0;
    width: 100%;
}
.slider img{
    position: relative;
    height: auto;
    width: 100%;
}

.slick-prev:before,
.slick-next:before {
    color: #000;
}

.zoom {
  transform: scale(1);
  transition: all .3s ease-in-out;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  overflow: hidden;
}
.zoom:hover {
  transform: scale(1.2);
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  overflow: hidden;
}

/* greeting */
.greeting {
width:100%;
padding:50px 0 100px 0;
background: rgba(255,255,255,1.0);
}

.greeting_table {
width:100%;
}

.sp_width {}

.insert_photo {
padding: 10px;
border: solid 1px rgba(170,200,10,1.0);
}

/* hour */
.hour {
width:100%;
padding:40px 0 100px 0;
background: rgba(240,240,240,1.0);
}

.time_table {
width:75.8%;
margin:auto 12.1%;
border: solid 1px rgba(170,200,10,1.0);
font-size: 120%;
}

.time_table .width_big { width:29%;}
.time_table .width_mid { width:15%;}
.time_table .width_sma { width:8%;}

.day {
padding:20px 0;
text-align: center;
background: white;
}

.td_green {
background:rgba(170,200,10,1.0);
color:white;
}

.fa-leaf {
color: green;
}

.fa-bell {
color: orange;
}

.time_table .border_bottom { border-bottom: solid 1px rgba(255,255,255,0.3);}
.time_table .border_left { border-left: solid 1px rgba(255,255,255,0.3);}
.time_table .border_gr_bottom { border-bottom: solid 1px rgba(0,0,0,0.1);}
.time_table .border_gr_right { border-right: solid 1px rgba(0,0,0,0.1);}

/* NEWS */
.news {
width:100%;
padding:40px 0 100px 0;
background-image: url("../img/news_bg.jpg");
background-size: cover;
background-position: center;
}

.news_date {
display: inline-block;
width:calc(20% - 70px);
background: white;
padding:10px 0 10px 50px;
letter-spacing: normal;
border: solid 10px white;
}

.news_read {
display: inline-block;
width:calc(80% - 63px);
background: white;
padding:10px 0 10px 50px;
letter-spacing: normal;
border-top: solid 10px white;
border-bottom: solid 10px white;
border-right: solid 10px white;
border-left: dotted 3px #888;
}

.news .space {
margin-bottom:20px;
}

/* access */
#gmap_area {
width:100%;
padding:40px 0 100px 0;
background: rgba(255,255,255,1.0);
}

#gmap {
width:80%;
height:50vh;
margin:50px 10% 30px 10%;
border: solid 1px rgba(150,150,150,1);
}

/* footer */
footer {
width:100%;
padding:100px 0 0px 0;
background:rgba(55,55,55,1.0);
color:white;
}

.tel { 
display:block;
padding:0.8em;
width: 16em;
background-color:rgba(150,200,10,0.8);
border-radius:10px;
color:rgba(255,255,255,1.0) !important;
margin:1em auto;
}

.tel:hover {
background-color:rgba(150,200,10,1.0);
transition: 0.3s ease-in-out;
}
.text_icon { width:18px; height:18px; margin-right:10px; vertical-align:-4px;}

.footerline {
width:100%;
height:20px;
margin-top:50px;
background:rgba(150,200,10,1.0);
}

footer .nav_pc { width:100%; margin:0px 0 50px 0;}

/******** Media for 1024px - 769px ********/
@media screen and (max-width: 1024px) {

html,body { font-size:14px;}

header h1 { width:90%; margin:50px 5% 20px 5%;}
.nav_pc { width:90%; margin:0px 5% 50px 5%;}
.menu_pc li { width:11%;}
.menu_pc .main_logo { height:30px;}

.inner60 { width:60%; margin:0 20%; letter-spacing: -0.5em;}
.inner75 { width:88%; margin:0 6%; letter-spacing: -0.5em;}
.inner80 { width:90%; margin:0 5%; letter-spacing: -0.5em;}
.box25 { display: inline-block; width:20%; letter-spacing: normal; vertical-align: top;}
.box33 { display: inline-block; width:31%; letter-spacing: normal; vertical-align: top;}
.box33_mid { display: inline-block; width:31%; letter-spacing: normal; margin-left:3.5%; margin-right:3.5%; vertical-align: top;}
.box50_left { display: inline-block; width:47%; letter-spacing: normal; margin-right:3%; vertical-align: top;}
.box50_right { display: inline-block; width:47%; letter-spacing: normal; margin-left:3%; vertical-align: top;}
.box50_mid { display: inline-block; width:54%; letter-spacing: normal; margin-left:3%; margin-right:3%; vertical-align: top;}
.box40_left { display: inline-block; width:37%; letter-spacing: normal; margin-right:3%; vertical-align: top;}
.box60_right { display: inline-block; width:57%; letter-spacing: normal; margin-left:3%; vertical-align: top;}

.introduction { padding:60px 0 40px 0;}
.intro_left_cover { top:20px;}
.intro_right_cover { top:20px;}

.feature_title { font-size: 14.5px;}

.time_table { width:90%; margin:auto 5%; font-size: 100%;}

.news { width:100%; padding:30px 0 40px 0;}
.news_date { width:calc(20% - 40px); padding:10px 10px 10px 10px; border: solid 10px white;}
.news_read { width:calc(80% - 33px); padding:10px 0 10px 20px; border-top: solid 10px white; border-bottom: solid 10px white; border-right: solid 10px white; border-left: dotted 3px #888;}

#gmap { width:100%; margin:50px 0 0 0; border:none;}

footer { width:100%; padding:50px 0 0px 0;}
footer .nav_pc { width:100%; margin:0px 0 50px 0;}
footer .main_logo img { width:50%; margin:20px auto 20px auto;}

}

/******** Media for 768px - 415px ********/
@media screen and (max-width: 768px) {

html,body { font-size:12px;}

header { height:100px;}
header h1 { width:90%; margin:20px 5% 20px 5%;}
.nav_pc { width:90%; margin:0px 5% 20px 5%;}
.menu_pc li { width:12%;}
.menu_pc .main_logo { width:27%; height:30px;}

.box50_left { display: inline-block; width:40%; letter-spacing: normal; margin-right:5%; vertical-align: top;}
.box50_right { display: inline-block; width:52%; letter-spacing: normal; margin-left:3%; vertical-align: top;}
.box40_left { display: inline-block; width:30%; letter-spacing: normal; margin-right:5%; vertical-align: top;}
.box60_right { display: inline-block; width:62%; letter-spacing: normal; margin-left:3%; vertical-align: top;}

article { top:100px;}

.section_icon { width:70px; margin:0 auto 10px auto;}

.main_visual { height:90vh; max-height: 640px;}
.main_slider li{ height:90vh; max-height: 640px;}

.feature { padding:40px 0 40px 0;}
.feature_title { font-size: 13px;}

.greeting, .hour, #gmap_area { padding:40px 0 40px 0;}

#gmap { height:80vh; margin:30px 0 0 0;}

footer { width:100%; padding:30px 0 0px 0;}
footer .nav_pc { width:90%; margin:0 5% 40px 5%;}
footer h1 { width:90%; margin:40px 5% 10px 5%;}
footer .main_logo { margin: 5px auto 5px auto;}
footer .main_logo img { width:50%; margin:0 25% 10px 25%;}
footer .menu_pc li { width:20%;}

}

/***** SNS LINK *****/

.sns_header {
position: absolute;
top:10px;
right:80px;
text-align: right;
z-index: 9999999;
}

.sns_icon {
display: inline-block;
opacity:1;
font-size: 100%;
margin-right: 20px;
}
