@charset "UTF-8";
/* CSS Document */
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-family: "Noto Sans JP";
}
.clearfix:after {
    content: " ";
    display: block;
    clear: both;
}
a {
    color: #000000;
    text-decoration: underline;
    transition: all 0.3s ease-in-out 0s;
}
a:hover {
    color: #64a53c;
    text-decoration: none;
}
a:hover img {
    opacity: 0.7
}
img {
    max-width: 100%;
}
.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
}
.flex {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap; /* Safari */
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
}
.flex_wrap_left {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap; /* Safari */
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start
}
.flex_wrap_center {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap; /* Safari */
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
}
.flex_wrap_end {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap; /* Safari */
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}
.clearer {
    clear: both;
}
.sp {
    display: none;
}
header {
    background: #ff6600;
    padding: 10px 0;
}
.cnt {
    width: 980px;
    margin: 0 auto;
}
.contents {
    width: 980px;
    margin: 0 auto;
    padding: 50px 0;
}
header dl {
    float: right;
}
header dl dt {
    color: #FFFFFF;
    font-size: 20px;
    padding: 2px 0 8px;
    font-weight: bold;
    letter-spacing: 2px;
    text-align: center;
}
#mv {
    background: url("../img/mv.jpg") center top no-repeat;
    background: 100% auto;
    padding: 40px 0;
}
#mv .catch {
    text-align: center;
    font-size: 60px;
    margin-bottom: 20px;
    font-weight: 1800;
    letter-spacing: 4px;
    font-family: "Noto Sans JP";
}
#mv .catch span {
    text-shadow: 1px 0 0 #fff, 0 1px 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff, 3px 3px 0 #fff;
    color: #ff6600;
}
#mv .catch2 {
    text-align: center;
    font-size: 52px;
    margin-bottom: 20px;
    font-weight: 1800;
    letter-spacing: 4px;
    font-family: "Noto Sans JP";
}
#mv .catch2 span {
    color: #000000;
    background-color: #FFFFFF;
    padding: 10px 20px;
}
#mv p {
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
    color: #000000;
    font-weight: bold;
    line-height: 2;
    font-family: "M PLUS 1p";
}
.photo h2 {
    font-size: 21px;
    padding: 10px 0;
    color: #FF6600;
    font-weight: bold;
}

.img_list li {
    width: 30%;
}
.img_list li p {
    padding: 10px 0 20px;
    font-size: 18px;
    text-align: center;
}
.reserve {
    margin: 50px 0;
}
.reserve h3 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
    font-family: "M PLUS 1p";
}
.reserve h3 span {
    background: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 70%, #ffeb11 70%, #ffeb11 100%);
}
.reserve .tel {
    font-size: 42px;
    font-weight: bold;
    text-align: center;
    color: #ff6600;
    font-family: "M PLUS 1p-black";
}
.reserve .tel a {
    color: #ff6600;
    font-family: "M PLUS 1p-black";
    text-decoration: none;
}
.reserve .tel span {
    font-size: 28px;
}
.reserve p {
    width: 480px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.8;
}
.reserve p strong {
    font-weight: bold;
}
.point {
    background-color: antiquewhite;
    padding: 40px;
    width: 800px;
    margin: 0 auto;
}
.point ul li {
    background: url("../img/point.png") left center no-repeat;
    padding-left: 28px;
    font-size: 24px;
    color: #000000;
    margin-bottom: 20px;
    line-height: 1.5;
}
.point p {
    font-size: 28px;
    color: red;
    margin-top: 30px;
    text-align: center;
}
.price {
    width: 800px;
    margin: 40px auto;
}
.price h2 {
    font-size: 24px;
    font-weight: bold;
    background: #ff6600;
    padding: 20px;
    color: #FFFFFF;
}
.price .right {
    text-align: right;
    font-size: 14px;
    padding: 20px 0 5px;
}
.price table {
    border-top: 1px solid #999999;
    border-left: 1px solid #999999;
    width: 100%;
}
.price table th {
    border-bottom: 1px solid #999999;
    border-right: 1px solid #999999;
    padding: 10px;
    text-align: center;
    font-size: 14px;
    background-color: antiquewhite;
}
.price table td {
    border-bottom: 1px solid #999999;
    border-right: 1px solid #999999;
    padding: 10px;
    text-align: center;
    font-size: 14px;
}
.price ul li {
    list-style: square;
    font-size: 14px;
    margin-top: 10px;
    margin-left: 30px;
}
.map {
    width: 800px;
    margin: 40px auto;
}
.map h2 {
    font-size: 24px;
    font-weight: bold;
    background: #ff6600;
    padding: 20px;
    color: #FFFFFF;
}
.map .tel {
    font-size: 42px;
    font-weight: bold;
    text-align: center;
    color: #ff6600;
    font-family: "M PLUS 1p-black";
    padding: 0 0 30px;
}
.map .tel a {
    color: #ff6600;
    font-family: "M PLUS 1p-black";
    text-decoration: none;
}
.map .tel span {
    font-size: 28px;
}
.map p {
    text-align: center;
    padding: 20px 0;
    font-size: 18px;
    line-height: 1.8;
}
.map p strong {
    font-weight: bold;
}
footer {
    background: #ff6600;
}
footer p {
    padding: 10px 0;
    text-align: center;
    color: #FFFFFF;
    font-size: 12px;
}
/********************************
レスポンシブ
********************************/
@media screen and (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
        cursor: default;
    }
}
@media screen and (max-width: 980px) {
    .cnt {
        width: 94%;
        margin: 0 auto;
    }
    .contents {
        width: 94%;
        padding: 50px 0;
    }
    .point {
        width: 100%;
    }
    .point ul li {
        font-size: 20px;
    }
    .price {
        width: 100%;
    }
    .map {
        width: 100%;
    }
    .map iframe {
        width: 100% !important
    }
}
@media screen and (max-width: 720px) {
    .pc{
		display:none;
	}
	.sp {
        display: block;
    }
    .contents {
        padding: 30px 0;
    }
    header dl {
        float: none;
        text-align: center;
        width: 100%;
        margin-top: 10px;
    }
    #mv {
        padding: 20px 0;
    }
    #mv .catch {
        font-size: 24px;
        margin-bottom: 10px;
        letter-spacing: 4px;
    }
    #mv p {
        font-size: 16px;
        margin-bottom: 10px;
    }
    #mv .catch2 {
        font-size: 22px;
        margin-bottom: 10px;
        letter-spacing: 0;
    }
    
	.photo h2 {
		text-align: center;
		
	}
	.img_list li{
        width: 48%;
    }
	
	.img_list li:first-child {
        width: 100%;
        max-width: 480px;
    }
	
	
    .img_list li p {
        padding: 0 0 20px;
        font-size: 18px;
        text-align: center;
    }
    .reserve {
        margin: 20px 0;
    }
    .reserve h3 {
        font-size: 24px;
        line-height: 1.5
    }
    .reserve .tel {
        font-size: 24px;
    }
    .reserve .tel span {
        font-size: 14px;
    }
    .reserve p {
        font-size: 14px;
        width: 100%;
    }
    .point {
        padding: 20px 10px;
    }
    .point ul li {
        background: url("../img/point.png") left center no-repeat;
        padding-left: 28px;
        font-size: 16px;
        color: #000000;
        margin-bottom: 20px;
    }
    .point p {
        font-size: 16px;
        margin-top: 10px;
    }
    .price {
        margin: 40px auto;
    }
    .price h2 {
        font-size: 16px;
        padding: 10px;
    }
    .price .right {
        text-align: right;
        font-size: 14px;
        padding: 20px 0 5px;
    }
    .price table th {
        padding: 10px 5px;
        font-size: 14px;
    }
    .price table td {
        padding: 10px 5px;
        font-size: 14px;
    }
    .price ul li {
        line-height: 1.5;
        margin-left: 20px;
        font-size: 12px;
    }
    .map {
        margin: 40px auto 0;
    }
    .map h2 {
        font-size: 16px;
        padding: 10px;
    }
    .map .tel {
        font-size: 32px;
        padding: 0 0 30px;
    }
    .map .tel span {
        font-size: 16px;
    }
    .map p {
        text-align: left;
        padding: 20px 0;
        font-size: 14px;
    }
    .map iframe {
        height: 300px;
    }
}