charset "UTF-8";"

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}
button,
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
}
input[type="radio"] { display: none; }
input[type="radio"]:checked + label {
    background: #ff0000;
}




/*=================================================================================

	プランRSS

=================================================================================*/
.plan_rss { 
	display: flex; 
	flex-wrap: wrap; 
	justify-content: space-between; 
	width: 800px;
}
.mini {
	width: 250px; 
	padding: 0px;
	display:flex; flex-wrap: wrap; 
}
.plan_img,
.plan_img img,
.plan_text {
	width: 100%; 
}
.plan_img { order:1; }
.plan_img img {
	display: block; 
	height: auto;
}
.plan_text {
	text-align: left; 
	order: 2;
}
.plan_text a,
.plan_text h4,
.plan_text p { 
	font-size: 14px; 
}
.plan_text a { text-decoration: none; }
.plan_text h4 { margin: 15px 0; }


/** media Queries
=================================================================================*/
@media only screen and (max-width: 767px) {

.plan_rss{
	display:flex; 
	flex-wrap: wrap; 
	justify-content: space-between; 
	width: 100%;
}
.mini {
	width: auto; 
	padding: 20px;
}
.plan_text { text-align: left; }

}


/*=================================================================================

	検索窓

=================================================================================*/
.plan_form { width: 800px; }
.plan_form .form_box { 
	display: flex; 
	flex-wrap: wrap; 
	justify-content: space-between;
}
.plan_form .title {
	margin: 0 0 5px 0;
	padding: 0; 
	text-align: center; 
	font-size: 14px;
}
.plan_form span { margin: 0 10px 0 0; }
.plan_form select{
	position: relative;
	border-radius: 1px;
	border: 1px solid #bfbfbf; 
	background: #fff; 
	padding: 10px;
}
.plan_form input{ 
	position: relative;
	border-radius: 1px;
	border: 1px solid #bfbfbf; 
	background: #fff; 
	padding: 10px;
}
.plan_form .check_in,
.plan_form .undecided,
.plan_form .guests,
.plan_form .type,
.plan_form .price {
	width: auto; 
	text-align: center;
}
.plan_form .check_in input {
	width: 100px; 
	cursor: pointer;
}
.plan_form .undecided input { margin: 5px 0 0 -18px; }
.plan_form .guests select{ width:100px; }
.plan_form .type select{ width:100px; }
.plan_form .price span {
	width: 10px; 
	text-align: center; 
	margin: 0;
}
.plan_form .search_btn .btn{
	width:100px; 
	margin:20px auto; 
	padding:10px 0 10px 0; 
	background:#330301; 
	background-position:right 15px center; 
	border:none; color:#fff; 
	font-size:18px; 
	cursor: pointer;
}
.plan_form .option-input{
	position:relative;  
	cursor: pointer;
}
.plan_form .option-input::before { 
	position: absolute; 
	z-index: 1; top: 0.125rem; 
	left: 0.1875rem; 
	width: 0.75rem; 
	height: 0.375rem; 
	content: ''; 
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75); 
	transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75); 
	-webkit-transform: rotate(-45deg) scale(0, 0); 
	transform: rotate(-45deg) scale(0, 0); 
	border: 2px solid #330301; 
	border-top-style: none; 
	border-right-style: none;
}
.plan_form .option-input:checked:before { 
	-webkit-transform: rotate(-45deg) scale(1, 1); 
	transform: rotate(-45deg) scale(1, 1);
}
.plan_form .option-input::after { 
	position: absolute; 
	top: -0.125rem; 
	left: 0; 
	width: 100%; 
	height: 100%; 
	content: ''; 
	cursor: pointer; 
	border: 2px solid #330301; 
	background: #fff;
}


/** media Queries
=================================================================================*/
@media only screen and (max-width: 767px) {

.plan_form {
	width: auto; 
	padding: 20px;
	position: relative;
}
.plan_form .form_box {
	display: flex; 
	flex-wrap: wrap; 
	justify-content:space-between;
}
.plan_form .title { 
	margin: 0 0 5px 0; 
	padding: 0; 
	text-align: center; 
	font-size: 14px;
}
.plan_form span { margin: 0 10px 0 0; }
.plan_form select {
	position: relative;
	border-radius: 1px;
	border: 1px solid #bfbfbf; 
	background: #fff; 
	padding: 10px;
}
.plan_form input { 
	position: relative;
	border-radius: 1px;
	border: 1px solid #bfbfbf; 
	background: #fff; 
	padding: 10px;
}
.plan_form .check_in {
	width: 48%; 
	text-align: center; 
	margin: 0 0 20px 0;
}
.plan_form .check_in input{ width:100%; }
.plan_form .undecided {
	width: 50%; 
	text-align: center; 
	margin: 0 0 20px 0;
}
.plan_form .undecided input { margin: 0 0 0 -20px; }
.plan_form .guests{
	width: 48%; 
	text-align: center; 
	margin: 0 0 20px 0;
}
.plan_form .guests select { width:100%; }
.plan_form .type {
	width: 48%; 
	text-align: center; 
	margin: 0 0 20px 0;
}
.plan_form .type select{ width:100%; }
.plan_form .price {
	width: 100%; 
	text-align: center; 
	display: flex; 
	flex-wrap: wrap; 
	justify-content:space-between; 
	align-items: center;
}
.plan_form .price .title{ width: 100%; }
.plan_form .price select{ width: 46%; } 
.plan_form .price span {
	width: 10px;
	text-align: center; 
	padding: 0 6px 0 0;
}
.plan_form .search_btn { width:100%; }    
.plan_form .search_btn .btn{
	width: 100%; 
	margin: 20px auto; 
	padding: 10px 0; 
	background: #330301; 
	background-position: right 15px center; 
	border: none; 
	color: #fff; 
	font-size: 18px; 
	cursor: pointer;
}
.plan_form .option-input {
	position: relative;  
	cursor: pointer; 
	height: auto;
}
.plan_form .option-input::before { 
	position: absolute; 
	z-index: 1; 
	top: 0.125rem; 
	left: 0.1875rem; 
	width: 0.75rem; 
	height: 0.375rem; 
	content: ''; 
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75); 
	transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75); 
	-webkit-transform: rotate(-45deg) scale(0, 0); 
	transform: rotate(-45deg) scale(0, 0); 
	border: 2px solid #330301; 
	border-top-style: none; 
	border-right-style: none;
}
.plan_form .option-input:checked::before { 
	-webkit-transform: rotate(-45deg) scale(1, 1); 
	transform: rotate(-45deg) scale(1, 1);
}
.plan_form .option-input::after { 
	position: absolute; 
	top: -0.125rem; 
	left: 0; 
	width: 100%; 
	height: 100%; 
	content: ''; 
	cursor: pointer; 
	border: 2px solid #330301; 
	background: #fff;
}
input{ height: 42px; }
input[type="text"] {
	box-sizing: border-box;
	font-size: 16px;
}
select {
	box-sizing: border-box;
	font-size: 16px; 
	height: 42px;
}
}



/**********************************************************************************



	お客様専用カスタマイズ



***********************************************************************************/

/*=================================================================================

	プランRSS

=================================================================================*/
.plan_rss { 
	width: 100%;
 	display: flex;
 	justify-content: flex-start;
}
.mini {
	width: calc( ( 100% - 48px ) / 3 );
	margin-right: 24px;
}
.mini:nth-of-type(3n) { margin-right: 0; }
.plan_img img { border-radius: 10px; }
.plan_text { 
	padding: 1em .75em 1.25em;
}
.plan_text h4 { 
	margin-top: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden; 
}
.plan_text h4 a { 
	font-size: 17px;
	font-weight: bold;
	color: var(--key-color);
	text-shadow: none;
}
.plan_text h4 a:hover { 
	color: var(--accent-color);
	text-decoration: underline;
}
.plan_text p { 
	font-size: 15px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	color: var(--font-color);
	text-shadow: none;
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.plan_rss {
	width: 90%;
	min-width: 90%;
	margin: 0 auto;	
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 992px) {

.mini {
	width: calc( ( 100% - 24px ) / 2 );
	margin-right: 24px;
	background-color: #fff;
	box-shadow: var(--shadow);
	border-radius: 10px 10px 0 0;
	margin-bottom: 24px;
}
.mini:nth-of-type(3n) { margin-right: 0; }
.mini:nth-of-type(2n) { margin-right: 0; }

.mini:last-of-type {
	margin: auto;
}

.plan_img  { padding-top: 0; }

}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 668px) {

.mini { 
	width: 100%;
	padding: 1.5em;
	margin-right: 0;
	margin-bottom: 48px;
}
.mini:last-of-type { margin-bottom: 0; }
.plan_img  { padding-top: 0; }
.plan_text { 
	padding: 1em .5em .5em .5em;
	background-color: #fff;
	border-radius: 0 0 3px 3px;
}
}


/*=================================================================================


	検索窓


=================================================================================*/
.search { 
	text-shadow:none;
	background: var(--key-color);
	color: #fff;
}
.search__inner {
	max-width: 1160px;
	margin: 0 auto;
	display: flex;
	padding: 20px 40px 5px;
}
.search-title { 
	font-size: 2.4rem;
	margin: 15px 30px 0 0;
}
.search-title span {
	font-size: 1.4rem;
	font-weight: 500;
	display: block;
	text-align: center;
	margin-top: 0;
	color: var(--sub-color);
}
.plan_form {
	width: calc( 900 / 1120 * 100% );
	margin: 0 auto;
}
.plan_form .search_btn .btn {
	width:120px; 
	background-color: var(--accent-color);
	border-radius: 3px;
	display: inline-block;
	font-size: 1.7rem;
	font-family: var(--font-gothic);
	font-weight: 500;
	text-align: center;
	color: #333;
	margin-top: 24px;
}

/***----- checkboxカスタマイズ -----***/
input[type="checkbox"] {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input[type="checkbox"] {
    cursor: pointer;
    vertical-align: middle;
    position: relative;
}
input[type="checkbox"]::before,
input[type="checkbox"]::after {
    content: "";
    display: block; 
    position: absolute;
}
input[type="checkbox"]::before {
    background-color: #fff;
    border-radius: 0%;
    border: 1px solid #bfbfbf;
    width: 20px;/*チェックボックスの横幅*/
    height: 20px;/*チェックボックスの縦幅*/
    transform: translateY(-50%);
    top: 2px;
    left: 5px;
}

/** media Queries
=================================================================================*/
@media only screen and (max-width: 767px) {
	
input[type="checkbox"]::before {
background-color: #fff;
    border-radius: 0%;
    border: 1px solid #bfbfbf;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    top: 20px;
    left: 5px;
}
}

input[type="checkbox"]::after {
    border-bottom: 3px solid #000;/*チェックの太さ*/
    border-left: 3px solid #000;/*チェックの太さ*/
    opacity: 0;/*チェック前は非表示*/
    height: 6px;/*チェックの高さ*/
    width: 11px;/*チェックの横幅*/
    transform: rotate(-45deg);
    top: -3px;/*チェック時の位置調整*/
    left: 10px;/*チェック時の位置調整*/
}
input[type="checkbox"]:checked::after {
    opacity: 1;/*チェック後表示*/
}


/** media Queries
=================================================================================*/
@media (min-width: 1024px) and (max-width: 1280px) {

.search-title { 
	font-size: 2.2rem;
	margin: 15px 20px 0 0;
}
}


/** media Queries
=================================================================================*/
@media only screen and (max-width: 1024px) {

.search__inner {
	width: 95%;
	min-width: 95%;
	display: flex;
	flex-direction: column;
	padding: 30px 20px 20px 20px;
}
.search-title { margin: 0 auto; }
.plan_form {
	width: calc( 1120 / 1120 * 100% );
	padding: 20px 0 0 0;
	position: relative;
}
.plan_form .price span.tilde {
	width: 10px; 
	text-align: center; 
	margin-left: 0;
}
}

/** media Queries
=================================================================================*/
@media only screen and (max-width: 820px) {

.plan_form .search_btn { width:100%; }    
.plan_form .search_btn .btn{
	width: 100%; 
	margin: 20px auto; 
	padding: 10px 0; 
	background-position: right 15px center; 
	border-radius: 5px; 
	cursor: pointer;
}
}


/** media Queries
=================================================================================*/
@media only screen and (max-width: 768px) {

input[type="checkbox"]::after {
    border-bottom: 3px solid #000;/*チェックの太さ*/
    border-left: 3px solid #000;/*チェックの太さ*/
    opacity: 0;/*チェック前は非表示*/
    height: 6px;/*チェックの高さ*/
    width: 11px;/*チェックの横幅*/
    transform: rotate(-45deg);
    top: 4px;/*チェック時の位置調整*/
    left: 10px;/*チェック時の位置調整*/
}
.plan_form .price span.tilde {
	width: 10px; 
	text-align: center; 
	margin-left: -5px;
}
}

/** media Queries
=================================================================================*/
@media only screen and (max-width: 768px) {

input[type="checkbox"]::after {
    border-bottom: 3px solid #000;/*チェックの太さ*/
    border-left: 3px solid #000;/*チェックの太さ*/
    opacity: 0;/*チェック前は非表示*/
    height: 6px;/*チェックの高さ*/
    width: 11px;/*チェックの横幅*/
    transform: rotate(-45deg);
    top: 16px;/*チェック時の位置調整*/
    left: 10px;/*チェック時の位置調整*/
}
.plan_form .price span.tilde {
	width: 10px; 
	text-align: center; 
	margin-left: 0;
}
}

/** media Queries
=================================================================================*/
@media only screen and (max-width: 668px) {

input[type="checkbox"]::after {
    border-bottom: 3px solid #000;/*チェックの太さ*/
    border-left: 3px solid #000;/*チェックの太さ*/
    opacity: 0;/*チェック前は非表示*/
    height: 6px;/*チェックの高さ*/
    width: 11px;/*チェックの横幅*/
    transform: rotate(-45deg);
    top: 16px!important;/*チェック時の位置調整*/
    left: 10px;/*チェック時の位置調整*/
}
.plan_form .price span.tilde {
	width: 10px; 
	text-align: center; 
	margin-left: -5px;
}
}