@charset "UTF-8";
/* CSS Document */
@media screen and (min-width:821px){
	.sp-only { display: none; }
}


@media screen and (max-width:820px){

/*==========================
　　　　　  Common
==========================*/
.w10,.w20,.w30,.w40,.w50,.w60,.w70,.w80,.w90 {width: 100%;}
.left_clm  {float: left;}
.right_clm {float: right;}
.pc-only { display: none; }



/*==========================
　　　　　　Header
==========================*/
#header.fixed .header__logo a {
	height: 72px;
}
/* gnav */
#gnav {
	position: fixed;
	top: 0;
	left: 0;
	background: #fff;
	height: 100vh;
	width: 100%;
	visibility: hidden;
	opacity: 0;
	transition: .2s;
}
#gnav.open {
	visibility: visible;
	opacity: 1;
	transition: .2s;
}
#gnav ul {
	display: block;
	padding: 80px 24px;
}
#gnav ul li {
	width: 100%;
	text-align: center;
}
#gnav ul li + li {
	margin:0;
	border-top:1px solid #eaecf4;
}
#gnav ul li a,
#gnav ul li.yoyaku a {
	padding: 32px 0;
}
#gnav ul li.yoyaku a:after{
	bottom: 16px;
}

/* burger button */
#burger {
	display: block;
	width: 18px;
	height: 18px;
	text-align: center;
	position: fixed;
	top: 17px;
	right: 15px;
	z-index: 999999999;
}
#burger span {
	display: block;
	height: 2px;
	width: 18px;
	background-color: #000;
	margin: 4px auto;
	transition: .3s;
}
#burger.open span:first-child {
	transform: translateY(6px) rotate(45deg);
	transition: .3s;
}
#burger.open span:nth-child(2n) {
	opacity: 0;
	transition: .3s;
}
#burger.open span:last-child {
	transform: translateY(-6px) rotate(-45deg);
	transition: .3s;
}
.header__logo {
	z-index: 999999999;
}



/*==========================
　　　　　　Main
==========================*/
/*　Common
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/



/*　TopPage
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
#topMv .mv__image {
	left: auto;
	right: -24px;
	width: 80%;
}
.flow__list li .content {
    padding: 0 16px;
}
.flow__list li .step {
	padding: 16px 0;
	margin-top: 24px;
}
.search__list li,
.search__list li:nth-child(odd),
.search__list li:nth-child(even) {
	width: 100%;
	padding: 24px 0 40px;
	border:none;
}
.search__list li + li {
	border-top: 1px solid #eaecf4!important;
}
.search__list li .content {
	margin-top: 16px;
}
#topReservation .inner {
    padding: 80px 40px;
}


}


@media screen and (max-width:420px){
#header {
	background: #fff;
	box-shadow: 0 0 32px rgb(62 58 57 / 8%);
}
.header__logo {
	position: relative;
	top: auto;
	left: auto;
}
.header__logo a,
#header.fixed .header__logo a {
	width: auto;
	height: auto;
	padding: 16px 24px;
}
.header__logo a img {
	width: 120px;
}
.header__inner {
	justify-content: flex-start;
}
#topMv {
	padding: 0;
}
#topMv .outer {
	padding-top: 57px;
}
#topMv .mv__image {
	position: relative;
	width: 100%;
	height: auto;
	top: auto;
	right: auto;
}
.mv__catch {
	margin-top: 16px;
	padding: 0 24px;
}
.mv__catch .mv__catch_main {
    font-size: 3rem;
    letter-spacing: .2rem;
}
.mv__catch .mv__catch_main span {
	padding-bottom: 10px;
}
.mv__catch .mv__catch_sub {
    font-size: 2rem;
    letter-spacing: .1rem;
    margin-top: 16px;
}
.mv__catch_txt + .btn__wrap {
    margin-top: 24px;
}
.btn__wrap {
	max-width: none;
}
.top__ttl {
	margin-bottom: 40px;
}
.top__ttl .ja {
	font-size: 2.4rem;
}
.top__ttl .eng {
	font-size: 1.4rem;
	margin-top: 8px;
}
.flow__list {
	display: block;
}
.flow__list li {
	width: 100%;
}
.flow__list li + li {
	margin-top: 32px;
}
.search__list li {
	display: block;
	width: 100%;
}
.search__list li .image {
	margin:0 auto;
}
.search__list li .content {
	padding: 0;
	margin:32px auto 0;
	width: 100%;
}
.search__list:before {
	display: none;
}
.search__list li .title {
	font-size: 2rem;
	text-align: center;
}
#topSearch .outer {
    padding-bottom: 24px;
}
.topsc {
    padding: 64px 24px 56px;
}
.faq__box + .faq__box {
    margin-top: 8px;
}
.faq__box dt {
    padding: 16px;
    padding-right: 32px;
    font-size: 1.5rem;
    line-height: 1.6;
}
.faq__box dt span {
	padding-left: 24px;
}
.faq__box dt span:before {
	font-size: 2rem;
	top: 50%;
	bottom: auto;
	transform:translateY(-50%);
}
.faq__box dt:after {
	width: 16px;
	height: 16px;
	right: 16px;
}
.faq__box dd {
    margin-top: 16px;
    margin-bottom: 32px;
}
#topReservation .inner {
    padding: 64px 24px;
}
.form__tb tbody tr th,
.form__tb tbody tr td {
	display: block;
	width: 100%;
	padding: 16px 0;
}
.form__tb tbody tr th {
	padding-bottom: 0;
}
.form__tb tbody tr td {
	border-bottom: 1px solid #eaecf4;
}
.form__tb tbody tr:last-child td {
	border-bottom: none;
}
.zip_auto {
	padding: 11px 12px;
	font-size: 1.2rem;
}
.policy__wrap {
	padding: 24px;
	height: 160px;
	font-size: 1.2rem;
	line-height: 1.6;
}
.agree__wrap {
	padding: 32px 0;
}
.tb tbody tr th {
    width: 100px;
}
.tb tbody tr th, .tb tbody tr td {
	padding: 16px 0;
	line-height: 1.6;
}
#pagetop {
    width: 56px;
    height: 56px;
    right: 16px;
    bottom: 16px;
}
#footer .outer {
	padding: 40px 0;
}


/* 220623追記 */
#soudanBtn {
	width: 120px;
	height: 120px;
	right: auto;
	bottom: 16px;
	left: 16px;
}
#soudanBtn:before {
	width: 160px;
	height: 160px;
}
#topPresent {
	padding-top: 104px;
}
.present_list li + li {
	margin-top: 40px;
}
.footer_inner {
	display: block;
}
.footer__menu {
	margin-top: 40px;
}

}





