﻿@charset "utf-8";
/* ----------------------------------------------------

    共通フォント

---------------------------------------------------- */
html{
	font-size: 10px;
}
body{
	font-size: 2.8rem;
}
@media screen and (min-width:641px) and (max-width:920px){
	html{
		font-size: 1.086vw;
	}
	/* body{
		font-size: 1.8rem;
	} */
}
@media screen and (max-width:640px){
	html{
		font-size: 1.5625vw;
	}
	/* body{
		font-size: 2.8rem;
	} */
}
body {
	font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', 'Meiryo','ＭＳ ゴシック',sans-serif;
	line-height: 1.7;
	text-align: justify;
	color:#333;
	font-feature-settings: "halt" 1;
}

/* ----------------------------------------------------

    共通パーツ

---------------------------------------------------- */
*,::before,::after {
	margin: 0 0;
}
.contents {
	width:80rem;
	/* background-color:#FFF; */
	background-image: url(../images/bg1.png);
	background-size: cover;
	margin: 0 auto;
}
@media screen and (max-width: 640px) {
	.contents {
		width:100%;
		padding-bottom:1.5rem;
	}
}
a img:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
}
.center {
	text-align: center;
}
.right {
	text-align:right;
}
hr {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
body .sp-item {
    display: none !important;
}
body .pc-item {
    display: block !important;
}
header{
	width: 71rem;
	margin: 0 auto;
}
p{
	letter-spacing: -0.02em;
	width: 90%;
	margin: 0 auto 3rem;
}
img{
	width: 100%
}
.u_line{
	text-decoration: underline;
}
a:link{
	color: #0C8ACE;
	text-decoration: none;
}
a:link:hover{
	text-decoration: underline;
}
@media screen and (max-width: 920px) {
    body {
		width: 100%;
	}
	body .sp-item {
        display: block !important;
	}
	body .pc-item {
        display: none !important;
	} 
	header{
		width: 100%;
	}
}
@media screen and (min-width:641px) and (max-width:920px){
	img {
		max-width:100%;
	}
}
@media screen and (max-width: 640px) {
	img {
		max-width:100%;
	}
}
.font_ex {
	font-size: 10px !important;
} 
.red{
	color: #ff0000;
}
.yellow {
	color: #FFFF00;
}
/* ----------------------------------------------------

   予約フォームメイン

---------------------------------------------------- */
header{
	width: 100%;
}
h1{
	margin: 0;
}
.info1{
	/*width: 50%;*/
	width: 75%;
	margin: 0 auto 3rem;
}
.info2{
	width: 60%;
	margin: 3rem auto 1rem;
}
@media screen and (max-width: 640px) {
	.info1{
		width: 95%;
	}
	.info2{
		width: 90%;
	}
}


.main{
margin-top: 1.1em;
}


.info3{
	/*width: 50%;*/
	width: 65%;
	margin: 0 auto 3rem;
}

@media screen and (max-width: 640px) {
	.info3{
		width: 95%;
	}
}







/* ----------------------------------------------------

    テーブル

---------------------------------------------------- */
caption {
	caption-side: top;
	text-align: left;
}
@media screen and (max-width: 640px){
	tbody, tr, th, td {
		display: block;
		max-width: 100%;
	}
}
table.type02 {
    table-layout: fixed;
    width:71rem;
	border-collapse: separate;
	border-spacing: 0;
	text-align: left;
	line-height: 1.5;
	border-top: 1px solid #747474;
	border-left: 1px solid #747474;
	font-size:13px;
	margin:0 auto 0;
	color: #333333;
}
table.type02 th {
	width: 17rem;
	padding: 1rem;
	font-weight: bold;
	vertical-align: top;
	border-right: 1px solid #2458a6;
	border-bottom: 1px solid #747474;
	background: #2458a6;
	color: #ffffff;
}
table.type02 td {
	padding: 1rem;
	vertical-align: top;
	border-right: 1px solid #747474;
	border-bottom: 1px solid #747474;
	background-color: #ffffff;
}

table.type02 th.dot{
	width: 17rem;
	padding: 1rem;
	font-weight: bold;
	vertical-align: top;
	border-bottom: 1px dashed #FFFFFF;
	background: #2458a6;
}
table.type02 td.dot{
	padding: 1rem;
	vertical-align: top;
	border-bottom: 1px dashed #747474;
}
input {
	font-size:2rem;
}
.inputText_width1 {
	width:28rem;
}
.inputText_width2 {
	width:36rem;
}
dl {
    margin: 0 0 10px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #ccc;
}

@media screen and (max-width: 640px) {
	table.type02 {
		width:95%;
		border-collapse: separate;
		border-spacing: 0;
		text-align: left;
		line-height: 1.5;
		font-size:16px;
		margin:1rem auto 0;
	}
	table.type02 th {
		width:auto;
		font-weight: bold;
		vertical-align: top;
		border-right: 1px solid #747474;
		border-bottom: 1px solid #747474;
		background-color:#2458a6;
	}
	table.type02 td {
		padding: 1rem;
		vertical-align: top;
		border-right: 1px solid #747474;
		border-bottom: 1px solid #747474;
	}
	table.type02 th.dot{
		width:auto;
		padding: 1rem;
		font-weight: bold;
		vertical-align: top;
		border-right: 1px solid #747474;
		border-bottom: 1px solid #747474;
		background-color:#2458a6;
	}
	table.type02 td.dot{
		padding: 1rem;
		vertical-align: top;
		border-right: 1px solid #747474;
		border-bottom: 1px solid #747474;
	}
	input {
		font-size:2.8rem;
		height: 6rem;
	}
	.inputText_width1 {
		width:38rem;
	}
	.inputText_width2 {
		width:46rem;
	}
}
/* ----------------------------------------------------

    ボタン

---------------------------------------------------- */
.img_button{
	text-align: center;
	margin-top: 3rem;
	padding-bottom: 0.5rem;
}


.img_button2{
	text-align: center;
	margin-top: 1rem;
	padding: 0 5.5em 1em;
}


@media screen and (max-width: 640px) {
	.img_button2{
	text-align: center;
	margin-top: 1rem;
	padding: 0 1.3em 1em;
	}
}






.img_button input{
	width: 60%;
}
input[type="image"]:hover { opacity:0.7; filter:alpha(opacity=70); }
@media screen and (max-width: 640px) {
	.img_button input{
		width: 90%;
		height: auto;
	}
}
/* ----------------------------------------------------

	サンキューページメイン

---------------------------------------------------- */
.info_thx{
	width: 70%;
	margin: 3rem auto;
}
.msg_thx{
	width: 60%;
	margin: 0 auto;
	padding: 0 0 5rem;
}
@media screen and (max-width: 640px) {
	.info_thx{
		width: 90%;
	}
	.msg_thx{
		width: 80%;
	}
}
/* ----------------------------------------------------

    フッター

---------------------------------------------------- */
footer {
	background-color: #2458a6;
	text-align: center;
	height: 3.2rem;
	line-height: 1;
}
footer small{
	font-size: 1.6rem;
	color: #ffffff;
	font-weight: 400;
}