@charset "UTF-8";


/*
========================================
リセットCSS
=========================================
 */

/* http://meyerweb.com/eric/tools/css/reset/
    v2.0 | 20110126
    License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


/*
========================================
    基本設定
=========================================
 */

body{
    font-family: 'Noto Sans JP', sans-serif;
    color: rgb(12, 12, 12);
}

html{
    scroll-behavior: smooth;
}

.main_col{
    margin-bottom: 160px;
}

.main_pa{
    padding-top: 160px;
    padding-bottom: 160px;
}

/*
========================================
    トップページ
=========================================
*/

h1 {
    font-size: clamp(43px,3vw,50px);
    font-family: 'Open Sans', sans-serif;
    letter-spacing: 25px;
}

header{
    display: flex;
    justify-content: space-between;
    width: 70%;
    margin: 0 auto;
    padding-top: clamp(50px,4vw,60px);
    }

.header__ul{
    line-height:1.3;
}

header a {
    color: rgb(12, 12, 12);
    list-style: none;
    text-decoration: none;
    display: block;
    margin-bottom: 5px;
    letter-spacing: 0.1em;
    line-height: 1.6;
    font-family: 'Open Sans', sans-serif;
}

.telephone__warapper{
    display: flex;
}

.material-symbols-outlined{
    margin-left: 5px;
    font-size: 1.2rem;
    margin-bottom: 0px;
}

.btn {
    padding: 4px 30px;
    margin: 15px 0 clamp(32px,4vw,60px);
    cursor: pointer;
    background-color: #575757;
    color: #fcfcfc;
    border: 1px solid ;
    font-family: 'Noto Sans JP', sans-serif;
}

.btn:hover {
    color: #575757;
    background-color: #fcfcfc;
}

#toppage img {
    width: 70%;
    height: auto;
    margin: 0 auto;
    display: block;
	height: 65vh;
	object-fit: cover;
}

.toppage__footer{
    position: absolute;
    left: 50%;
    bottom: -20px;
    height: 50px;
}

.scroll__text{
    position: absolute;
    left: -15px;
    top: -15px;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
}

.toppage__scrollber{
    content: '';
    position: absolute;
    top: 0;
    background: gray;
    width: 2px;
    height: 30px;
    animation: pathmove 1.4s ease-in-out infinite;
    opacity: 0;
}

@keyframes pathmove{
    0%{
        height: 0;
        top: 0;
        opacity: 0;
    }
    30%{
        height: 30px;
        opacity: 1;
    }
    100%{
        height: 0;
        top: 50px;
        opacity: 0;
    }
}

.toppage__img{
    position: relative;
}

.coupon {
    position: absolute;
    right: 16px;
    top: 50px;
    background:#fcfcfc;
    border: 1px solid;
    border-radius: 50%;
    width: 100px;
    height: 100px;
}

.coupon {
    position: absolute;
    right: 13%;
    bottom: -20px;
}


.coupon__inner p {
    text-align: center;
    display: inline-block;
    padding:18px 0;
}

.coupon__inner p strong{
    display: inline;
    font-size: 30px;
    font-family: 'Open Sans', sans-serif;
    margin: 4px;
}

/*
========================================
　スタイル
=========================================
*/
.style{
    margin: 0 auto;
}

h2 {
    font-size: 40px;
    font-family: 'Open Sans', sans-serif;
    letter-spacing: 20px;
    padding-bottom: 70px;
    padding-left: 120px;
    width: 80%;
    margin: 0 auto;
}

.style h2{
    width: 64%;
}


h3{
    font-family: 'Open Sans', sans-serif;
}

.innner__img{
    position: relative;
}

.number__container-r{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    position: absolute;
    top: -20px;
    right: -9px;
}

.number__container-l{
    position: absolute;
    top: -20px;
    left: -20px;
}

.number {
    font-size: 45px;
    width: 50px;
    font-weight: 500;
    text-align: center;
    font-family: 'Open Sans', sans-serif;
}

.kind{
    font-size: 16px;
    padding-bottom: 10px;
    width: 50px;
    text-align: center;
    font-family: 'Open Sans', sans-serif;
}

.inner__left{
    display: flex;
    padding-bottom: clamp(88px,6vw,100px);
    gap: 60px;
    justify-content: center;
}

.inner__left:nth-last-of-type(2){
    padding-bottom: 0px;
}

.inner__left_0{
    padding-bottom: 0px;
}

.inner__right{
    display: flex;
    flex-direction: row-reverse;
    padding-bottom: clamp(88px,6vw,100px);
    gap: 60px;
    justify-content: center;
}

.style img{
    height: auto;
    object-fit: cover;
}

.style span {
    font-size: 18px;
    font-weight: bold;
    display: inline-block;
    padding-top: 20px;
    text-align: center;
	letter-spacing:0.1em;
}

.style span::after{
    content: '';
    background: #cbc9c9;
    width: 80%;
    height: 2px;
    display: inline-block;
}

.style__text{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 420px;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.05rem;
}

.container__style{
    width: 80%;
    margin: 0 auto;
}

.copy{
    position: absolute;
    left: -18px;
    bottom: 15px;
    background-color: rgba(255, 255, 255, 0.7);
    color: #6b6565;
    padding: 3px;
	line-height:1.5;
}

.copy-r{
    position: absolute;
    right: -32px;
    bottom: 181px;
    background-color: rgba(255, 255, 255, 0.7);
    color: #6b6565;
    padding: 3px;
	line-height:1.5;
}

/*
========================================
　メニュー
=========================================
*/
.swiper {
    height: 300px;
}

.menu__inner{
    width:80%;
    height: auto;
    margin: 0 auto;
    line-height: 40px;
    cursor: pointer;
}

.swiper-slide{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.menu__inner tr dt{
    width: 27%;
}

.menu__inner tr dd{
    width: 73%;
}


/*
========================================
    スタッフ
=========================================
*/

.inner__staff{
    display: block;
    height: auto;
}

.inner__staff_0{
    padding-bottom: 0px;
}

.inner__staff img{
    max-width: 100%;
    object-fit: cover;
	margin-bottom: 32px;
}

.inner__staff p{
	line-height:1.8;
}

.container__staff{
    display: flex;
    justify-content: space-between;
    gap: 32px;
    width: 70%;
    margin: 0 auto;
    flex-wrap: nowrap;
}


/*
========================================
    あいの里
=========================================
*/
.shop{
    background-color: #fcfcfc;
    color: rgb(12, 12, 12);
	padding-top:clamp(120px,8vw,120px);
	padding-bottom:clamp(120px,8vw,120px);
}

#ainosato{
    padding-bottom:0px;
}

.inner__shop{
    display: flex;
    width: 80%;
    justify-content: center;
    margin: 0 auto;
    gap: 60px;
    align-items: normal;
    flex-direction: row;
}

.shop__name {
    color: rgb(12, 12, 12);
    font-size: 20px;
    font-family: 'Open Sans', sans-serif;
    letter-spacing: 15px;
    /* padding-bottom: 40px; */
    padding-bottom: 50px;
    text-align: center;
}

.shop p {
    color: rgb(12, 12, 12);
    line-height: 30px;
}

.shop img{
    max-width: 100%;
    margin-bottom: 20px;
    width: clamp(255px,41vw,500px);
    height: auto;
    object-fit: cover;
}

.shoptext{
        text-align: left;
}

iframe{
    width: 300px;
    height: auto;
    margin: 20px auto;
}

iframe:first-child{
    margin: 20px auto 50px;
}

.reserve-btn{
    text-align: center;
    cursor: pointer;
    margin-bottom: 30px;
}

.reserve-a{
    background: #fcfcfc;
    color: #575757;
    text-decoration: none;
    letter-spacing: 0.1rem;
    border: none;
    padding: 5px clamp(125px,8vw,130px);
    border: 1px solid #575757;
    cursor: pointer;
    border: 1px solid #575757;
    font-family: 'Noto Sans JP', sans-serif;
}

.reserve-a:hover{
    background: #575757;
    color: #fcfcfc;
    border: none;
    border: 1px solid #fcfcfc;
}

.shoptext a{
    color: #fcfcfc;
}

/*
========================================
    フッター
=========================================
*/

footer{
    padding-top: 100px;
	padding-bottom: 60px;
}

.footer__ul{
    line-height:1.6;
}

.footer__li > a{
    list-style: none;
    text-decoration: none;
    color: rgb(12, 12, 12);
    line-height: 20px;
    padding: 20px;
    font-family: 'Open Sans', sans-serif;
}

#logo {
    font-size: 30px;
    font-family: 'Open Sans', sans-serif;
    letter-spacing: 20px;
}

.container__footer{
    display: flex;
    justify-content: space-between;
    width: 80%;
    margin: 0 auto;
    align-items: flex-end;
}

/*
========================================
    ローダー
=========================================
*/

#loading{
    background-color: lightgray;
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    pointer-events: none;
}

#loading-screen {
    background-color: gray;
    position: fixed;
    inset: 0;
    z-index: 9997;
    pointer-events: none;
}

#loading p{
    font-size: 2rem;
    z-index: 9999;
}

/*
========================================
    フェードイン
=========================================
*/

.fadein{
    opacity: 0;
}

@media (max-width: 1280px){

.style h2{
    width: 80%;
    padding-bottom: 100px;
}
}

@media (max-width: 1024px){
.container__style{
    width: 80%;
    margin: 0 auto;
}
}

@media (max-width: 820px){
	#toppage img{
		height:60vh;
	}

	.coupon{
        right: 80px;
	}

    h2{
        font-size: 35px;
        padding-left: 0px;
    }

    /* スタイル */

    .style h2{
    width: 80%;
    }

    .number {
        margin-left: 0px;
    }
    .kind{
        margin-left: 0px;
        padding-bottom: 20px;
    }

    .number__container-r .number{
        margin-left: 0px;
    }

    .number__container-r .kind{
        margin-left: 0px;
    }

    .inner__left{
        display: flex;
        gap: 20px;
        justify-content: center;
    }

    .inner__right{
        display: flex;
        flex-direction: row-reverse;
        gap: 20px;
        justify-content: center;
    }

    .style img{
        width: 200px;
        height: 270px;
        object-fit: cover;
    }

    .style__text{
        font-size: 14px;
        width: 284px;
    }


    /* スタッフ */

    .container__staff{
        width: 80%;
    }

    .inner__staff{
        width: calc(100%/2 - 3vw);
        padding-bottom: 60px;
    }

    .inner__staff_0 {
    padding-bottom: 0px;
}

    .container__staff {
        flex-wrap: wrap;
        margin: 0 auto;
        height: auto;
        gap: 0px;
    }

    /* 店舗情報 */

    .inner__shop{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    }

    .shop img{
    width: 355px;
    }

    .shoptext {
    text-align: center;
    }


}

@media (max-width: 550px){

    .main_col{
        margin-bottom: 120px;
    }

    .main_pa{
        padding-top: 120px;
        padding-bottom: 120px;
    }

	header{
		width: 85%;
    }

	#toppage img{
			width: 85%;
		}

	.coupon{
        right: 12px;
	}

	.copy-r{
    bottom: 150px;
	}

    /* スタイル */

    .inner__staff{
        width: 100%;
        margin: 0 auto;
        width: 177px;
        padding-bottom: 60px;
    }

    .inner__left{
        display: flex;
        flex-direction: column;
        gap: 20px;
        padding-bottom: 88px;
        align-items: center;
    }

    .inner__right{
        display: flex;
        flex-direction: column;
        padding-bottom: 88px;
        gap: 20px;
        align-items: center;
    }

    .inner__left_0{
        padding-bottom: 0px;
    }

    .style span{
        padding-top: 5px;
    }

    /* メニュー */

    .menu td{
        font-size: 13px;
    }

    
    .inner__staff_0{
        padding-bottom: 0px;
    }

    /* 店舗情報 */

    .inner__shop{
        gap: 12px;
    }

    .shop img{
        margin-bottom: 32px;
    }

    iframe{
        margin: 32px auto;
    }

    .container__footer{
        width: 90%;
    }
}

@media (max-width: 390px){
header a{
    letter-spacing: 0;
}
}





