@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@400;500;700&display=swap');

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type="number"]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}

html { font-size: 62.5%; }
body {
    font-family: "Zen Kaku Gothic Antique", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #535353;
    min-width: 1200px;
}
a {
	color: #000;
	text-decoration: none;
}
a img:hover {
    opacity: 0.6;
    transition: all 0.3s ease;
}
span a:hover img {
    opacity: 1;
}
i {
    font-style: normal;
}
select {
    -moz-appearance: menulist;
    -webkit-appearance: menulist;
    appearance: menulist;
}
a.disabled{
    pointer-events: none;
}

/*==================
Common Parts
================================================*/
.pc-only { display: block; }
.sp-only { display: none; }

/*------------------
splash
------------------------------------------------*/
#loader__wrap {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: 100vh;
    top: 0;
    background: #fff;
    z-index: 9999;
}
.loader {
    width: 288px;
    height: 72px;
    background: url("../images/common/header_logo.png") no-repeat;
    background-size: contain;
    opacity: 0;
    animation: blink 3s infinite linear;
}
.loaded {
    opacity: 0;
    visibility: hidden;
}
@keyframes blink {
    50% { opacity: 1; }
}

.ofh {
    overflow: hidden;
}
.html__overlay {
    display: none;
    position: fixed;
    z-index: 998;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}
/*------------------
header
------------------------------------------------*/
header {
    background: #e2eef4;
    padding: 20px 0 27px;
}
header h1,
header p {
    text-align: center;
}
header ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 19px;
    margin: 19px 0 0;
}
header ul li {
    font-size: 1.8rem;
    font-weight: 500;
}
header ul li a {
    box-sizing: border-box;
    border-radius: 16px;
    color: #5c6a72;
    padding: 4px 24px;
}
header ul li a:hover {
    background: #5c6a72;
    color: #fff;
    transition: 400ms ease;
}

#fixedMenu {
    display: none;
    background: #e2eef4;
    padding: 8px 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 20;
    border-bottom: 1px solid #ddd;
}
#fixedMenu div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    width: 95%;
    max-width: 1200px;
}
#fixedMenu img {
    height: auto;
    width: 220px;
}
#fixedMenu ul {
    margin: 0;
}
#fixedMenu ul li {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 500;
}
#fixedMenu ul li a {
    box-sizing: border-box;
    border-radius: 16px;
    color: #5c6a72;
    padding: 4px 12px;
    transition: 400ms ease;
}
#fixedMenu ul li a:hover {
    background: #5c6a72;
    color: #fff;
}

.nav-open,
#g-nav {
    display: none;
}
/*------------------
vs
------------------------------------------------*/
#vs__pc {
    display: block;
    position: relative;
    height: 600px;
    width: 100%;
}
#vs__sp {
    display: none;
}
#vs__wrap {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 600px;
    width: 1200px;
}
#vs__txt {
    position: relative;
    top: 0;
    margin: 0 auto;
    height: 600px;
    width: 1200px;
}
#vs__txt--h2 {
    position: absolute;
    top: 147px;
}
#vs__txt--h2 p {
    font-size: 2.5rem;
    font-weight: 500;
    margin-bottom: 32px;
}
#vs__txt--sub {
    position: absolute;
    top: 347px;
}
#vs__txt--sub p {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.94;
}
#vs__txt--pickup {
    position: absolute;
    top: 305px;
    left: 309px;
}
#vs__txt--pickup p {
    background: #bbb39d;
    border-radius: 50%;
    text-align:center;
    height: 168px;
    width: 168px;
}
#vs__txt--pickup p span {
    color: #fff;
    display: block;
    font-size: 1.9rem;
    line-height: 1.63;
    padding-top: 56px;
}
.slick {
}
#vs__pc .slick-track {
    height: 600px;
}
#vs__pc .slick__01 {
    background: url(../images/top/vs_01.jpg) no-repeat center center;
}
#vs__pc .slick__02 {
    background: url(../images/top/vs_02.jpg) no-repeat center center;
}
#vs__pc .slick__03{
    background: url(../images/top/vs_03.jpg) no-repeat center center;
}

@media screen and (max-width: 1250px) {
    #vs__txt {
        box-sizing: border-box;
        padding-left: 16px;
    }
}

/*------------------
category
------------------------------------------------*/
#category {
    background: #e2eef4;
    padding: 98px 0 96px;
}
#category h3 {
    color: #4b86a7;
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: 0.1rem;
    text-align: center;
    margin-bottom: 60px;
}
#category ul {
    display: flex;
    justify-content: center;
    gap: 40px;
}
#category span {
    color: #545454;
    display: block;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    margin-top: 24px;
}
#category a:hover span {
    color: #4b86a7;
}

#about {
    padding: 118px 0;
}
#about h2 {
    color: #4b86a7;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
}
#about p#about__lead {
    color: #545454;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2.33;
    text-align: center;
    margin: 72px 0 50px;
}
#about__box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    width: 1000px;
}
.about__box--wrap {
    background: url(../images/top/bg_waku_top.png) no-repeat center top;
    margin-top: 22px;
    width: 485px;
}
.about__box--number {
    border-bottom: 2px solid #bbb39d;
    margin: 0 auto;
    text-align: center;
    width: 120px;
}
.about__box--number span {
    color: #bbb39d;
    font-size: 5.5rem;
    font-weight: 700;
    line-height: 88px;
}
.about__box--txt {
    background: url(../images/top/bg_waku_btm.png) no-repeat center bottom;
    padding-bottom: 30px;
    width: 485px;
}
.about__box--txt h3 {
    color: #545454;
    font-size: 2rem;
    font-weight: 700;
    padding: 24px 0 20px;
    text-align: center;
}
.about__box--txt p {
    color: #545454;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
}

#categoryTitle {
    margin: 77px auto 147px;
    width: 1200px;
}
#categoryTitle__h1 {
    background: #e2eef4;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#categoryTitle__h1--txt {
    margin-left: 113px;
}
#categoryTitle__h1--txt h1 {
    color: #4b86a7;
    font-size: 3.7rem;
    font-weight: 500;
}
#categoryTitle__h1--txt p {
    color: #b0b0b0;
    font-size: 1.8rem;
    margin-top: 20px;
}
#categoryTitle__h1 img {
    border-radius: 0 30px 30px 0;
}
#place__area {
    background: #e2eef4;
}
#place__area--title {
    padding: 30px 0 35px;
    text-align: center;
}
#place__area--title p {
    color: #4b86a7;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.5;
}
#place__area--pref {
    background: #fff;
    padding: 20px 0;
}
#place__area--pref ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 48px;
}
#place__area--pref li {
    border-radius: 20px;
    cursor: pointer;
    transition: 400ms ease;
    text-align: center;
    width: 150px;
}
#place__area--pref li:hover,
#place__area--pref li.active {
    background: #4b86a7;
    padding: 8px 0;
}
#place__area--pref li span {
    color: #4b86a7;
    font-size: 2rem;
    font-weight: 500;
}
#place__area--pref li:hover span,
#place__area--pref li.active span {
    color: #fff;
}
#place__area--list {
    padding: 95px 0 60px;
}
#place__area--list ul {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 30px;
    margin: 0 auto;
    width: 1000px;
}
#place__area--list ul.panel {
    display: none;
}
#place__area--list ul.active {
    display: flex;
}
#place__area--list ul li {
    position: relative;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 0 5px #bdc9d5;
    width: 313px;
}
#place__area--list li img {
    border-radius: 20px 20px 0 0;
    height: 318px;
    width: 313px;
    object-fit: cover;
}
#place__area--list li div {
    padding: 24px 20px 90px 20px;
}
#place__area--list h2 {
    color: #545454;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 11px;
}
#place__area--list address {
    color: #545454;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
}
#place__area--list p {
    position: absolute;
    bottom: 30px;
    right: 26px;
}
#place__area--list a span {
    color: #4b86a7;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2;
}
#place__area--list a span::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #4b86a7;
    bottom: -1px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
}    
#place__area--list a:hover span::after {
    transform: scale(1, 1);
}
#place__recruit {
    background: #fff;
    padding: 67px 0 72px;
}
#place__recruit--inner {
    margin: 0 auto;
    width: 660px;
}
#place__recruit--inner h2 {
    border-bottom: 2px solid #4b86a7;
    text-align: center;
}
#place__recruit--inner h2 span {
    display: inline-block;
    color: #4b86a7;
    font-size: 2rem;
    font-weight: 500;
    padding-bottom: 24px;
}
#place__recruit--txt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 20px;
    gap: 20px;
}
#place__recruit--txt p {
    color: #545454;
    font-size: 1.5rem;
    line-height: 2;
}
#place__recruit--txt a {
    display: block;
    border: 2px solid #4b86a7;
    border-radius: 15px;
    color: #4b86a7;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.9;
    text-align: center;
    transition: 400ms ease;
    width: 125px;
}
#place__recruit--txt a:hover {
    background: #4b86a7;
    color: #fff;
}

#place__mv {
    background: #fff;
    padding: 100px 0 82px;
}
#place__mv h1 {
    color: #4b86a7;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 64px;
}
#place__mv .slick {
    margin: 0 auto;
    width: 900px;
    border-radius: 20px;
    overflow: hidden;
}
#place__mv .slick-slide {
}
#place__mv .slick img {
    height: auto;
    width: 100%;
}
#place__mv .slick-prev {
    left: 15px;
    z-index: 9;
}
#place__mv .slick-next {
    right: 20px;
    z-index: 9;
}
#place__mv .slick-prev:before,
#place__mv .slick-next:before {
    font-size: 24px;
}
#place__mv .slick-dots {
    bottom: 10px!important;
}
#place__mv .slick-dots li button:before{
	font-size: 12px!important;
}
#place__mv .slick-dots li button:before,
#place__mv .slick-dots li.slick-active button:before {
    color: #4b86a7!important;
}
#place__lead {
    background: #e2eef4;
    padding: 70px 0;
}
#place__lead h2 {
    color: #545454;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.83;
    margin-bottom: 45px;
}
#place__lead p {
    color: #545454;
    font-size: 1.5rem;
    font-weight: 500;
    text-align: center;
    line-height: 2.2;
}

#place__info {
    padding-top: 80px;
    background: #e2eef4;
}
#place__info--tab {
    background: #fff;
    padding: 65px 0;
}
#place__info--tab ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 80px;
}
#place__info--tab li {
    border: 2px solid #4b86a7;
    border-radius: 32px;
    cursor: pointer;
    transition: 400ms ease;
    text-align: center;
    padding: 8px 0;
    width: 228px;
}
#place__info--tab li:hover,
#place__info--tab li.active {
    background: #4b86a7;
}
#place__info--tab li span {
    color: #4b86a7;
    font-size: 2.3rem;
    font-weight: 500;
}
#place__info--tab li span i {
    display: block;
    font-size: 1.4rem;
    font-style: normal;
    margin-top: 4px;
}
#place__info--tab li:hover span,
#place__info--tab li.active span {
    color: #fff;
}
.place__info--benefit {
    margin: 0 auto 68px;
    width: 1000px;
}
.place__info--benefit h3 {
    border-bottom: 2px solid #4b86a7;
    text-align: center;
}
.place__info--benefit h3 span {
    display: block;
    color: #4b86a7;
    font-size: 3rem;
    font-weight: 700;
    padding-bottom: 40px;
}
.place__info--benefit ol {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2%;
    margin: 50px 0;
}
.place__info--benefit li {
    width: 55%;
}
.place__info--benefit li:nth-child(2n+1) {
    width: 43%;
}
.place__info--benefit li div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}
.place__info--benefit p.place__info--circle {
    display: inline-grid;
    align-content: center;
    background: #bab39d;
    border-radius:50%;
    color: #fff;
    text-align:center;
    height: 110px;
    width: 110px;
}
.place__info--benefit p.place__info--circle span {
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
}
.place__info--benefit p.place__info--circle i {
    display: block;
    font-size: 4.8rem;
    font-weight: 700;
    font-style: normal;
    line-height: 1;
}
.place__info--benefit p.place__info--txt {
    color: #545454;
    flex: 1;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.85;
}
#place__info--info {
    margin: 65px auto 0;
    padding-bottom: 100px;
    width: 1000px;
}
#place__info--lead {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.2;
    text-align: center;
    margin: 40px 0 65px;
}
#place__info--lead strong {
    background: linear-gradient(transparent 60%, #ffff66 60%);
    font-size: 1.7rem;
}
#place__info--info h3 {
    border-bottom: 2px solid #4b86a7;
    text-align: center;
}
#place__info--info h3 span {
    display: block;
    color: #4b86a7;
    font-size: 3rem;
    font-weight: 700;
    padding-bottom: 32px;
}
#place__info--info .panel {
    display: none;
}
#place__info--info .active {
    display: block;
}
.place__info--list {
    padding: 75px 0 60px;
}
.place__info--list i {
    display: block;
}
.place__info--list ul {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 30px;
    margin: 0 auto;
    width: 1000px;
}
.place__info--list ul li {
    position: relative;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 0 5px #bdc9d5;
    width: 313px;
}
.place__info--list li a {
    display: block;
    transition: 400ms ease;
}
.place__info--list li a:hover {
    opacity: 0.7;
}
.place__info--list li a:hover img {
    opacity: 1;
}
.place__info--list li img {
    border-radius: 20px 20px 0 0;
    height: 318px;
    width: 313px;
    object-fit: cover;
}
.place__info--list li div {
    padding: 18px 20px 36px;
}
.place__info--btn {
    margin: 45px auto 0;
    width: 445px;
}
.place__info--btn a {
    display: block;
    background: #fff;
    border: 2px solid #4b86a7;
    border-radius: 30px;
    text-align: center;
    transition: 400ms ease;
}
.place__info--btn a span {
    color: #4b86a7;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 60px;
}
.place__info--btn a:hover {
    background: #4b86a7;
}
.place__info--btn a:hover span {
    color: #fff;
}
.place__info--list p.place__info--days {
    background: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    padding: 4px;
    margin-bottom: 8px;
}
.place__info--list p.place__info--days.week_sat {
    background: #D9E5FF;
}
.place__info--list p.place__info--days.week_sun {
    background: #fcc;
}
.place__info--list p.place__info--days span {
    margin-left: 8px;
}
.place__info--list p.place__info--title {
    color: #4b86a7;
    font-size: 2rem;
    line-height: 1.4;
    margin-bottom: 8px;
}
.place__info--list p.place__info--times {
    font-size: 1.4rem;
    line-height: 1.5;
    margin-bottom: 8px;
}
.place__info--list ol.place__info--tokuten {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.place__info--list ol.place__info--tokuten li {
    border: 1px solid #4b86a7;
    border-radius: 8px;
    box-shadow: none;
    padding: 4px;
    width: auto;
}
.place__info--list p.place__info--date {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 8px;
}
.place__info--list p.place__info--time {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: 16px;
}
.place__info--list p.place__info--cont {
    font-size: 1.6rem;
    line-height: 1.5;
    margin-bottom: 16px;
}
.place__info--list p.place__info--reserve {
    border: 1px dotted #4b86a7;
    border-radius: 8px;
    font-size: 1.4rem;
    padding: 8px;
    line-height: 1.4;
}
#place__blank {
    background: #fff;
    height: 94px;
}

#consult__info {
    margin: -34px auto 0;
    width: 1000px;
}
#consult__info h2 {
    border-bottom: 2px solid #e2eef4;
    text-align: center;
}
#consult__info h2 span {
    display: block;
    color: #4b86a7;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 50px;
}
#consult__info--icon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 148px;
    margin: 60px 0 52px;
}
#consult__info--icon p {
    display: inline-grid;
    align-content: center;
    background: #bbb39d;
    border-radius:50%;
    color: #fff;
    text-align:center;
    height: 186px;
    width: 186px;
}
#consult__info--icon p i {
    display: block;
    margin-bottom: 18px;
}
#consult__info--icon p span {
    display: block;
    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1;
}
#consult__info--txt p {
    color: #545454;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.3;
    text-align: center;
}
#consult__flow {
    margin: 178px auto 186px;
    width: 1000px;
}
#consult__flow h2 {
    border-bottom: 2px solid #e2eef4;
    text-align: center;
}
#consult__flow h2 span {
    display: block;
    color: #4b86a7;
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 60px;
}
#consult__flow ul {
    margin: 100px auto 120px;
    width: 716px;
}
#consult__flow ul li {
    background: url(../images/consult/ico_03.png) no-repeat 60px 38px;
    display: flex;
    align-items: center;
    gap: 50px;
    padding-top: 100px;
}
#consult__flow ul li:first-child {
    background: none;
    padding-top: 0;
}
#consult__flow .consult__flow--num {
    display: inline-grid;
    align-content: center;
    background: #e2eef4;
    border-radius: 30px;
    color: #4b86a7;
    text-align:center;
    height: 144px;
    width: 144px;
}
#consult__flow .consult__flow--num i {
    display: block;
    font-size: 8.3rem;
    font-weight: 500;
    font-style: normal;
}
#consult__flow .consult__flow--txt {
    flex: 1;
}
#consult__flow li h3 {
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 16px;
}
#consult__flow li p {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2.3;
}
#consult__flow--btn p {
    border: 2px solid #4b86a7;
    border-radius: 36px;
    color: #4b86a7;
    font-size: 2.5rem;
    font-weight: 500;
    margin: 0 auto;
    text-align: center;
    line-height: 68px;
    width: 724px;
}
#consult__flow--btn i {
    font-style: normal;
}

#generalTitle {
    margin: 90px auto;
    width: 1000px;
}
#generalTitle__h1 {
    background: #e2eef4;
    border-radius: 30px;
    line-height: 120px;
    padding: 0 55px;
}
#generalTitle__h1--txt {
    display: flex;
    align-items: center;
    gap: 34px;
}
#generalTitle__h1--txt h1 {
    color: #4b86a7;
    font-size: 3.7rem;
    font-weight: 500;
}
#generalTitle__h1--txt p {
    color: #b0b0b0;
    font-size: 1.8rem;
    font-weight: 500;
}
#general__cont {
    margin: 0 auto;
    width: 1000px;
}
#policy__cont {
    margin-bottom: 80px;
}
#policy__cont--txt {
    border-bottom: 1px solid #535353;
    padding-bottom: 40px;
    margin-bottom: 50px;
}
#policy__cont p,
#policy__cont dt,
#policy__cont dd {
    font-size: 1.6rem;
    line-height: 1.875;
}
#policy__cont--txt dt {
    margin-top: 35px;
}
#policy__cont--addr dd {
    margin-bottom: 35px;
}

#general__cont p.send-lead {
    font-size: 1.8rem;
    line-height: 1.6;
    margin: 32px 0;
    text-align: center;
}
#general__cont p.error-lead {
    color: #a7293f;
    font-size: 1.8rem;
    line-height: 1.6;
    margin-bottom: 24px;
    text-align: center;
}
#general__cont ul.errorBox {
    border: 2px solid #a7293f;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 16px 16px 8px;
    width: 872px;
}
#general__cont ul.errorBox li {
    font-size: 1.4rem;
    line-height: 1.2;
    margin-bottom: 8px;
}
#general__cont ul.errorBox li:before {
    content: "・";
}
#general__cont table {
    border-bottom: 1px solid #ccc;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0 auto;
    width: 100%;
}
#general__cont table.tbl_conf {
    margin: 0 auto 40px;
}
#general__cont table th {
    border-top: 1px solid #ccc;
    font-size: 1.6rem;
    font-weight: 400;
    padding: 12px 0;
    text-align: left;
    vertical-align: middle;
    width: 230px;
}
#general__cont table th img {
    margin-right: 8px;
    vertical-align: middle;
}
#general__cont table td {
    border-top: 1px solid #ccc;
    padding: 12px 0;
    vertical-align: top;
    width: 642px;
}
#general__cont span.reserve__cont--req {
    display: inline-block;
    background: #4b86a7;
    border-radius: 8px;
    color: #fff;
    font-size: 1.3rem;
    margin-right: 8px;
    padding: 4px 0;
    text-align: center;
    width: 50px;
}
#general__cont span.reserve__cont--free {
    display: inline-block;
    background: #8B8B8B;
    border-radius: 8px;
    color: #fff;
    font-size: 1.3rem;
    margin-right: 8px;
    padding: 4px 0;
    text-align: center;
    width: 50px;
}
#general__cont .bg_input {
    background: #f8f7f0;
    padding: 4px 30px;
}
#general__cont .bg_input ul {
    display: flex;
    flex-wrap: wrap;
}
#general__cont .bg_input ul li {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
    width: 50%;
}
#general__cont .bg_input input {
    margin: 0 10px 0 0;
    transform: scale(1.4);
    appearance: auto;
}
#general__cont .bg_cal ul {
    margin-bottom: -12px;
    margin-top: -12px;
}
#general__cont .bg_cal ul li {
    align-items: flex-start;
    display: flex;
    font-size: 1.6rem;
    font-weight: 400;
    justify-content: space-between;
    line-height: 2;
    margin: 12px 0;
    white-space: nowrap;
}
#general__cont .bg_cal .dt_cal {
    width: 100%;
}
#general__cont .bg_cal .dt_cal label {
    display: block;
    margin-bottom: 8px;
    position: relative;
    width: 100%;
}
#general__cont .bg_cal .dt_cal label:after {
    background-image: url(../images/common/cal.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 32px;
    left: 10px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
}
#general__cont .bg_cal .dt_cal input {
    -webkit-appearance: none;
    appearance: none;
    background: #F7F1E8;
    border: none;
    box-sizing: border-box;
    height: 40px;
    padding: 12px 12px 12px 50px;
    width: 100%;
}
#general__cont .bg_cal .dt_cal input::-webkit-calendar-picker-indicator {
    background: transparent;
    bottom: 0;
    height: auto;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: auto;
    z-index: 1;
}
#general__cont .bg_cal .dt_cal select {
    background: #F7F1E8;
    border: none;
    box-sizing: border-box;
    margin-right: 8px;
    max-width: 100px;
    padding: 12px;
    position: relative;
    width: 30%;
}
#general__cont .dt_select select {
    background: #F7F1E8;
    border: none;
    box-sizing: border-box;
    padding: 12px;
    font-size: 1.6rem;
    width: 100%;
}
#general__cont .fm_input input {
    background: #F7F1E8;
    border: none;
    box-sizing: border-box;
    padding: 12px;
    font-size: 1.6rem;
    width: 100%;
}
#general__cont .fm_subtxt p {
    font-size: 1.4rem;
    font-weight: 400;
    margin-top: 4px;
}
#general__cont .fm_subtxt span {
    margin-left: 12px;
}
#general__cont textarea {
    background: #F7F1E8;
    border: none;
    box-sizing: border-box;
    font-size: 1.6rem;
    line-height: 1.3;
    min-height: 80px;
    padding: 8px;
    width: 100%;
}

#general__cont .frm_att {
    margin: 50px auto 75px;
    width: 854px;
}
#general__cont .frm_att p {
    font-size: 1.6rem;
    line-height: 2.2;
}

#general__cont .frm_ft {
    text-align: center;
}
#general__cont .frm_ft ul li {
    margin-top: 48px;
}
#general__cont .bg_check {
    box-sizing: border-box;
    background: #ebebe4;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 12px 0;
    margin: 0 auto;
    width: 752px;
}
#general__cont .bg_check input {
    appearance: auto;
    margin: 0 10px 0 0;
    transform: scale(1.8);
    vertical-align: text-top;
}
#general__cont .bg_check label span {
    font-size: 2rem;
    line-height: 1.4;
}
#general__cont .bg_check span a {
    border-bottom: 1px solid #4b86a7;
    color: #4b86a7;
    font-size: 2rem;
    padding-bottom: 2px;
}
#general__cont .frm_ft p {
    color: #706f6f;
    font-size: 1.6rem;
    line-height: 1.4;
    margin: 40px 0 65px;
}
#general__cont button {
    position: relative;
    background: none;
    border: none;
    width: 60%;
}
#general__cont button:hover {
    cursor: pointer;
}
#general__cont button span {
    display: block;
    border: 2px solid #4b86a7;
    border-radius: 36px;
    color: #4b86a7;
    font-size: 2.5rem;
    font-weight: 500;
    margin: 0 auto;
    text-align: center;
    line-height: 68px;
    width: 100%;
    transition: 400ms ease;
}
#general__cont button span::after {
    position: absolute;
    top: calc(50% - 10px);
    right: 10%;
    content: '';
    width: 20px;
    height: 20px;
    border-top: 4px solid #4b86a7;
    border-right: 4px solid #4b86a7;
    transform: rotate(45deg);
}
#general__cont button:hover span {
    background: #4b86a7;
    color: #fff;
}
#general__cont button:hover span::after {
    border-color: #fff;
}
#general__cont button.btn_back span {
    border: 2px solid #b0b0b0;
    color: #5c6a72;
    font-size: 2.2rem;
}
#general__cont button.btn_back:hover span {
    background: #b0b0b0;
    color: #fff;
}
#general__cont button.btn_back span::after {
    left: 10%;
    content: '';
    width: 20px;
    height: 20px;
    border-top: none;
    border-right: none;
    border-bottom: 4px solid #5c6a72;
    border-left: 4px solid #5c6a72;
    transform: rotate(45deg);
}
#general__cont button.btn_back:hover span::after {
    border-color: #fff;
}
#general__cont .bg_conf {
    background: #f8f7f0;
    padding: 16px;
}
#general__cont .bg_conf p {
    font-size: 1.6rem;
    line-height: 1.5;
}
#general__cont .bg_conf span {
    display: block;
    margin-bottom: 12px;
}
#main-res_comp p {
    font-size: 1.6rem;
    line-height: 2;
    text-align: center;
}

.fm_radio01 ul,
.fm_radio02 ul {
    display: flex;
    font-size: 1.7rem;
    align-items: center;
    gap: 32px;
    margin: 12px 0;
}
.fm_radio01 ul li input,
.fm_radio02 ul li input {
    appearance: auto;
    margin: 0 10px 0 0;
    transform: scale(1.8);
    vertical-align: baseline;
}
.fm_radio01_txt p input,
.fm_radio02_txt p input {
    background: #F7F1E8;
    border: none;
    box-sizing: border-box;
    padding: 12px;
    font-size: 1.6rem;
    width: 100%;
}
.fm_time ul {
    display: flex;
    font-size: 1.7rem;
    align-items: center;
    gap: 16px;
}
.fm_time input {
    background: #F7F1E8;
    border: none;
    box-sizing: border-box;
    font-size: 2rem;
    padding: 12px;
    min-width: 100px;
    letter-spacing: 0.2em;
}
.fm_var01, .fm_var02, .fm_var03, .fm_var04 {
    display: none;
}

#reserve__cont,
#inquiry__cont,
#partnership__cont {
    margin-bottom: 100px;
}
#inquiry__cont--lead,
#partnership__cont--lead {
    margin-bottom: 60px;
    width: 1000px;
}
#inquiry__cont--lead p,
#partnership__cont--lead p {
    color: #4b86a7;
    font-size: 3rem;
    line-height: 1.8;
    text-align: center;
}
#inquiry__cont--lead ol,
#partnership__cont--lead ol {
    margin: 45px auto 0;
    width: 560px;
}
#inquiry__cont--lead ol li,
#partnership__cont--lead ol li {
    font-size: 1.6rem;
    list-style-type: decimal;
    line-height: 2.1;
}
.partnership__cont--subtitle {
    background: #4b86a7;
    color: #fff;
    font-size: 2.2rem;
    padding: 16px 20px;
    margin: 36px auto;
}
#partnership__cont .bg_address input {
    background: #F7F1E8;
    border: none;
    box-sizing: border-box;
    padding: 12px;
    font-size: 1.6rem;
    width: 100%;
}
#partnership__cont table.kamei_tbl th {
    padding-top: 24px;
    vertical-align: top;
}
#partnership__cont .bg_address li {
    padding: 0 0 12px;
}
#partnership__cont .bg_address li div {
    display: flex;
    align-items: center;
}
#partnership__cont .bg_address li div i {
    font-size: 1.7rem;
    width: 120px;
}
#partnership__cont .bg_address li span {
    display: block;
    font-size: 1.4rem;
    text-align: right;
    line-height: 2;
}
#place__plan--iframe {
    margin-top: 50px;
}
#place__plan--iframe iframe,
#place__info--iframe iframe {
    pointer-events: none;
}

#forp__form {
    padding: 20px 0 100px;
}
#forp__form table {
    margin-bottom: 100px;
}
#forp__form th span {
    margin-left: 55px;
}
#forp__mypage {
    margin: 125px 0;
}
#forp__mypage h1 {
    color: #4b86a7;
    font-size: 3.7rem;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 110px;
}
#forp__mypage h2 {
    background: #e2eef4;
    text-align: center;
    padding: 30px 0;
}
#forp__mypage h2 span {
    color: #4b86a7;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.5;
}
#forp__mypage ul {
    display: flex;
    justify-content: center;
    gap: 214px;
    margin: 65px 0;
}
#forp__mypage li {
    text-align: center;
}
#forp__mypage li h3 {
    color: #545454;
    font-size: 1.8rem;
    line-height: 1.5;
}
#forp__mypage li p {
    font-size: 1.6rem;
    margin: 20px 0 40px;
}
#forp__mypage a {
    display: block;
    position: relative;
    background: none;
    border: none;
    margin: 0 auto;
    width: 80%;
}
#forp__mypage a span {
    display: block;
    border: 2px solid #4b86a7;
    border-radius: 36px;
    color: #4b86a7;
    font-size: 1.9rem;
    font-weight: 500;
    text-align: center;
    line-height: 52px;
    width: 100%;
    transition: 400ms ease;
}
#forp__mypage a span::after {
    position: absolute;
    right: 10%;
    content: url(/images/forp/ico_01.png);
    vertical-align: middle;
    padding-right: 5px;
}
#forp__mypage a:hover span {
    background: #4b86a7;
    color: #fff;
}
#forp__mypage li i {
    margin-top: 8px;
    font-size: 1.4rem;
    line-height: 1.5;
}
#forp__mypage a:hover span::after {
    content: url(/images/forp/ico_01_ov.png);
}
#forp__form .form-err {
    border: 2px solid #f00;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 40px;
}
#forp__form .form-err p {
    font-size: 1.8rem;
    line-height: 1.5;
}
#forp__form .form-err ul {
    margin-top: 16px;
}
#forp__form .form-err li {
    font-size: 1.4rem;
    text-indent: -1em;
    margin-left: 1em;
}
#forp__form .form-err li::before {
    content: "・";
}
/*---
/*------------------
footer
------------------------------------------------*/
footer {
    background: #e2eef4;
    padding: 64px 0 48px;
}
footer ul {
    text-align: center;
}
footer ul li {
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 500;
    padding: 0 8px;
}
footer ul li + li {
    border-left: 1px solid #4b86a7;
}
footer ul li a {
    color: #4b86a7;
}
footer ul li a:hover {
    text-decoration: underline;
}
footer p {
    color: #545454;
    font-size: 1.2rem;
    font-weight: 500;
    text-align: center;
    margin-top: 24px;
}

.fadeUpTrigger{
    opacity: 0;
}
.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration:1.5s;
    animation-fill-mode:forwards;
    opacity: 0;
}
@keyframes fadeUpAnime{
    from {
        opacity: 0;
        transform: translateY(80px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}