/***************************
 *  \  { ^  
 */
#sidebtn_booking{
	width:45px;
	height:155px;
	position:fixed;
	right:0;
	top:160px;
}
#sidebtn_booking a{
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transition-property: opacity;
	transition-property: opacity;
	margin-bottom:5px;
	display:block;
}
#sidebtn_booking a:hover {
	opacity: .6;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"
}

.reserve_wrap{
	/*background:url("../img/shop/reserve_bg.jpg") repeat;
	padding:20px;
	margin-bottom:80px;
	position:relative;*/
}
.reserve_contents{
	background:#FFFFFF;
	/*padding:25px 25px 70px 25px;
	text-align:center;*/
}
.reserve_contents .reserve_box01{ /*margin-bottom:40px;*/ }
.reserve_contents .reserve_box02{
/*	background:#0065b4;
	padding:13px 5px;
	border-radius:30px;
	margin-bottom:20px;*/
}
.reserve_contents .reserve_btn{
/*	position:absolute;
	bottom:-33px;
	left:0;
	right:0;
	margin:0 auto;
	width:450px;
	border-radius:50px;
	background:#FFFFFF;*/
}
.reserve_contents .reserve_btn a{
	display:block;
/*	background:#E70012;
	padding:25px;
	border-radius:50px;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transition-property: opacity;
	transition-property: opacity;*/
}
.reserve_contents .reserve_btn a:hover {
	opacity: .6;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"
}
@media screen and ( max-width:768px ) {
	.reserve_wrap{
	/*	padding:5px;
		margin-bottom:60px;*/
	}
	.reserve_contents{
	/*	padding:30px 20px 30px 20px;*/
	}
	.reserve_contents .reserve_box01{ /*margin-bottom:30px;*/ }
	.reserve_contents .reserve_box02{ /*padding:10px 20px;*/ }
	.reserve_contents .reserve_btn{
		/*position:static;
		margin:40px 0 0 0;
		width:100%;
		border-radius:50px;
		background:#FFFFFF;*/
	}
	.reserve_contents .reserve_btn a{ /*padding:20px;*/ }
	.reserve_contents .reserve_btn img{ /*height:30px;*/ }

	#sidebtn_booking_sp{
		box-sizing:border-box;
		width:100%;
		position:fixed;
		left:0;
		bottom:0;
		padding:10px;
		background:#0065b4;
	}
	#sidebtn_booking_sp a{
		box-sizing:border-box;
		display:block;
		padding:10px 15px;
		font-size:16px;
		font-weight:bold;
		border:2px solid #ffffff;
		border-radius:3px;
		text-align:center;
		color:#FFFFFF;
		-webkit-transition-duration: .3s;
		transition-duration: .3s;
		-webkit-transition-property: opacity;
		transition-property: opacity;
		background-repeat:no-repeat;
		background-position:20px center;
    	-webkit-background-size: 28px 28px;
    	background-size: 28px 28px;
	}
	#sidebtn_booking_sp a:hover {
		opacity: .6;
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"
	}

/*SPフッター*/
#sidebtn_booking_sp .page-service-link-sp{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	justify-content: center;
}
#sidebtn_booking_sp .page-service-link-sp li{
	flex: 1;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	margin:0 3px;
	min-height:46px;
}
#sidebtn_booking_sp .page-service-link-sp li a{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width:100%;
	background:none;
	font-size:14px;
	padding:5px 5px;
	text-decoration: none;
}

	#footer.sidebtn_booking{ padding-bottom:80px; }
}

/*ページ用*/
.reservation_wraper {
  width: 100%;
  max-width: 650px;
  margin: 1rem auto; }
  .reservation_wraper h2 {
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    color: #FFF;
    padding: 1rem .5rem;
    background: #0065b4; }
    @media screen and (max-width: 768px) {
      .reservation_wraper h2 {
        font-size: 18px; } }
  .reservation_wraper h3 {
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    padding: 1rem .5rem;
    border: 1px solid #0065b4;
    margin-bottom: 1rem; }
    @media screen and (max-width: 768px) {
     .reservation_wraper h3{
        font-size: 20px; } }
    @media screen and (min-width: 768px){
		.br-sp {display: none; } }
  .reservation_wraper h4 {
    font-size: 22px;
    font-weight: bold;
    padding: 1rem 0 .5rem;
    margin-bottom: 1rem;
    text-align: center;
    border-bottom: 1px solid #0065b4; }
  .reservation_wraper p {
    font-size: 14px;
    padding: .3rem 1rem; }

.reservation_main_block {
  background: #FFF;
  padding: 1rem; }

.flexbox {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  -js-display: flex;
  display: flex; }

.noteline {
  font-size: 90%;
  color: red;}
.noteline02 {
  font-size: 90%;
  color: red;}
.mainVixual {
  padding-bottom: 3rem; }
  .mainVixual figure {
    margin: 0;
    padding: 0 0 10px; }
  .mainVixual p {
    font-size: 28px;
    font-weight: bold;
    font-feature-settings: "palt" 1;
    text-align: center;
    padding: 1rem .5rem; }
    @media screen and (max-width: 768px) {
      .mainVixual p {
        font-size: 20px; } }
  .mainVixual ul {
    -webkit-align-items: strech;
    -moz-align-items: strech;
    -ms-align-items: strech;
    align-items: strech;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    -js-display: flex;
    display: flex;
    -webkit-justify-content: space-around;
    -moz-justify-content: space-around;
    -ms-justify-content: space-around;
    justify-content: space-around;
    -ms-flex-pack: space-around;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .mainVixual ul li {
      width: calc(100%/3); }
      .mainVixual ul li a {
        text-decoration: none;
        text-align: center; }
        .mainVixual ul li a img {
          -webkit-transition: all .3s;
          transition: all .3s;
          max-width: 100%;
          height: auto; }
        .mainVixual ul li a span {
          display: block;
          margin: auto;
          font-weight: bold;
          color: #0065b4; 
		  padding-left:5px;
		  padding-right:5px;
		  min-height: 3rem;
		  vertical-align:middle;
		  padding-top: 5px;}
        .mainVixual ul li a:hover img, .mainVixual ul li a:focus img, .mainVixual ul li a:active img {
          opacity: 0.75;
          filter: alpha(opacity=75); }
		  @media screen and (max-width: 768px) {
     	 .mainVixual ul li a span {
       	 font-size: 13px; } }
.linkBoxBtn a {
  padding: 10px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin: 5px;
  display: block;
  text-decoration: none;
  background: #0065b4;
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
  -ms-border-radius: 0.5rem;
  border-radius: 0.5rem;
  border-bottom: 5px solid #002c4e;
  -webkit-transition: all .3s;
  transition: all .3s; }
  .linkBoxBtn a:hover, .linkBoxBtn a:focus, .linkBoxBtn a:active {
    opacity: 0.75;
    filter: alpha(opacity=75);
    margin-top: 7px;
    border-bottom: 3px solid #002c4e; }

.triangle {
  width: 0;
  height: 0;
  border-width: 36px 0 36px 16px;
  border-color: transparent transparent transparent #0065b4;
  border-style: solid; }
  @media screen and (max-width: 768px) {
    .triangle {
      border-width: 16px 36px 0 36px;
      border-color: #0065b4 transparent transparent transparent; } }

.contBlock {
  padding-bottom: 2rem; }
  .contBlock h5 span {
    font-size: 12px;
    color: red;
    display: inline-block; }
  .contBlock dd, .contBlock dt {
    padding: 0;
    margin: 0; }
  .contBlock .boxWrapper {
    width: 100%;
    padding: 0 0 1rem;
    -webkit-align-items: strech;
    -moz-align-items: strech;
    -ms-align-items: strech;
    align-items: strech;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    -js-display: flex;
    display: flex;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .contBlock .boxWrapper {
        -webkit-align-items: center;
        -moz-align-items: center;
        -ms-align-items: center;
        align-items: center; } }
    .contBlock .boxWrapper.linkLine {
      padding-top: 1rem; }
    .contBlock .boxWrapper .linkBox {
      width: calc(100%/3); }
      @media screen and (max-width: 768px) {
        .contBlock .boxWrapper .linkBox {
          width: 100%;
          margin-bottom: 1rem; } }
      .contBlock .boxWrapper .linkBox dl {
        width: 95%;
        margin: 0 auto .5rem;
        border: 3px solid #eeeeee; }
        .contBlock .boxWrapper .linkBox dl dt {
          font-size: 18px;
          font-weight: bold;
          text-align: center;
          position: relative; 
		  min-height: 5rem;
		  display: table;
		  width: 100%;}
			.contBlock .boxWrapper .linkBox dl dt p.subtit02 {
				display: table-cell;
				vertical-align:middle;
				text-align: center;
				font-size: 18px;}
			.contBlock .boxWrapper .linkBox dl dt span.subTit {
            position: absolute;
            top: -1rem;
            left: 0;
            right: 0;
            width: 100%;
            text-align: center;
            color: red;
            font-size: 14px; }
            .contBlock .boxWrapper .linkBox dl dt span.subTit span {
              display: inline-block;
              margin: auto;
              background: #FFF;
              padding: .2rem .6rem; }
        .contBlock .boxWrapper .linkBox dl dd {
          padding: .5rem 1rem 1rem;
          min-height: 7rem; }
          @media screen and (max-width: 768px) {
            .contBlock .boxWrapper .linkBox dl dd {
              min-height: auto; } }
    .contBlock .boxWrapper .pointBox {
      width: calc(100%/3); }
      @media screen and (max-width: 768px) {
        .contBlock .boxWrapper .pointBox {
          width: 100%; } }
      .contBlock .boxWrapper .pointBox dl {
        border: 1px solid #0065b4;
        margin: .5rem;
        -webkit-border-radius: 0.5rem;
        -moz-border-radius: 0.5rem;
        -ms-border-radius: 0.5rem;
        border-radius: 0.5rem; }
        .contBlock .boxWrapper .pointBox dl dt {
          padding: 1rem 1rem .5rem;
          font-size: 15px;
          font-weight: bold;
          color: #0065b4;
          text-align: center;
          border-bottom: 1px solid #0065b4; }
        .contBlock .boxWrapper .pointBox dl dd {
          padding: 1rem; }
          @media screen and (max-width: 768px) {
            .contBlock .boxWrapper .pointBox dl dd {
              -webkit-align-items: center;
              -moz-align-items: center;
              -ms-align-items: center;
              align-items: center; } }
          .contBlock .boxWrapper .pointBox dl dd .txtBox p {
            padding: .5rem; 
			font-size:0.9rem;	}
          .contBlock .boxWrapper .pointBox dl dd img {
            margin-left: .5rem;
            width: 140px; }
          @media screen and (max-width: 768px) {
            .contBlock .boxWrapper .pointBox dl dd img {
              width: 90px; } }
    .contBlock .boxWrapper .triWrap {
      width: 3%;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      -js-display: flex;
      display: flex;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      align-items: center; }
    .contBlock .boxWrapper .flowBox {
      width: 23%;
      background: #0065b4; }
      .contBlock .boxWrapper .flowBox dl {
        padding: .8rem;
        color: #fff; }
        .contBlock .boxWrapper .flowBox dl dt {
          padding-top: 0rem;
          min-height: 5rem;
          font-size: 18px;
          font-weight: bold; }
          .contBlock .boxWrapper .flowBox dl dt span {
            font-weight: normal;
            font-size: 12px;
            padding-bottom: .6rem; }
        .contBlock .boxWrapper .flowBox dl dd {
          padding-top: .5rem;
          padding-bottom: 1rem;
          font-size: 14px;
          min-height: 5rem; }
          .contBlock .boxWrapper .flowBox dl dd span {
            font-size: 12px; }
    .contBlock .boxWrapper .goalFlow {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      -js-display: flex;
      display: flex;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      align-items: center;
      width: 19%; }
      .contBlock .boxWrapper .goalFlow dl {
        padding: .3rem;
        border: 3px solid #0065b4; }
        .contBlock .boxWrapper .goalFlow dl dt {
          font-size: 16px;
          color: #0065b4;
          font-weight: bold;
          line-height: 110%;
          text-align: center;
          padding-top: .5rem;
          padding-bottom: .5rem; }
        .contBlock .boxWrapper .goalFlow dl dd {
          text-align: center;
          margin: auto; }
          .contBlock .boxWrapper .goalFlow dl dd figure {
            padding: 0;
            margin: 0 .5rem; }
            .contBlock .boxWrapper .goalFlow dl dd figure figcaption {
              font-size: 12px;
              line-height: 110%; }
    @media screen and (max-width: 768px) {
      .contBlock .boxWrapper .triWrap, .contBlock .boxWrapper .flowBox, .contBlock .boxWrapper .goalFlow {
        width: 100%; }
      .contBlock .boxWrapper .flowBox {
        text-align: center; }
        .contBlock .boxWrapper .flowBox dl {
          padding-top: 0; }
          .contBlock .boxWrapper .flowBox dl dt {
            min-height: auto; }
          .contBlock .boxWrapper .flowBox dl dd {
            padding-top: 0;
            padding-bottom: .5rem;
            min-height: auto; }
      .contBlock .boxWrapper .triWrap {
        -webkit-justify-content: center;
        -moz-justify-content: center;
        -ms-justify-content: center;
        justify-content: center;
        -ms-flex-pack: center;
        padding-bottom: .5rem; }
      .contBlock .boxWrapper .goalFlow dl {
        -webkit-justify-content: center;
        -moz-justify-content: center;
        -ms-justify-content: center;
        justify-content: center;
        -ms-flex-pack: center;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        -js-display: flex;
        display: flex;
        -webkit-align-items: center;
        -moz-align-items: center;
        -ms-align-items: center;
        align-items: center;
        width: 100%; }
        .contBlock .boxWrapper .goalFlow dl dt {
          padding-bottom: 0;
          width: 50%; }
        .contBlock .boxWrapper .goalFlow dl dd {
          width: 50%; }
          .contBlock .boxWrapper .goalFlow dl dd figure {
            max-width: 240px; } }
  .contBlock .multiLIne {
    -webkit-align-items: strech;
    -moz-align-items: strech;
    -ms-align-items: strech;
    align-items: strech;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .contBlock .multiLIne .step_1 {
      width: 38%;
      padding-right: 2%; }
      .contBlock .multiLIne .step_1 .flowBox {
        width: 60%; }
      .contBlock .multiLIne .step_1 .goalFlow {
        width: 32%; }
      .contBlock .multiLIne .step_1 .triWrap {
        width: 8%; }
      @media screen and (max-width: 768px) {
        .contBlock .multiLIne .step_1 {
          padding-right: 0%;
          width: 100%; }
          .contBlock .multiLIne .step_1 .triWrap, .contBlock .multiLIne .step_1 .flowBox, .contBlock .multiLIne .step_1 .goalFlow {
            width: 100%; } }
    .contBlock .multiLIne .step_2 {
      width: 60%; }
      .contBlock .multiLIne .step_2 .flowBox {
        width: 33%; }
      .contBlock .multiLIne .step_2 .goalFlow {
        width: 20%; }
      .contBlock .multiLIne .step_2 .triWrap {
        width: 6%; }
      @media screen and (max-width: 768px) {
        .contBlock .multiLIne .step_2 {
          width: 100%; }
          .contBlock .multiLIne .step_2 .triWrap, .contBlock .multiLIne .step_2 .flowBox, .contBlock .multiLIne .step_2 .goalFlow {
            width: 100%; } }
  .contBlock p.leadPline {
    font-size: 18px; }
    @media screen and (max-width: 768px) {
      .contBlock p.leadPline {
        font-size: 18px; } }

.noteBlock {
  border: 4px solid #fff;
  padding: 1rem; }
  .noteBlock > dl {
    padding-top: 1rem; }
    .noteBlock > dl > dt {
      font-weight: bold;
      font-size: 14px; }
    .noteBlock > dl > dd {
      padding: 0 1rem;
      font-size: 14px; }
      .noteBlock > dl > dd.noteLine {
        color: red; }
      .noteBlock > dl > dd > ul > li {
        margin-left: 1rem; }
        .noteBlock > dl > dd > ul > li:before {
          margin-left: -1rem;
          content: "●"; }
      .noteBlock > dl > dd > dl {
        margin-bottom: 1rem; }
        .noteBlock > dl > dd > dl > dt {
          margin-left: 1rem; }
          .noteBlock > dl > dd > dl > dt:before {
            margin-left: -1rem;
            content: "●"; }
        .noteBlock > dl > dd > dl > dd > ul {
          padding-bottom: 1rem;
          padding-left: 1rem;
          font-size: 12px; }
          .noteBlock > dl > dd > dl > dd > ul > li {
            margin-left: 1rem; }
            .noteBlock > dl > dd > dl > dd > ul > li:before {
              margin-left: -1.4rem;
              content: "・";
              vertical-align: top; }
            .noteBlock > dl > dd > dl > dd > ul > li a {
              padding: 0 .5rem;
              font-size: 12px; }
            .noteBlock > dl > dd > dl > dd > ul > li dl {
              display: inline-block; }
          .noteBlock > dl > dd > dl > dd > ul dd {
            font-size: 12px; }

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

	IE用
	
===============================================================*/
@media all and (-ms-high-contrast: none) {
  .mainVixual {
    width: 100%; }
    .mainVixual ul.flexbox {
      width: 100%; }
      .mainVixual ul.flexbox li {
        max-width: 33%; }

  img {
    flex-shrink: 0; }

  .contBlock {
    width: 100%; }
    .contBlock .flexbox.boxWrapper {
      width: 100%; }
      .contBlock .flexbox.boxWrapper .pointBox {
        max-width: 33%; }
        .contBlock .flexbox.boxWrapper .pointBox dd img {
          width: 70px;
          height: auto; }
      .contBlock .flexbox.boxWrapper .flowBox dl, .contBlock .flexbox.boxWrapper .goalFlow dl {
        max-width: 90%; }
        .contBlock .flexbox.boxWrapper .flowBox dl dd img, .contBlock .flexbox.boxWrapper .goalFlow dl dd img {
          width: 100%; }
      .contBlock .flexbox.boxWrapper .linkBox {
        max-width: 33%; } }
