
section,footer{
    margin-top: 64px;
}
/* 基本 */
img{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
p{
    font-size: clamp(12px, 3.7vw, 14px);
}
/*max-widthはstyle.cssで宣言されている*/
/* ページ共通----------- */
.inner{
    width: calc(960px + 10%);
    max-width: 100%;
    padding-left: 5%;
    padding-right: 5%;
    margin: auto;
}
.t_center{
    text-align: center;
}
.color_bg01{
    background-color: #ded4d4;
}
.color_red{
    color: #d2145a;
}
.f_bold{
    font-weight: bold;
}
.c-ttl{
    font-size: clamp(13px, calc(26 / 960 * 100vw), 26px);
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #313131;
}
.c-btn01{
    display: inline-block;
    font-size: 12px;
    letter-spacing: 0.05em;
    /*font-weight: bold;*/
    text-transform: uppercase;
    border-bottom: 2px solid #333;
}
.c-btn01::after{
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transform: rotate(45deg);
}
.c-btn01:hover{
    opacity: .6;
}
.c-btn02{
    display: block;
    font-size: 15px;
    border: 3px solid #c9c3c3;
    background-color: #fff;
    padding: 10px 10px;
    position: relative;
}
.c-btn02::after{
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    border-top: 1px solid #c9c3c3;
    border-right: 1px solid #c9c3c3;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 6px);
    right: 54px;
}
.c-btn02:hover{
    opacity: .6;
}
.c-btn03{
    display: block;
    font-size: 14px;
    background-color: #fff;
    padding: 4px 10px;
    position: relative;
}
.c-btn03::after{
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(45deg);
    position: relative;
}
.btn-change:hover{
    color: #fff;
}
.btn-change:hover:after{
    border-color: #fff;
}
.d_spOnly{
    display: none;
}
.mt_common{
    margin-top: 64px;
}

/* 固定ヘッダー分下げる */
/*
#page-container{
    margin-top: 108px;
}
*/
/* ページタイトル */
.mainImage{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
.page_ttl{
    text-align: center;
    text-align: center;
}

.search{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}
.sf{
    width: 300px;
    height: 50px;
}
.btn_sf{
    width: 50px;
    height: 50px;
}

.mv {
    background-color: rgb(238, 238, 238);
    padding: 20px;
    width:80%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 15px;
    margin-bottom: 15px;
}
.mv_ttl{
    
    font-size: clamp(1.563rem, 1.358rem + 1.02vw, 2.125rem);
    margin-bottom: 15px;

}
.mv_txt{  
    font-size: clamp(0.8rem, 0.727rem + 0.36vw, 1rem);
}

h2.obi{
    width:50%;
    text-align: center;
    font-size:clamp(1.563rem, 1.358rem + 1.02vw, 2.125rem);
    /*font-weight: bold;*/
    background: #729fa5;
	color: #fff;
    padding: 10px 10px;
    margin-bottom: 15px;
    margin-left:5%;
    margin-right:auto;
	font-family:
	YuMincho, /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    border-radius: 10px;
}
.res_menu{
    /*width:100%;*/
    margin:0 auto 90px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-left: 5%;
    margin-right: 5%;
}
.s_res_menu{
    /*width:80%;*/
    margin:0 auto 90px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    margin-left: 5%;
    margin-right: 5%;
}
.menu_contents{
    width:45%;
    margin: 1%;
    text-align: center;
}
.sq_menu_contents{
    width:20%;
    margin:1%;
    /*margin-bottom: 1%;*/
}
.s_sq_menu_contents{
    /*width:20%;*/
    margin:1%;
    /*margin-bottom: 1%;*/
}
.kuhaku{
    width:100%;
}
.menu_inner{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}
#parent{
    padding-top: 108px;
    margin-top: -108px;
}
.btn_menu{
    background: #d5727e;
    border-radius: 27px;
    display: flex;
    min-width: 286px;
    max-width: 286px;
    justify-content: center;
    align-items: center;
    min-height: 54px;
    font-size: clamp(20px, calc(20 / 960 * 100vw), 20px);
    color:white;
    line-height: 1.2;
    transition: .3s ease;
}

@media screen and (max-width: 769px) {
/*
    #page-container{
        margin-top: 50px;
    }

    .mainImage{
        margin-top: 64px;
    }
*/        
    .menu_contents{
        width:100%;
        margin: 1%;
    } 
    .mv {
        width:80%;
    }
    h2.obi{
        width:90%;
        text-align: center;
        
    }
    .res_menu{
        width:90%;
        margin:0 auto 90px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        margin-left: auto;
        margin-right: auto;
    }
    .s_res_menu{
        
        justify-content: flex-start;
        margin-left: auto;
        margin-right: auto;
    }
    .sq_menu_contents{
        width:40%;
        margin-bottom: 1%;
    }
}