 @charset 'UTF-8';



/*==============================================
　　Reset
==============================================*/
* {
	box-sizing: border-box;
}
html {
	font-size: 10px;
}
body {
	color:#3e3a39;
	font-family: fot-tsukubrdgothic-std, sans-serif;
	font-size: 1.4rem;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
ul, ol {
	margin:0;
	padding:0;
}
li {
	list-style-type: none;
}
p {
	margin:0;
	padding:0;
}
a {
	color:#3e3a39;
	text-decoration: none;
}
a, a:hover, button, button:hover, img, article, input, textarea {
	text-decoration:none;
	-webkit-transition: .2s;
	-moz-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;  
	transition: .2s;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	margin:0;
	padding:0;
}
dl, dt, dd {
	margin:0;
	padding:0;
}
input:focus, textarea:focus {
  outline:none;
}
input, textarea, button {
	border: none;
	background: none;
}
button {
	cursor: pointer;
	display: block;
	width: 100%;
}
figure, figcaption {
	margin: 0;
	padding: 0;
}


/*==============================================
　　Common
==============================================*/

/*　Layout -- Boxレイアウト
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
#wrapper {
	overflow: hidden;
	width: 100%;
}
.outer {
	margin: 0 auto;
	max-width: 1220px;
	width: 100%;
}
.inner {
	margin: 0 auto;
	max-width: 960px;
	width: 100%;
}


/*  Width -- 横幅の指定
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
.w10 { width: 10%; }
.w15 { width: 15%; }
.w20 { width: 20%; }
.w25 { width: 25%; }
.w30 { width: 30%; }
.w35 { width: 35%; }
.w40 { width: 40%; }
.w45 { width: 45%; }
.w50 { width: 50%; }
.w55 { width: 55%; }
.w60 { width: 60%; }
.w65 { width: 65%; }
.w70 { width: 70%; }
.w75 { width: 75%; }
.w80 { width: 80%; }
.w85 { width: 85%; }
.w90 { width: 90%; }
.w95 { width: 95%; }
.w100 { width: 100%; }


/*　Font -- 書式の指定
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
.eng {font-family: futura-pt, sans-serif;}
.txt {
	line-height: 1.7;
	text-align: justify;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}
.txt-bold   {font-weight: bold;}
.txt-nomal  {font-weight: normal;}
.txt-italic {font-style: italic;}
.txt-red {color:#f24416; line-height: 1.7;}
.txt-center {text-align: center; line-height: 1.7;}



/*　Link -- リンクの指定
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
.txtLink,
.txtLink_o:hover { text-decoration: underline; }


/*　Load -- ローディング
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
#load {
	width: 100%;
	height: 100vh;
	background: #fff;
	z-index: 999999998;
	position: fixed;
	top: 0;
	left: 0;
}
#logomark {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 999999999;
	-webkit-transform: translate(-50%,-50%);
	   -moz-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	     -o-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}
.ball-rotate > div {
	background: #ef8db8;
}
.ball-rotate > div:before, .ball-rotate > div:after {
	background: #fbc70d;
}



/*　Button -- ボタン
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
.c-btn01 {}


/*　Title -- 見出し
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
.c-title01 {}


/*　Table -- 表組み
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
.c-table01 {}



/*==============================================
　　Header
==============================================*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999999;
	transition:.2s;
	box-shadow: 0 0 32px rgba(62,58,57,.08);
}
#header.fixed {
	background: #fff;
	transition:.2s;
}
.header__inner {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
#gnav ul {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
#gnav ul li + li {
	margin-left: 32px;
}
#gnav ul li a {
	display: block;
	padding: 40px 0;
	font-weight: bold;
}
#gnav ul li.yoyaku a {
	padding: 40px 32px;
	background: #ef8db8;
	color:#fff;
	position: relative;
}
#gnav ul li.yoyaku a:after {
	content: "";
	width: 5px;
	height: 5px;
	border-right: 2px solid rgba(255,255,255,.48);
	border-bottom: 2px solid rgba(255,255,255,.48);
	position: absolute;
	bottom: 24px;
	left: 50%;
	transform:translateX(-50%) rotate(45deg);
}
.header__logo {
	position: fixed;
	top: 0;
	left: 0;
	transition:.2s;
}
.header__logo a {
	display: block;
	width: 320px;
	height: 160px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-radius: 0 0 16px 0;
}
#header.fixed .header__logo a {
	height: 96px;
	transition:.2s;
}




/*==============================================
　　Main
==============================================*/

/*　TopPage
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
#topMv {
	padding: 0 24px 96px;
	position: relative;
	background: url(img/mv_bg.png) no-repeat left -80px top -80px / 640px;
}
#topMv .outer {
	position: relative;
	padding-top: 96px;
}
#topMv .mv__image {
	width: calc(100% + calc(100vw - 1220px) / 2);
	max-height: 720px;
	position: absolute;
	left: 160px;
	top: 96px;
	overflow: hidden;
}
#topMv .mv__image:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 50%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 50%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 50%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.mv__catch {
	margin-top: 200px;
	position: relative;
	z-index: 2;
}
.mv__catch .mv__catch_main {
	font-size: 4.8rem;
	font-weight: bold;
	letter-spacing: .7rem;
	line-height: 1.8;
}
.mv__catch .mv__catch_main span {
	border-bottom: 1px solid #d8d8d8;
	padding-bottom: 20px;
}
.mv__catch .mv__catch_sub {
	font-size: 2.8rem;
	color:#ef8db8;
	letter-spacing: .2rem;
	margin-top: 48px;
}
.mv__catch_txt {
	max-width: 360px;
	line-height: 1.7;
	font-size: 1.4rem;
	margin-top: 16px;
}
.btn__wrap {
	max-width: 320px;
	width: 100%;
}
.btn__wrap .btn {
	background: #ef8db8;
	color:#fff;
	display: block;
	padding: 20px 24px;
	text-align: center;
	border-radius: 8px;
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1;
	position: relative;
}
.btn__wrap .btn:after {
	content: "";
	width: 5px;
	height: 5px;
	border-top: 2px solid rgba(255,255,255,.48);
	border-right: 2px solid rgba(255,255,255,.48);
	position: absolute;
	top: 50%;
	right: 16px;
	transform:translateY(-50%) rotate(45deg);
}
.btn__wrap .btn.contact:after {
	transform:translateY(-50%) rotate(135deg);
}
.mv__catch_txt + .btn__wrap {
	margin-top: 32px;
}
.topsc {
	padding: 96px 24px 72px;
}
.top__ttl {
	text-align: center;
	position: relative;
	margin-bottom: 64px;
}
.top__ttl:before {
	content: "";
	width: 140px;
	height: 140px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform:translate(-50%,-50%);
}
.top__ttl.orange:before {
	background: url(img/ttl_bg_orange.png) no-repeat center center / 100%;
}
.top__ttl.blue:before {
	background: url(img/ttl_bg_blue.png) no-repeat center center / 100%;
}
.top__ttl .ja {
	display: block;
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: .2rem;
	position: relative;
	z-index: 1;
}
.top__ttl .eng {
	font-size: 1.6rem;
	letter-spacing: .1rem;
	display: block;
	margin-top: 16px;
	position: relative;
	z-index: 1;
}
.top__ttl.orange .eng {
	color:#fbc70d;
}
.top__ttl.blue .eng {
	color: #ef8db8;
}
#topFlow {
	background: url(img/flow_bg.png) no-repeat top center / cover;
}
.flow__list {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
}
.flow__list li {
	width: 31.25%;
	margin-right: 3.125%;
	background: #fff;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 0 32px rgba(62,58,57,.08);
}
.flow__list li:nth-child(3n) {
	margin-right: 0;
}
.flow__list li .content {
	padding: 0 32px;
}
.flow__list li .title {
	font-size: 1.9rem;
	font-weight: bold;
	text-align: center;
	margin-top: 32px;
}
.flow__list li .txt {
	margin-top: 24px;
}
.flow__list li .step {
	text-align: center;
	padding: 24px 0;
	border-top: 1px solid #eaecf4;
	font-size: 1.4rem;
	color:#ef8db8;
	letter-spacing: .1rem;
	margin-top: 32px;
}
#topSearch {
	padding-bottom: 0;
}
#topSearch .outer {
	padding-bottom: 80px;
	border-bottom: 1px solid #eaecf4;
}
.search__list {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	position: relative;
}
.search__list:before {
	content: "";
	width: 80px;
	height: 80px;
	background: #fff url(img/logomark.svg) no-repeat center center / 32px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform:translate(-50%,-50%);
}
.search__list li {
	width: 50%;
	padding: 48px 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
.search__list li:nth-child(-n+2){
	padding-bottom: 48px;
}
.search__list li:not(:nth-child(-n+2)) {
	padding-top: 48px;
	padding-bottom: 32px;
	border-top: 1px solid #eaecf4;
}
.search__list li:nth-child(odd) {
	padding-right: 64px;
}
.search__list li:nth-child(even) {
	padding-left: 64px;
	border-left: 1px solid #eaecf4;
}
.search__list li .image {
	width: 160px;
	position: relative;
}
.search__list li .image:before {
	content: "";
	background: url(img/search_image_bg.png) no-repeat center center / 100%;
	width: 200px;
	height: 200px;
	position: absolute;
	top: -8px;
	left: -8px;
	z-index: -1;
}
.search__list li .image img {
	border-radius: 50%;
}
.search__list li .content {
	width: calc(100% - 160px);
	padding-left: 32px;
}
.search__list li .title {
	font-size: 2.2rem;
	font-weight: bold;
}
.search__list li .txt {
	margin-top: 16px;
}
#topFaq {
	background: url(img/faq_bg.png) no-repeat center top / cover;
}
#topFaq .inner {
	max-width: 800px;
}
.faq__box + .faq__box {
	margin-top: 24px;
}
.faq__box dt {
	padding: 24px 32px;
	line-height: 1.7;
	background: #fff;
	border-radius: 10px;
	font-weight: bold;
	font-size: 1.9rem;
	font-weight: bold;
	cursor: pointer;
	box-shadow: 0 0 16px rgba(62,58,57,.08);
	position: relative;
}
.faq__box dt:after {
	content: "";
	width: 24px;
	height: 24px;
	background: #fbc70d url(img/batsu.svg) no-repeat center center / 8px;
	position: absolute;
	top: 50%;
	right: 24px;
	transform: translateY(-50%);
	border-radius: 50%;
	transition:.2s;
}
.faq__box dt.open:after {
	transform: translateY(-50%) rotate(45deg);
	transition:.2s;
}
.faq__box dt span {
	display: inline-block;
	padding-left: 32px;
	position: relative;
}
.faq__box dt span:before {
	content: "Q";
	color:#ef8db8;
	font-family: futura-pt, sans-serif;
	font-size: 2.7rem;
	position: absolute;
	bottom: 2px;
	left: 0;
	font-weight: normal;
	line-height: 1;
}
.faq__box dd {
	margin-top: 24px;
	margin-bottom: 48px;
	display: none;
}
#topReservation {
	position: relative;
	background: url(img/reserve_bg.jpg) no-repeat top center / 100%;
}
#topReservation:before {
	content: "";
	width: 100%;
	height: 740px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: url(img/faq_bg.png) no-repeat center bottom / cover;
	z-index: -1;
}
#topReservation .inner {
	padding: 104px 80px 80px;
	background: #fff;
	box-shadow: 0 0 32px rgba(62,58,57,.08);
}
.form__tb {
	width: 100%;
	border-collapse: collapse;
}
.form__tb tbody tr th,
.form__tb tbody tr td {
	padding: 16px 0;
	text-align: left;
	vertical-align: top;
}
.form__tb tbody tr th {
	width: 25%;
	padding-top: 32px;
}
.form__tb tbody tr th.middle {
	vertical-align: middle;
	padding-top: 16px;
}
.form__tb .req {
	font-size: 1.1rem;
	color:#fff;
	background: #f24416;
	display: inline-block;
	padding: 5px 10px;
	margin-right: 10px;
	font-weight: bold;
}
.form__tb input,
.form__tb textarea {
	padding: 16px;
	border-radius: 10px;
	border:1px solid #eaecf4;
	background: #fff;
	font-weight: bold;
}
.form__tb .select__wrap {
	border-radius: 10px;
	border:1px solid #eaecf4;
	background: #fff;
	font-weight: bold;
	position: relative;
	cursor: pointer;
}
.form__tb .select__wrap:after {
	content: "";
	width: 5px;
	height: 5px;
	border-right: 2px solid #a3a1a0;
	border-bottom: 2px solid #a3a1a0;
	position: absolute;
	top: 50%;
	right: 16px;
	transform:translateY(-50%) rotate(45deg);
	z-index: 0;
}
.form__tb .select__wrap select {
	padding: 16px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
    width: 100%;
    position: relative;
    z-index: 1;
}
.form__tb label + .input_label {
	margin-top: 12px;
}
.form__tb .input_label .select__wrap {
	margin-left: 12px;
}
::placeholder {
  color: #b2b0b0;
  font-size: 1.5rem;
  font-family: fot-tsukubrdgothic-std, sans-serif;
}
.input_label + .input_label {
	margin-top: 12px;
}
.input_label.flexwrap {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.zip_auto {
	width: 120px;
	padding: 17px 18px;
	background: #3e3a39;
	color:#fff;
	font-family: fot-tsukubrdgothic-std, sans-serif;
	font-weight: bold;
	border-radius: 10px;
	margin-left: 12px;
}
.policy__wrap {
	border-radius: 24px;
	border:1px solid #eaecf4;
	background: #fff;
	padding: 32px;
	height: 240px;
	font-size: 1.3rem;
	line-height: 1.7;
	overflow: scroll;
}
.policy__wrap dt {
	font-weight: bold;
	color:#ef8db8;
	margin-top: 32px;
}
#topReservation input[type="radio"],
#topReservation input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	z-index: -1; 
}
#topReservation label {
	cursor: pointer;
	display: inline-block;
	margin:5px 24px 5px 0;
}
#topReservation label span {
	display: block;
}
#lwContact label span + label span {
	margin-top: 8px;
}
#topReservation label:last-child span {
	margin-bottom: 0;
}
#topReservation label span {
	position: relative;
	padding-left: 22px;
}
#topReservation label span:before {
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	   -moz-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	     -o-transform: translateY(-50%);
	        transform: translateY(-50%);
	display: inline-block;
	width: 15px;
	height: 15px;
	background-color: #fff;
	box-sizing: border-box;
	border: 1px solid #e6e6e6;
	border-radius: 2px;
	content: "";
}
#topReservation label input[type="radio"] + span:before {
	border-radius: 50%;
}
#topReservation label span:after {
	width: 15px;
	height: 15px;
	left: 0;
	border: none;
	position: absolute;
	top: 0;
	content: "";
}
#topReservation label input[type="radio"]:checked +  span:after{
	width: 7px;
	height: 7px;
	top: 50%;
	left: 4px;
	transform:translateY(-50%);
	background: #ef8db8;
	border-radius: 50%;
}
#topReservation label input[type="checkbox"]:checked + span:after {
	background: url('img/ico_check.png') no-repeat center center / 10px;
}
.agree__wrap {
	text-align: center;
	padding: 40px 0;
	font-weight: bold;
}
#topReservation .btn__wrap {
	margin:0 auto;
}
#topReservation .btn__wrap .btn {
	font-family: fot-tsukubrdgothic-std, sans-serif;
}
#topService .inner {
	max-width: 800px;
}
.tb {
	width: 100%;
	border-collapse: collapse;
}
.tb tbody tr th,
.tb tbody tr td {
	padding: 32px 0;
	text-align: left;
	border-top: 1px solid #eaecf4;
	font-weight: bold;
}
.tb tbody tr th {
	width: 16%;
}
.attent__wrap {
	background: #f6f7fa;
	padding: 32px;
	border-radius: 10px;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.7;
	margin-top: 24px;
}
#topThanks {
	padding-top: 240px;
}
.attent {
	margin-top: 24px;
	display: block;
	font-weight: bold;
}
#topService .btn__wrap {
	margin: 32px auto 0;
}
.c-list01 {
	margin-top: 16px;
}
.c-list01 li {
	padding-left: 16px;
	position: relative;
	line-height: 1.5;
	font-weight: bold;
}
.c-list01 li:before {
	content: "";
	width: 5px;
	height: 5px;
	background: #ef8db8;
	border-radius: 50%;
	position: absolute;
	top: 8px;
	left: 0;
}
.c-list01 li + li {
	margin-top: 8px;
}
.notes_title {
	font-size: 2.2rem;
	font-weight: bold;
	color: #ef8db8;
	padding-bottom: 12px;
	margin-top: 40px;
	border-bottom: 1px solid #ef8db8;
}



/*==============================================
　　Footer
==============================================*/
#footer {
	padding: 0 24px;
}
#footer .outer {
	border-top: 1px solid #eaecf4;
	padding: 88px 0;
}
.copy {
	text-align: center;
	margin-top: 72px;
}
.copy small {
	color:#ef8db8;
	font-size: 1.6rem;
}
#pagetop {
	width: 64px;
	height: 64px;
	background: #fbc70d;
	border-radius: 10px;
	position: fixed;
	bottom: 32px;
	right: 32px;
}
#pagetop:before,
#pagetop:after {
	content: "";
}
#pagetop:before {
	width: 5px;
	height: 5px;
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform:translate(-50%,-50%) rotate(-45deg);
}
#pagetop:after {
	width: 2px;
	height: 10px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform:translate(-50%,-50%);
}
.footer__menu {
	display: flex;
	justify-content: center;
	align-items: center;
}
.footer__menu li + li {
	border-left: 1px solid #eaecf4;
}
.footer__menu li a {
	display: block;
	padding: 0 24px;
	font-weight: bold;
}
.footer__menu li a:hover {
	text-decoration: underline;
}




/* 追記 */
.soudan_catch {
	padding-bottom: 80px;
	text-align: center;
}
.soudan_catch .main {
	font-size: 2.6rem;
	line-height: 1.6;
	font-weight: 700;
}
.soudan_catch .sub {
	font-size: 1.8rem;
	margin-top: 16px;
}
.soudan_title {
	max-width: 400px;
	width: 100%;
	margin: 0 auto 32px;
}
.soudan_list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.soudan_list li {
	width: 280px;
	height: 280px;
	position: relative;
	background: url('img/soudan_bg.png') no-repeat center center / 100%;
	text-align: center;
	padding-top: 40px;
	margin: 16px 24px;
}
.soudan_list li .soudan_num span {
	font-size: 2.8rem;
	color: #ef8db8;
	display: inline-block;
	padding-bottom: 8px;
	border-bottom: 1px solid #ef8db8;
	font-weight: 600;
}
.soudan_list li .soudan_txt {
	font-size: 1.8rem;
	line-height: 1.6;
	margin-top: 16px;
}
.soudan_list li .soudan_txt span {
	font-size: 2.6rem;
	font-weight: 700;
	background:linear-gradient(transparent 60%, rgba(253,219,99,.7) 60%);
}
.soudan_list li .soudan_image {
	margin-top: 16px;
}
.agree__content {
	text-align: center;
	padding: 32px;
	background: #fcf9fb;
	border-radius: 10px;
	margin-top: 32px;
}
.agree__content .title {
	font-size: 1.7rem;
	font-weight: bold;
	margin-bottom: 15px;
}
.c-list01 li {
	padding-left: 15px;
	position: relative;
	text-align: left;
	line-height: 1.7;
}
.c-list01 li:before {
	content: "";
	width: 8px;
	height: 8px;
	background: #ef8db8;
	border-radius: 50%;
	position: absolute;
	top: 8px;
	left: 0;
}
.agree__content .c-list01 {
	display: inline-block;
}
.contact_tel {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.contact_tel span {
	background: #ef8db8;
	display: inline-block;
	padding: 5px 16px;
	color: #fff;
	font-weight: bold;
	margin: 16px;
	border-radius: 4px;
}
.contact_tel .tel {
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: .2rem;
}
.footer_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.address .title {
	font-size: 1.7rem;
	font-weight: bold;
	margin-bottom: 16px;
}

