@charset "UTF-8";

/* FONTS */
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: normal;
  src: url('fonts/NotoSansCJKjp-Regular.otf') format('opentype');
 }
 @font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: bold;
  src: url('fonts/NotoSansCJKjp-Bold.otf') format('opentype');
  font-display: swap;
}


/* Reset */
ul,ol { list-style: none; }
img {
	border:0;
	text-align: center;
	max-width:100%;
	height:auto;
}

/* Common */
* {
	margin:0;
	border:0;
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 0;
	box-sizing: border-box;
	line-height: 170%;
	letter-spacing: 0.1rem;
}
html { height:100%;margin:0; padding:0; font-size:10px;}
body {
	margin: 0 auto;
	padding:0;
	text-align:left;
	line-height:170%;
	font-family: "Noto Sans Japanese", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:1.0rem;
	color:#111111;
	background:#FFFFFF;
	min-width: 980px;
}
@media screen and (max-width: 980px){
  body {
    min-width: initial;
	position: relative !important;
	overflow-x: hidden !important;
  }
}
.clearboth { padding: 0; clear:both; }
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;  overflow: hidden;/* 隙間対応 */
  font-size: 0.1em;/* 隙間対応 */
  line-height: 0;/* 隙間対応 */
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

a { color:#111111; text-decoration:underline; word-wrap: break-word; }
a:hover{ color:#111111; text-decoration:none;}
.disnon{ display:none !important;}
.spnon{ display:inherit !important;}
	@media screen and  (max-width: 980px){
	.disnon{ display:inherit !important;}
	.spnon{ display:none !important;}
	img{ max-width:100%; }
	}
	@media screen and  (max-width: 520px){
	span.br::before {
		content: "\A" ;
		white-space: pre ;
	}
	}
.mb50{margin-bottom:50px !important;}
.font_red{ color:#FF0000;}
/*=======================================================================================
    COMMON
=======================================================================================*/
/*************************** Header ******************************************/

header{ display:block; margin:0; padding:20px 0; width:100%; }
#HeaderInner{ display:block; margin: 0 auto; padding:0; width:980px; }
#HeaderInner h1{ display:flex; justify-content: center; flex-wrap: wrap; margin: 0; padding:0;
font-size:1.8rem; font-weight:bold; letter-spacing: 0.3rem;}
#HeaderInner h1 a{ display:flex; align-items: center; text-decoration:none; }
#HeaderInner h1 img, #HeaderInner h1 a{ margin:0 20px; }
	@media (max-width: 980px){
	#HeaderInner{ display:block; margin: 0 auto; padding:0; width:100%; }
	}
	@media (max-width: 560px){
	#HeaderInner h1{ display:block; flex-wrap: wrap; margin: 0; padding:0;
	font-size:1.8rem; font-weight:bold; letter-spacing: 0.3rem; text-align: center;}
	#HeaderInner h1 a{ display:block; align-items: center; text-decoration:none; }
	#HeaderInner h1 img{ display:block; margin:0 auto; }
	}
#Title{ display: block; margin:0; padding:0; position: relative; background: #EEEEEE; }
#Title h2{ display:flex; justify-content: center; flex-wrap: wrap; margin: 0; padding:15px 0;
font-size:2.0rem; font-weight:bold; color:#000000;}
	@media (max-width: 980px){
	#Title{ display: block; margin:0; padding:0 20px; position: relative; background: #EEEEEE; }
	}

/*************************** Footer ******************************************/
#BoxContact{ display:block; margin: 0 auto; margin-top: 100px; margin-bottom: 60px; padding:40px 0; width:980px; background: #EEEEEE; text-align: center; }
#BoxContact p{ display: inline;margin: 0; padding:0; font-size:1.4rem; text-align:center; }
footer{ display: block; margin:0; padding:0; width:100%; height:50px; background: #144475; color:#FFFFFF; font-size:1.0rem; text-align: center;}
#FooterInner{ display:flex; align-items: center; justify-content: center; margin:0 auto; padding:20px 0 0 0; width:980px; background: #144475; color:#FFFFFF; font-size:1.0rem; text-align: center; position: relative; }
.returntop{ position: absolute; top:0; right:0;}
	@media (max-width: 980px){
	#BoxContact{ display:block; margin: 0 auto; margin-top: 100px; margin-bottom: 60px; padding:40px 20px; width:100%; background: #EEEEEE; text-align: center; }
	#BoxContact p{ display: inline;margin: 0; padding:0; font-size:1.4rem; text-align:center; }
	#FooterInner{ display:block; margin:0 auto; padding:20px 20px 20px 20px; width:100%; background: #144475; color:#FFFFFF; font-size:1.0rem; text-align: center; position: relative; }
	.returntop{ position: fixed; top:auto; bottom:40px; right:10px;}
}

/*************************** Contents ******************************************/
#BoxContent { width:980px; margin: 0 auto; padding:30px 0; }
#BoxContent p{ margin: 0 0 30px 0; padding:0; font-size:1.4rem; text-align:center; font-weight: bold;  }
#BoxContent p.error{ color:#FF0000; }
#BoxContent ul{ display: flex; justify-content: center; flex-wrap:wrap; margin:0; padding:0; }
#BoxContent ul li{ display: block; margin: 0; padding:0; }
#BoxContent ul li a{ display: block; margin:0;  padding:20px 0; width:490px;
	font-size:1.6rem; color:#FF4D4D; text-decoration: none; text-align: center; background:#EEEEEE;
	transition: all 0.6s ease 0s;}
#BoxContent ul li.active a, #BoxContent ul li a:hover{ display: block; margin:0; padding:20px 0; width:490px; 
	font-size:1.6rem; color:#FFFFFF; text-decoration: none; text-align: center; background:#FF4D4D;
	transition: all 0.6s ease 0s;}
#BoxContent ul li:nth-child(2) a{ display: block; margin:0;  padding:20px 0; width:490px;
	font-size:1.6rem; color:#00A3D9; text-decoration: none; text-align: center; background:#EEEEEE;
	transition: all 0.6s ease 0s;}
#BoxContent ul li:nth-child(2).active a, #BoxContent ul li:nth-child(2) a:hover{ display: block; margin:0; padding:20px 0; width:490px; 
	font-size:1.6rem; color:#FFFFFF; text-decoration: none; text-align: center; background:#00A3D9;
	transition: all 0.6s ease 0s;}
@media (max-width: 980px){
	#BoxContent { width:100%; margin: 0 auto; padding:30px 20px 10px 20px; }
	#BoxContent p{ margin: 0 0 30px 0; padding:0; font-size:1.3rem; text-align:center; font-weight: bold;  }
	#BoxContent ul{ display: block; margin:0; padding:0; }
	#BoxContent ul li{ display: block; margin: 0; padding:0; }
	#BoxContent ul li a{ display: block; margin:0;  padding:20px 0; width:100%;
		font-size:1.6rem; color:#FF4D4D; text-decoration: none; text-align: center; background:#EEEEEE;
		transition: all 0.6s ease 0s;}
	#BoxContent ul li.active a, #BoxContent ul li a:hover{ display: block; margin:0; padding:20px 0; width:100%; 
		font-size:1.6rem; color:#FFFFFF; text-decoration: none; text-align: center; background:#FF4D4D;
		transition: all 0.6s ease 0s;}
	#BoxContent ul li:nth-child(2) a{ display: block; margin:0;  padding:20px 0; width:100%;
		font-size:1.6rem; color:#00A3D9; text-decoration: none; text-align: center; background:#EEEEEE;
		transition: all 0.6s ease 0s;}
	#BoxContent ul li:nth-child(2).active a, #BoxContent ul li:nth-child(2) a:hover{ display: block; margin:0; padding:20px 0; width:100%; 
		font-size:1.6rem; color:#FFFFFF; text-decoration: none; text-align: center; background:#00A3D9;
		transition: all 0.6s ease 0s;}
	}

#Container{ display: block; margin:0 0 50px 0; padding:30px 0; width:100%; background: #F6F6F6; }
#Main{ display: block; margin:0 auto; padding:0; width:980px; }
#Main2{ display: block; margin:0 auto; padding:0; width:980px; }
	@media (max-width: 980px){
	#Main{ display: block; margin:0 auto; padding:0 20px; width:100%; }
	#Main2{ display: block; margin:0 auto; padding:0 20px; width:100%; }
	}

/*=======================================================================================
    FORM
=======================================================================================*/
#Main dl{ display: block; margin:0 0 20px 0; padding:0; }
#Main .boxreservation3 dl{ display: block; margin:0 0 20px 0; padding:0 10px 10px 10px; border-bottom:1px solid #333333; box-sizing: border-box; }
#Main dl dt{ display: block; margin:0 0 10px 0; padding:0; font-size:1.4rem; font-weight: bold; letter-spacing: 0.2rem; }
#Main dl dt span.fontsmall{ font-size: 1.1rem; font-weight:normal; }
#Main dl dt span.req{ color:#CC1F1F; }
#Main dl dd{ display: block; margin:0; padding:0; font-size:1.4rem; font-weight: normal; letter-spacing: 0.2rem; position: relative;}
#Main dl dd input[type="text"],#Main dl dd input[type="email"]{ display: block; margin:0; padding:6px 10px; width:100%; border:1px solid #C4C6C2; border-radius:5px;
font-size:1.4rem; font-weight: bold; letter-spacing: 0.2rem; }
#Main dl dd input[type="password"]{ display: block; margin:0; padding:6px 10px; width:100%; border:1px solid #C4C6C2; border-radius:5px;
font-size:1.4rem; font-weight: bold; letter-spacing: 0.2rem; }
#Main dl dd textarea{ display: block; margin:0; padding:6px 10px; width:100%; border:1px solid #C4C6C2; border-radius:5px;
font-size:1.4rem; font-weight: bold; letter-spacing: 0.2rem;}
select{ padding:6px 10px; margin:0 20px 0 0; font-size:1.4rem; font-weight: bold; letter-spacing: 0.2rem;}
#Main dl dd input[type="text"].error, #Main dl dd input[type="password"].error, #Main dl dd textarea.error,#Main dl dd input[type="email"].error{ border:1px solid #FF0000; }
#Main dl dd  p.error, .boxprivacy  p.error{ display: block; margin:5px 0 0 0; color:#FF0000; font-weight: bold;}
#Main dl dd  p.confirm{ display: block; margin:0; padding:0 0 0 10px; font-size:1.4rem; font-weight: normal; letter-spacing: 0.2rem; position: relative;}

/*  Checkbox Radio */
input[type="checkbox"],
input[type="radio"] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
label input[type="checkbox"] + span{
  position: relative;
  padding: 0 10px 0 30px;
	line-height: 1.8rem;
	margin:0 0 15px 0;
	display: block;

}
label input[type="radio"] + span {
  position: relative;
  padding: 0 10px 0 25px;
	line-height: 1.8rem;
	margin:0 0 15px 0;

	
}
label span {
  display: inline-block;
}

label input[type="checkbox"] + span::before {
  border-color: #4A81F6;
}
label span {
  display: inline-block;
}
label input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
label input[type="checkbox"] + span::before, label input[type="checkbox"] + span::after {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  content: '';
  box-sizing: border-box;
}
label input[type="checkbox"] + span::before {
  z-index: 0;
  background-color: #FFFFFF;
  width: 22px;
  height: 22px;
  border: 2px #4A81F6 solid;
  border-radius: 5px;
}
label input[type="checkbox"] + span::after {
  z-index: 1;
  margin: 5px 8px;
  width: 6px;
  height: 9px;
}
label input[type="checkbox"]:checked + span::before {
  background-color: #4A81F6;
}
label input[type="checkbox"]:checked + span::after {
  border: 2px solid #fff;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

label input[type="radio"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
label input[type="radio"] + span::before {
  position: absolute;
  display: inline-block;
  content: '';
  box-sizing: border-box;
  border-radius: 22px;
}
label input[type="radio"] + span::before {
  z-index: 0;
  top: 0;
  left: 0;
  background-color: transparent;
  width: 18px;
  height: 18px;
  border: 2px #4A81F6 solid;
}
label input[type="radio"]:checked + span::before {
  border-width: 6px;
}
	
#BlockReservation{ display: block; margin:0 auto; padding:0; width:750px; }
#BlockReservation p{ margin: 0 0 30px 0; padding:0; font-size:1.4rem; text-align:left;  }
#BlockReservation2{ display: block; margin:0 auto; margin-bottom: 20px; padding:0; width:868px; }
#BlockReservation2 p{ margin: 0 0 30px 0; padding:0 0 0 59px; font-size:1.4rem; text-align:left; font-weight: bold;  }
#BlockReservation2 p strong{ margin: 0 ; padding:0; font-size:1.6rem; text-align:left; font-weight: bold;  }
#BlockReservation3{ display: block; margin:0 auto; padding:0; width:750px; }
#BlockReservation3 p{ margin: 0 0 5px 0; padding:0; font-size:1.4rem; text-align:center; }
#BlockReservation3 .boxprivacy{ display: block; margin:0 auto; padding:20px; background:#F2D7D8; text-align: center;position: relative;}
#BlockReservation3 .boxprivacy label{ font-weight: bold; font-size: 1.4rem; }
#BlockReservation3 .boxprivacy p{ margin: 0 0 30px 0; padding:0; font-size:1.4rem; text-align:center; }
#BlockReservation4{ display: block; margin:0 auto; padding:0; width:750px; }
#BlockReservation4 p{ margin: 0 0 30px 0; padding:0; font-size:1.8rem; text-align:center;  }
	@media (max-width: 750px){
	#BlockReservation{ display: block; margin:0 auto; padding:0; width:100%; }
	#BlockReservation2{ display: block; margin:0 auto; margin-bottom: 20px; padding:0; width:100%; }
	#BlockReservation2 p{ margin: 0 0 30px 0; padding:0; font-size:1.4rem; text-align:left; font-weight: bold;  }
	#BlockReservation3{ display: block; margin:0 auto; padding:0; width:100%; }
	#BlockReservation4{ display: block; margin:0 auto; padding:0; width:100%; }
	}


#BlockReservation2Inner{ display: flex; justify-content:space-between; flex-wrap:wrap; margin:0 auto; padding:0; }
.boxreservation{ display: block; margin:0 0 30px 0; padding:0; width:410px; }
.boxreservation h3{ margin: 0 0 10px 0; padding:0; font-size:1.6rem; text-align:center; font-weight: bold;}
.boxinner{ display: flex; justify-content: space-between; flex-wrap:wrap; margin:0; padding:0; }
#Main .boxinner dl{ display: block; margin:0; padding:0; border:1px solid #222222; width:205px; }
#Main .boxinner dl:last-child{ border-left:0; }
#Main .boxinner dl dt{ display: block; margin:0; padding:10px 5px; border-bottom:1px solid #222222;
text-align: center;}
#Main .boxinner dl dd{ display: block; margin:0; padding:10px 5px 10px 15px; border-bottom:1px solid #222222; }
#Main .boxinner dl dd:last-child{ border-bottom:0; }
#Main .boxinner dl dd span.open{ color:#FF0000; font-weight: bold;}
#Main .boxinner dl dd span.close{ color:#144475; font-weight: bold;}
	@media (max-width: 450px){
	.boxinner{ display: flex; justify-content: center; flex-wrap:wrap; margin:0; padding:0; }
	#Main .boxinner dl{ display: block; margin:0 0 10px 0; padding:0; border:1px solid #222222; width:100%; }
	#Main .boxinner dl:last-child{ border-left:1px solid #222222; }
	#Main .boxinner dl dt{ display: block; margin:0; padding:10px 5px; border-bottom:1px solid #222222;
	text-align: center;}
	#Main .boxinner dl dd{ display: block; margin:0; padding:10px 5px 10px 15px; border-bottom:1px solid #222222; text-align: center; }
	#Main .boxinner dl dd:last-child{ border-bottom:0; }
	#Main .boxinner dl dd span.open{ color:#FF0000; font-weight: bold;}
	#Main .boxinner dl dd span.close{ color:#144475; font-weight: bold;}
	}

/*  Submit Button */
.submit-button,
.submit-button:link,
.submit-button:visited {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 520px;
    height: 65px;
    color: #144475;
    background: #fff;
    font-size: 1.6rem;
	font-weight:bold;
    letter-spacing: .1em;
    text-decoration: none;
    transition: all .4s cubic-bezier(.78,.07,0,1) .2s;
    border: 1px solid #144475;
    cursor: pointer;
	margin:0 auto;
}
.submit-button::before {
    content: '';
    display: block;
    position: absolute;
    left: auto;
    right: -1px;
    top: -1px;
    width: 0;
    height: calc(100% + 2px);
    background-color: #144475;
    transition: inherit;
}

.submit-button > span {
    position: relative;
}

.submit-button > i {
    position: absolute;
    top: calc(50% - 1px);
    right: -30px;
    width: 50px;
    height: 1px;
    background: #111111;
    transition: inherit;
    pointer-events: none;
}

.submit-button > i::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    border-top: 2px solid transparent;
    border-left: 2px solid #144475;
    border-right: 2px solid transparent;
    border-bottom: 3px solid #144475;
    transition: inherit;
}
.submit-button:hover > i::before {
    border-left-color: #111111;
    border-bottom-color: #111111;
}
.submit-button:hover {
    color: #fff;
}
.submit-button:hover::before {
    left: -1px;
    right: auto;
    width: calc(100% + 2px);
}
.submit-button:hover > i {
    background: #111111;
    right: -15px;
}
	@media (max-width: 520px){
	.submit-button,
	.submit-button:link,
	.submit-button:visited {
		width: 260px;
	}
	}
.back-button,
.back-button:link,
.back-button:visited {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 65px;
    color: #999;
    background: #fff;
    font-size: 1.6rem;
	font-weight:bold;
    letter-spacing: .1em;
    text-decoration: none;
    transition: all .4s cubic-bezier(.78,.07,0,1) .2s;
    border: 1px solid #999;
    cursor: pointer;
	margin:0 10px 0 0;
}
.back-button::before {
    content: '';
    display: block;
    position: absolute;
    left: auto;
    right: -1px;
    top: -1px;
    width: 0;
    height: calc(100% + 2px);
    background-color: #999;
    transition: inherit;
}

.back-button > span {
    position: relative;
}

.back-button > i {
    position: absolute;
    top: calc(50% - 1px);
    left: -30px;
    width: 50px;
    height: 1px;
    background: #999;
    transition: inherit;
    pointer-events: none;
}

.back-button > i::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    border-top: 2px solid transparent;
    border-left: 2px solid transparent;
    border-right: 2px solid #999;
    border-bottom: 3px solid #999;
    transition: inherit;
}
.back-button:hover > i::before {
    border-right-color: #999;
    border-bottom-color: #999;
}
.back-button:hover {
    color: #fff;
}
.back-button:hover::before {
    right: -1px;
   left: auto;
    width: calc(100% + 2px);
}
.back-button:hover > i {
    background: #999;
    left: -15px;
}
	@media (max-width: 520px){
	.back-button,
	.back-button:link,
	.back-button:visited {
		width: 260px;
	}
	}


/*=======================================================================================
    THANK YOU
=======================================================================================*/
#BlockThankyou{ display: block; margin:40px 0; padding:0; }
#BlockThankyou p{ margin: 0; padding:0; font-size:1.4rem; text-align:center; font-weight: bold;  }

.box_submit{ display:flex; justify-content: center; flex-wrap:wrap;}
[class^="btn-"] {
  position: relative !important;
  display:flex !important;
	justify-content: center !important;
  overflow: hidden !important;
  width: 100% !important;
  height: 50px !important;
  max-width: 250px !important;
  margin: 0 10px !important;
  text-transform: uppercase !important;
  border: 1px solid currentColor !important;
  text-decoration: none !important;
	font-size: 1.6rem !important;
	text-align: center !important;
	align-items: center !important;
	
}


.btn-6 {
   position: relative !important;
  display:flex !important;
	justify-content: center !important;
  overflow: hidden !important;
  width: 100% !important;
  height: 50px !important;
  max-width: 250px !important;
  margin: 0 10px !important;
  text-transform: uppercase !important;
  border: 1px solid currentColor !important;
  text-decoration: none !important;
	font-size: 1.6rem !important;
	text-align: center !important;
	align-items: center !important;
 color: #144475 !important; 
}
.btn-6 span {
  position: absolute !important;
  display: block !important;
  width: 0 !important;
  height: 0 !important;
  border-radius: 50% !important;
  background-color: #144475 !important;
  -webkit-transition: width 0.4s ease-in-out, height 0.4s ease-in-out !important;
  transition: width 0.4s ease-in-out, height 0.4s ease-in-out !important;
  -webkit-transform: translate(-50%, -50%) !important;
          transform: translate(-50%, -50%) !important;
  z-index: -1;
}
.btn-6:hover {
  color: #FFFFFF !important; text-decoration: none !important; background: none !important;
}
.btn-6:hover span {
  width: 225% !important;
  height: 562.5px !important;
}
.btn-6:active {
  background-color: #144475 !important;
}

.box_send {  display:flex;
  justify-content: center;
    overflow: hidden;}



.btn_confirm {
  position: relative;
  display:flex;
  justify-content: center;
  overflow: hidden;
  width: auto;
  height: 50px;
  min-width: 120px;
  margin: 0 10px;
  padding:0 20px;
  border:1px solid #144475;;

  background-color: #144475;
  color:#FFFFFF;
  cursor:pointer;
}
.btn_confirm:hover {
  position: relative;
  display:flex;
  justify-content: center;
  overflow: hidden;
  width: auto;
  height: 50px;
  min-width: 120px;
  margin: 0 10px;
  padding:0 20px; 
  border:1px solid #144475;;
  background-color: #FFFFFF;
  color:#144475;
  cursor:pointer;
}
	@media (max-width: 520px){
    .box_submit{ display:block; text-align: center;}
    .btn-6 {
      margin: 0 auto !important; margin-bottom:10px !important;
    }
	}
