body {
	font-family : '游ゴシック体', 'YuGothic', sans-serif;
}

/* Material iconsを利用する */
.material-icons {
	font-family             : 'Material Icons';
	font-weight             : normal;
	font-style              : normal;
	font-size               : 24px; /* 推奨サイズ */
	display                 : inline-block;
	width                   : 1em;
	height                  : 1em;
	line-height             : 1;
	text-transform          : none;

	/* WebKitブラウザサポート */
	-webkit-font-smoothing  : antialiased;
	/* Chrome、Safariサポート */
	text-rendering          : optimizeLegibility;

	/* Firefoxサポート */
	-moz-osx-font-smoothing : grayscale;

	/* IEサポート */
	font-feature-settings   : 'liga';
}

body {
	overflow-x : hidden;
}

.top {
	position      : relative;
	margin-bottom : -1px;
	overflow      : hidden;
}

.top > .bg-image {
	min-height : 240px;
}

.bg-image > img {
	min-width : 400px;
}

.bg-image.sm {
	left        : 50%;
	margin-left : -620px;
	height      : 600px;
	position    : relative;
}

.top > .top-container {
	position   : absolute;
	text-align : center;
	width      : 100%;
	top        : 0px;
}

#logo-container {
	margin-top : 30px;
}

.logo-image {
	width : 160px;
}

.oem-cross {
	width  : 30px;
	margin : 10px 20px;
}

.oem-logo {
	width : 200px;
}

.price-oem-comment {
	margin-bottom : 10px;
}

.flexiblebox {
	display             : -webkit-flex;
	display             : flex;
	-webkit-align-items : center; /* 縦方向中央揃え（Safari用） */
	align-items         : center; /* 縦方向中央揃え */
}

.flexiblebox.center {
	-webkit-justify-content : center; /* 横方向中央揃え（Safari用） */
	justify-content         : center; /* 横方向中央揃え */
}

.flexiblebox.right {
	-webkit-justify-content : flex-end;
	justify-content         : right;
}

.flexiblebox.left {
	-webkit-justify-content : center; /* 横方向中央揃え（Safari用） */
	justify-content         : center; /* 横方向中央揃え */
}

.top-container > .logo-image {
	width      : 15%;
	margin-top : 60px;
	min-width  : 110px;
}

.top-container > .description {
	margin-top    : 40px;
	margin-bottom : 15px;
	font-size     : 3vw;
	font-weight   : bold;
}

.top-container > table {
	margin : 0 auto;
}

.top-container p.requestcounter {
	margin           : 2.5vw auto 10vw;
	width            : 30%;
	border           : 1px solid #CAC9C7;
	padding          : 1vw;
	background-color : #FDFDFD;
	color            : #6E6E6E;
	z-index          : 999;
}

.top-container p.requestcounter span {
	font-size   : 1.5em;
	color       : #000;
	font-weight : bold;
}

.info-check {
	width : 28px;
}

.info-text {
	text-align  : left;
	font-size   : 1.4vw;
	font-weight : bold;
}

.bg-image-left {
	width    : 70%;
	bottom   : 0;
	left     : 10px;
	position : absolute;
}

.bg-image-right {
	width    : 50%;
	bottom   : 0;
	right    : 10px;
	position : absolute;
}

.top-image-mob {
	position   : absolute;
	bottom     : 0;
	text-align : center;
}

.bg-image-leftright {
	height : 300px;
}

.blank-green {
	border : solid 10px #00B09A;
	margin : 0;
}

.tab-description {
	padding     : 20px 10px 0px 10px;
	font-weight : bold;
	font-size   : 2vw;
	color       : #00B09A;
	line-height : 1.8;
}

.tab-container {
	background-color : #F4F9F7;
	padding          : 25px 25px 0 25px;
	color            : white;
}

.tab {
	height    : 100%;
	padding   : 10px;
	font-size : 1.2em;
}

a.tab-link:link {
	color : white;
}

a.tab-link:visited {
	color : white;
}

a.tab-link:hover {
	color : #eae3eb;
}

a.tab-link:active {
	color : white;
}

.tab-text {
	font-weight : bold;
}

.tab-icon {
	position    : absolute;
	height      : 100%;
	margin-left : 15px;
}

.tab-arrow {
	position        : absolute;
	width           : 100%;
	height          : 100%;
	padding-right   : 45px;
	display         : -webkit-flex;
	display         : flex;
	justify-content : flex-end;
	align-items     : center;
}

.tab-arrow > img {
	height : 70%;
}

.footer-menu {
	background-color : #F6F5F6;
	text-align       : right;
	padding          : 20px 3vw;
}

.footer-menu > a {
	margin    : 20px;
	font-size : 0.8em;
}

.footer-menu > a:link {
	color : #5a5a5a;
}

.footer-menu > a:visited {
	color : #5a5a5a;
}

.footer-menu > a:active {
	color : #5a5a5a;
}

.footer {
	background-color : #3E3939;
	color            : white;
	font-size        : 0.7em;
	padding          : 30px;
	position         : relative;
}

.footer > img {
	width         : 90px;
	margin-bottom : 20px;
}

.main-content {
	border-top : solid 13px;
}

.main-content.index {
	background-color : #F4F9F7;
	height           : 25px;
}

.main-content > .topic {
	padding     : 1px;
	line-height : 1.7;
}

.topic-content {
	background-color      : white;
	padding               : 30px 60px;
	font-size             : 1.3vw;
	margin                : 40px 80px;
	-webkit-border-radius : 4px;
	-moz-border-radius    : 4px;
	border-radius         : 4px;
	overflow              : hidden;
}

.topic-content.merit {
	padding : 0;
}

.topic-content .content {
	padding : 0;
}

.topic-title {
	height      : 80px;
	width       : 100%;
	text-align  : center;
	font-weight : bold;
	font-size   : 2.5vw;
}

.topic-title > img {
	margin-right : 10px;
}

.topic.shinpo {
	background-image        : url(img/miranova_lp_bg_01.jpg);
	-webkit-background-size : 16px;
	background-size         : 16px;
}

.topic.tokku {
	background-image        : url(img/miranova_lp_bg_02.jpg);
	-webkit-background-size : 16px;
	background-size         : 16px;
}

.topic.ryokan {
	background-image        : url(img/miranova_lp_bg_03.jpg);
	-webkit-background-size : 16px;
	background-size         : 16px;
}

.topic-merit {
	position   : absolute;
	width      : 100%;
	text-align : center;
	z-index    : 10;
}

.topic-merit-title {
	color                 : white;
	padding               : 6px 4vw;
	-webkit-border-radius : 1.8vw;
	-moz-border-radius    : 1.8vw;
	border-radius         : 1.8vw;
	font-weight           : bold;
	font-size             : 1.8vw;
	top                   : -10px;
	position              : relative;
}

.topic-content-top {
	height           : 120px;
	background-color : white;
}

.topic-content-bottom {
	padding : 60px 20px 30px 20px;
	width   : 100%;
}

.topic-content-icon {
	position   : absolute;
	width      : 100%;
	text-align : center;
	top        : 30px;
}

.topic-content-icon > img {
	width : 130px;
}

.dandori {
	width            : 100%;
	padding          : 30px 30px 80px 30px;
	background-color : #F7F5F6;
}

.dandori-title {
	width       : 100%;
	text-align  : center;
	font-weight : bold;
	font-size   : 1.4em;
	margin-top  : 30px;
	line-height : 0.8em;
}

.dandori-title > .material-icons {
	font-size : 2em;
}

.dandori-table {
	border        : 2px solid;
	margin-bottom : 14px;
}

.dandori-table-title {
	display     : -webkit-flex;
	display     : flex;
	align-items : center;
	padding     : 0;
	min-height  : 50px;
}

.dandori-count {
	font-size               : 1.3em;
	font-weight             : bold;
	color                   : white;
	width                   : 50px;
	min-height              : 50px;
	display                 : -webkit-flex;
	display                 : flex;
	-webkit-align-items     : center;
	align-items             : center;
	-webkit-justify-content : center;
	justify-content         : center;
}

.dandori-count > div {
	margin            : 0 auto;
	width             : 100%;
	position          : absolute;
	top               : 50%;
	left              : 50%;
	transform         : translateY(-50%) translateX(-50%);
	-webkit-transform : translateY(-50%) translateX(-50%);
}

.dandori-flex {
	display : -webkit-flex;
	display : flex;
	padding : 0;
}

.dandori-info {
	padding-left        : 14px;
	padding-right       : 14px;
	font-weight         : bold;
	flex-grow           : 4;
	display             : -webkit-flex;
	display             : flex;
	-webkit-align-items : center;
	align-items         : center;
}

.dandori-detail {
	padding          : 10px 20px;
	background-color : white;
	font-size        : 1.2vw;
	/* font-family: 'ヒラギノ丸ゴ Pro W4', 'Hiragino Maru Gothic Pro', '游ゴシック', 'メイリオ', sans-serif; */
}

.price {
	padding    : 20px 40px;
	text-align : center;
	position   : relative;
}

.price-logo-text {
	font-weight : bold;
	color       : white;
	font-size   : 1.4em;
}

.price-logo-image {
	position   : absolute;
	left       : 0;
	width      : 100%;
	text-align : center;
}

.price-logo-image > img {
	position : relative;
	top      : -55px;
	width    : 50px;
}

.price-container {
	background-color      : white;
	-webkit-border-radius : 3px;
	-moz-border-radius    : 3px;
	border-radius         : 3px;
	padding               : 10px;
	margin                : 10px 0;
	width                 : 100%;
	position              : relative;
}

.price-info {
	padding    : 10px 30px;
	font-size  : 0.8em;
	margin-top : 90px;
	height     : 80px;
}

.price-yen {
	font-size   : 1.5em;
	font-weight : bold;
}

.price-split {
	margin : 0 5px;
}

.price-comment {
	font-size : 0.7em;
}

.contact {
	text-align : center;
	padding    : 30px;
}

.contact-logo-text {
	font-weight : bold;
	font-size   : 1.4em;
}

#mailinput {
	-webkit-border-radius : 0;
	-moz-border-radius    : 0;
	border-radius         : 0;
}

.kiyaku {
	overflow   : scroll;
	text-align : left;
	height     : 100px;
	border     : 1px solid #bdbdbd;
	margin-top : 20px;
	font-size  : 0.8rem;
}

#kiyakucheck {
	font-size  : 0.2em;
	margin-top : .5rem;
}

#kyakucheck_label {
	font-size : 0.8em;
}

.kiyakucheck-form {
	margin-top : 15px;
}

.submitbtn {
	position              : relative;
	display               : inline-block;
	font-weight           : bold;
	padding               : 5px 50px;
	text-decoration       : none;
	color                 : #FFF;
	transition            : .4s;
	-webkit-border-radius : 0;
	-moz-border-radius    : 0;
	border-radius         : 0;
	font-size             : 1.4em;
	margin-top            : 20px;
}

.kiyaku-comment {
	margin-top : 30px;
	font-size  : 0.8em;
	color      : #696969;
}

.main-content.index {
	border-color : #F5F9F7;
}

.tab.shinpo, .price.shinpo, .shinpo.dandori-count, .topic-merit-title.shinpo, .submitbtn.shinpo {
	background-color : #8DC21F;
}

.price-container-hr.shinpo, .shinpo .dandori-table, .main-content.shinpo {
	border-color : #8DC21F;
}

.shinpo.dandori-info, .dandori-title > .material-icons.shinpo, .shinpo .price-comment-container.outline > span {
	color : #8DC21F;
}

.shinpo.submitbtn:hover {
	color      : #FFF;
	background : #afd34e;
}

.topic-content-bottom.shinpo, .dandori-info.shinpo, .topic-content.merit.shinpo {
	background-color : #EEF7E6;
}

.tab.tokku, .price.tokku, .tokku.dandori-count, .topic-merit-title.tokku, .submitbtn.tokku {
	background-color : #F7B52C;
}

.price-container-hr.tokku, .tokku .dandori-table, .main-content.tokku {
	border-color : #F7B52C;
}

.tokku.dandori-info, .dandori-title > .material-icons.tokku {
	color : #F7B52C;
}

.tokku.submitbtn:hover {
	background : #ffc656;
}

.topic-content-bottom.tokku, .dandori-info.tokku, .topic-content.merit.tokku {
	background-color : #FEF8E2;
}

/* 旅館 */
.tab.ryokan, .price.ryokan, .ryokan.dandori-count, .topic-merit-title.ryokan, .submitbtn.ryokan {
	background-color : #0079C3;
}

.price-container-hr.ryokan, .ryokan .dandori-table, .main-content.ryokan {
	border-color : #0079C3;
}

.ryokan.dandori-info, .dandori-title > .material-icons.ryokan {
	color : #0079C3;
}

.ryokan.submitbtn:hover {
	background : #0085d1;
}

.topic-content-bottom.ryokan, .dandori-info.ryokan, .topic-content.merit.ryokan {
	background-color : #ECF1FA;
}

.coming-soon {
	background   : rgba(0, 0, 0, 0.4);
	width        : 100%;
	height       : 100%;
	position     : absolute;
	border-right : 30px solid #F5F9F7;
	z-index      : 10;
	color        : white;
	text-align   : center;
	padding      : 10px;
}

.price-comment-container {
	position   : absolute;
	left       : 0;
	text-align : center;
	width      : 100%;
}

.price-comment-container > span {
	position        : absolute;
	width           : 100%;
	height          : 100%;
	display         : -webkit-flex;
	display         : flex;
	align-items     : center;
	justify-content : center;
	font-weight     : bold;
	font-size       : 1.3em;
	padding-bottom  : 10px;
	top             : 0;
}

.price-comment-container.inline > span {
	color : white;
}

.price-comment-container > .ninki-icon {
	position   : absolute;
	height     : 105%;
	width      : auto;
	left       : -20px;
	top        : -10px;
	max-height : 100px;
}

.price-comment-container > img {
	width      : 100%;
	min-height : 80px;
	padding    : 10px 70px;
}

.campain {
	position : absolute;
	z-index  : 1000;
	width    : 100%;
	bottom   : 40px;
}

.campaign-image {
	width     : 100%;
	max-width : 190px;
}

/** お問い合わせ */
.jumbotron {
	background-color : #FFF;
}

.contact_background {
	padding-top      : 85px;
	padding-bottom   : 1px;
	background-image : url(img/miranova_lp_bg_01.jpg);
	background-size  : 16px;
}

/**
お問い合わせダイアログ
**/
.require_color {
	color : #ff2e44;
}

.contact_button {
	position   : fixed;
	right      : 50px;
	bottom     : 30px;
	text-align : right;
	z-index    : 1001;
	display    : none;
}

.contact_button .contact_button-table {
	vertical-align : middle;
}

.contact_button .contact_button-table .contact_button-text {
	padding-left   : 10px;
	letter-spacing : 2px;
	line-height    : 1.5em;
}

.contact_button .contact_button-table .contact_button-icon i {
	font-size   : 50px;
	padding-top : 10px;
}

.contact_button .contact_button-table .contact_button-icon {
	font-size : 30px;
	padding   : 0 10px 0 10px;
}

.contact_button .btn.btn-question {
	width            : 500px;
	padding          : 20px;
	max-width        : 90%;
	height           : auto;
	border-radius    : 10px;
	background-color : #00B09A;
	color            : #F8F8F8;
	outline          : none;
	text-align       : left;
	box-shadow       : 2.5px 4.33px 5px 0px rgba(0, 0, 0, 0.4);
}

.transition_s {
	transition : 0.3s;
}

.contact_button .btn.btn-question:hover {
	transform        : scale(1.05);
	background-color : #00bda6;
	outline          : none;
}

.contact_button .btn.btn-question:active {
	outline : none;
}

.contact_dialog {
	z-index          : 1001;
	overflow         : hidden;
	display          : none;
	position         : fixed;
	bottom           : 30px;
	height           : 500px;
	max-width        : 90%;
	width            : 450px;
	background-color : #FFF;
	border           : 1px solid #00B09A;
	border-radius    : 10px;
	padding          : 30px;
	right            : 50px;
	box-shadow       : 2.5px 4.33px 5px 0px rgba(0, 0, 0, 0.4);
}

.contact_dialog input, .contact_dialog textarea {
	margin-left : 0;
}

.contact_dialog .head {
	margin           : -30px -30px 10px;
	background-color : #00B09A;
	color            : #FFF;
	padding          : 10px;
}

.btn-contact-send {
	background-color : #00bda6;
	color            : #FFF;
	margin-bottom    : 20px;
}

.scroll {
	overflow-y : scroll;
	height     : 400px;
}

.contact_dialog_close {
	display          : block;
	position         : absolute;
	top              : 10px;
	right            : 10px;
	background-color : inherit;
	border           : none;
	color            : #FFF;
	font-weight      : bold;
	font-size        : 14px;
}

.contact_dialog_close:hover {
	background-color : #FFF;
	color            : #00806f;
}

.contact_dialog .result_message {
	display       : none;
	color         : #00806f;
	border        : 1px solid #00806f;
	padding       : 10px;
	margin-bottom : 10px;
}

.contact_dialog .error_message {
	display       : none;
	color         : #80000c;
	border        : 1px solid #80000c;
	padding       : 10px;
	margin-bottom : 10px;
}

/* xl以上 */
@media (min-width : 1200px) {
	.topic-content-top {
		height      : 160px;
		padding-top : 3vw;
	}

	.topic-content-icon {
		top : 4vw;
	}
}

/* lg以下 */
@media (max-width : 1201px) {
	.price-comment-container > span {
		font-size : 1em;
	}
}

/* lg以上 */
@media (min-width : 992px) {
}

/* md以下 */
@media (max-width : 991px) {
	.price-comment-container > span {
		font-size : 3vw;
	}

	.top-container p.requestcounter {
		margin    : 0.5vw auto 10vw;
		padding   : 0.1vw;
		font-size : 0.7em;
	}

}

/* md以上 */
@media (min-width : 770px) {
	.is_sp {
		display : none;
	}

	.is_pc {

	}
}

/* sm以下 */
@media (max-width : 769px) {

	.is_sp {
	}

	.is_pc {
		display : none;
	}

	.top-container p.requestcounter {
		width      : 70%;
		margin-top : 10px;
		padding    : 1vw;
	}

	.campain {
		bottom : 0px;
	}

	.top-container > .description {
		font-size : 1.4em;
	}

	.info-text {
		font-size : 10px;
	}

	.bg-image-left, .bg-image-right {
		width : 90%;
	}

	.tab-description {
		padding   : 20px 10px;
		font-size : 3.5vw;
	}

	.price-info {
		font-size : 2.8vw;
		padding   : 0 20px;
		height    : auto;
	}

	.topic-merit-title {
		color                 : white;
		padding               : 6px 40px;
		-webkit-border-radius : 20px;
		-moz-border-radius    : 20px;
		border-radius         : 20px;
		font-weight           : bold;
		font-size             : 1.1em;
		top                   : -10px;
		position              : relative;
	}

	.topic-content {
		font-size : 1em;
		margin    : 30px;
		padding   : 30px;
	}

	.price-comment-container > img {
		padding : 10px 30px;
	}

	.price-comment-container > .ninki-icon {
		height     : 15vw;
		min-height : auto;
	}

	.price-comment-container > span {
		padding-left  : 30px;
		padding-right : 30px;
		font-size     : 3vw;
	}

	.dandori-detail {
		font-size : 0.8em;
	}

	.flexiblebox {
		flex-direction : column;
	}

	.logo-image {
		width : 100px;
	}

	.oem-cross {
		width : 20px;
	}

	.oem-logo {
		width : 130px;
	}

	.top-container > .description {
		margin-top : 20px;
	}

	.contact_button {
		position : fixed;
		right    : 20px;
		bottom   : 10vh;
	}

	.contact_dialog {
		bottom     : 10vh;
		height     : 350px;
		max-height : 100%;
		max-width  : 90%;
	}

	.scroll {
		overflow-y : scroll;
		height     : 300px;
	}

	.contact_button .btn.btn-question {
		padding          : 12px 10px;
		width            : 50px;
		height           : 50px;
		border-radius    : 50%;
		background-color : #00B09A;
		color            : #FFF;
		outline          : none;
		font-size        : 18px;
	}

	.contact_dialog {
		right : 20px;
	}
}