@charset "utf-8";

::selection {
	background-color: #cc7d00;
	color: #fff;
}

a {
	transition: all .3s;
}

a:hover {
	opacity: 0.7;
}

input,
button,
textarea {
	outline: none;
}

input:focus,
textarea:focus {
  background: #f7f7f7;
}
.pc {
	display: block;
}
.sp {
	display: none;
}

body {
	background: #fffcf1;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

.animation_ttl {
	display: inline-block;
	position: relative;
	padding-bottom: 10px;
	margin-bottom: 24px;
	font-size: 30px;
	line-height: 1.5;
	letter-spacing: .06em;
	color: #111;
	border-bottom: 2px solid #e4e0d1;
	font-weight: bold;
}

.animation_ttl--small:after,.animation_ttl--small:before {
	display: none
}

.animation_ttl>span {
	background: linear-gradient(120deg,#111,#111 40%,#d67c1d 0,#d67c1d 50%,#ccc 0,#ccc);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-size: 270% 100%;
	background-position-x: 100%;
	transition: background-position-x 1s ease-out;
	will-change: background-position-x
}

.animation_ttl>span.is-animate {
	background-position-x: 0
}

#header {
	height: 80px;
}

nav {
	position: fixed;
	background: #ffffff;
	height: 50px;
	width: 100%;
	z-index: 9999;
}

.h_left {
	width: 20%;
	margin: 8px 0 0 0;
	padding: 0px 0;
	float: left;
}

.tel {
	position: fixed;
	top: 0;
	right: 0;
}



.h_right {
	float: right;
	width: 78%;
	margin: 22px 0 0 0;
	padding: 0px 0;
}


.mv {
	background: url('../img/bg_main.png') no-repeat 50% 100%;
	background-size: contain;
	text-align: center;
	padding: 50px 0 90px;
}

.inner {
	max-width: 1200px;
	margin: 0 auto;
}

.mv .mv_txt {
	font-size: 30px;
	font-weight: bold;
	margin: 30px 0 40px;
}

.mv_info_btn {
	display: flex;
	margin: 45px 0 0;
	align-items: center;
}

.mv_info_btn > div {
	flex: 1;
}

.mv_btn  {
	padding: 0 0 0 30px;
}

.mv_btn a {
	display: block;
	background: #e90000;
	color: #fff;
	font-weight: bold;
	padding: 17px 0;
	border-radius: 20px;
}

.mv_btn a span {
	display: inline-block;
	width: 74px;
	height: 74px;
	line-height: 74px;
	font-size: 25px;
	border: 2px solid #fff;
	border-radius: 50%;
	margin: 0 15px 0 0;
}

.mv_btn a strong {
	font-size: 31px;
}

.video {
	padding: 70px 0 85px;
}

.video .inner {
	display: flex;
	align-items: center;
	align-content: center;
	flex-direction: row-reverse;
}

.video .video_area {
	flex: 1;
}

.video h2 {
	flex: 1;
	text-align: center;
	font-size: 30px;
	line-height: 1.6em;
}

.inflation .inner {
	display: flex;
	align-items: center;
}

.inflation .inflation_txt {
	flex: 1;
}

.inflation .inflation_txt p {
	font-size: 15px;
	line-height: 1.8em;
}

.inflation figure {
	flex: 1;
	text-align: center;
}

.if {
	padding: 120px 0 70px;
}

.if img {
	width: 100%;
	max-width: 357px;
	margin: auto;
	padding: 0 0 40px 0;
}

.if h2 {
	text-align: center;
	font-size: 30px;
	margin: 0 0 45px;
}

.thisis {
	background: #f0f0f0;
	padding: 60px 0 80px;
	text-align: center;
}

.label_txt {
	margin: 0 0 50px;
}

.label_txt span {
	position: relative;
	display: inline-block;
	background: #000;
	color: #fff;
	font-weight: bold;
	font-size: 30px;
	height: 50px;
	line-height: 50px;
	padding: 0 60px;
}

.label_txt span:before {
	position: absolute;
	left: -18px;
	top: 0;
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0px 0px 50px 18px;
	border-color: transparent transparent #000000 transparent;
}

.label_txt span:after {
	position: absolute;
	right: -18px;
	top: 0;
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 18px 0px 0px;
	border-color: #000000 transparent transparent transparent;
}

.thisis h2 {
	font-size: 30px;
	margin: 65px 0 50px;
}

.thisis h2 span {
	color: #e90000;
}

.merit {
	background: #f0f0f0;
	padding: 0 0 90px;
	text-align: center;
}

.merit p {
	font-size: 15px;
	line-height: 1.8em;
	text-align: left;
	max-width: 580px;
	margin: 0 auto 50px;
}

.merit ul {
	display: flex;
}

.merit ul li {
	flex: 1;
	margin: 0 30px 0 0;
	list-style: none;
	
}

.merit ul li:last-child {
	margin: 0;
}

.merit ul li dl dt {
	font-size: 20px;
	margin: 20px 0 15px;
	font-weight: bold;
}

.merit ul li dl dd {
	text-align: left;
	font-size: 15px;
	line-height: 1.8em;
}

.why {
	background: #f0f0f0;
	padding: 0 0 80px;
	text-align: center;
}

.why_ly {
	display: flex;
}

.why .why_txt {
	flex: 1;
	text-align: left;
}

.why figure {
	flex: 1;
	text-align: center;
}

.why p {
	font-size: 15px;
	line-height: 1.8em;
}

.why_table {
	padding: 80px 120px 0;
}

.why_table table {
	width: 100%;
}

.why_table table th {
	border: 1px solid #e4e0d1;
	padding: 18px;
	background: #fff;
	font-size: 20px;
}

.why_table table td {
	border: 1px solid #e4e0d1;
	padding: 18px;
	background: #fff;
	font-weight: bold;
	font-size: 20px;
}

.why_table table thead th {
	background: #e4e0d1;
	border-right: 1px solid #fff;
	width: 33.33%;
}

.why_table table thead tr th:last-child {
	border-right: 1px solid #e4e0d1;
}

.why_table table tbody tr td:last-child {
	color: #e90000;
}

.must {
	background: #f0f0f0;
	padding: 0 0 80px;
}

.must .inner {
	display: flex;
}

.must .must_txt {
	width: 70%;
}

.must .must_txt p {
	font-size: 15px;
	line-height: 1.8em;
	padding: 0 30% 0 0;
}

.must figure {
	width: 30%;
	text-align: center;
}

.bnr_free {
	text-align: center;
	padding: 75px 0;
}

.step {
	text-align: center;
}

.step .animation_ttl>span i {
	font-weight: normal;
	font-size: 24px;
}

.step ol {
	display: flex;
	flex-wrap: wrap;
	margin: 60px 0 0;
}

.step ol li {
	position: relative;
	width: 48%;
	margin: 0 4% 4% 0;
	background: #fff;
	padding: 50px 20px;
	box-sizing: border-box;
	border: 1px solid #e0e0e0;
	border-radius: 25px;
	list-style: none;
}

.step ol li:nth-child(2n) {
	margin: 0 0 4%;
}

.step ol li:last-child {
	width: 100%;
	margin: 0;
}

.step ol li .step_num {
	position: absolute;
	left: 20px;
	top: 27px;
	background: #000;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	border-radius: 50%;
	width: 87px;
	height: 87px;
	box-sizing: border-box;
	padding: 14px 0 0;
	line-height: 1.3em;
}

.step ol li h3 {
	font-size: 30px;
	line-height: 1.2em;
}

.step ol li figure {
	height: 160px;
	line-height: 160px;
}

.step ol li figure img {
	vertical-align: middle;
}

.step ol li p {
	font-size: 15px;
	line-height: 1.8em;
	text-align: left;
}

.step ol li:last-child figure {
	margin: 20px 0;
}

.become {
	padding: 80px 0;
	text-align: center;
}

.become ul li {
	display: flex;
	margin: 30px 0 0;
	align-items: center;
}

.become ul li:first-child {
	margin: 20px 0 0;
}

.become ul li figure {
	width: 10%;
}

.become ul li p {
	width: 90%;
	background: #d32121;
	color: #fff;
	font-size: 30px;
	line-height: 1.4em;
	font-weight: bold;
	text-align: left;
	padding: 20px 35px;
	box-sizing: border-box;
	border-radius: 20px;
}

.contact {
	background: #f0f0f0;
	text-align: center;
	padding: 70px 0;
}

.contact p {
	max-width: 530px;
	margin: 0 auto;
	font-size: 15px;
	line-height: 1.8em;
	text-align: left;
}

.contact ul {
	text-align: left;
	margin: 40px 55px 0;
	background: #fff;
	padding: 35px 0 35px 125px;
	border-radius: 20px;
}

.contact ul li {
	background: url('../img/ico_chk.png') no-repeat 0 50%;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.2em;
	padding: 20px 0 20px 80px;
}

.advent {
	padding: 70px 0;
	text-align: center;
}

.advent .advent_ly {
	display: flex;
	margin: 20px 0 0;
}

.advent .advent_txt {
	text-align: left;
	width: 50%;
}

.advent .advent_txt p {
	font-size: 15px;
	line-height: 1.8em;
}

.advent figure {
	width: 50%;
}

footer {
	background: #141c32;
	padding: 80px 0 180px 0;
	color: #fff;
	font-size: 16px;
}

footer a {
	color: #fff;
	cursor: pointer;
}

.ft_left {
	float: left;
	width: 30%;
}

.ft_right {
	float: right;
	width: 60%;
	margin: 20px 0 0 0;
}

.if_box {
	width: 98%;
	max-width: 700px;
	margin: 0 auto 20px auto;
	border-radius: 20px;
	border: 5px solid #e4e0d1;
	background-color: #fff;
	padding: 20px 1% ;
	font-weight: bold;
	font-size: 20px;
	line-height: 28px;
}


.marker {
	background:linear-gradient(transparent 50%, rgb(255, 142, 142) 50%);
  
	/* 背景の繰り返しを停止 */
	background-repeat: no-repeat;
  
	/* マーカーの横方向を0にして縮める */
	background-size: 0% 100%;
  
	/* マーカーが引かれる速度を指定 */
	transition:background-size 1s;
  }
  
  /* マーカーが引かれる際に付与するクラス */
  .marker.on {
	/* 横方向を100%にして、マーカーを引く */
	background-size: 100% 100%;
  }

  .contact2 {
	width: 90% !important;
	margin: auto !important;
	padding: 40px 0 !important;
  }

  .contact2 h2 {
	font-size: 18px;
	padding: 0 0 10px 0 !important;
  }

  .contact2 .inner {
	
  }
  .contact2 p {
	font-size: 16px !important;
	text-align: left !important;
	padding: 20px 0 0 0 !important;
  }

  .booking_curtain {
	width: 90% !important;
	border:1px solid #dcdcdc;
	margin: auto !important;
	padding: 20px !important;
	height: 300px;
	overflow: scroll;
  }

  .booking_curtain ol {
	padding: 20px 0 0 30px !important;

  }

  .booking_curtain p {
	padding: 0 0 20px 0 !important;
  }
 
.small {
	font-size: 18px !important;
	font-weight:normal !important;
	color: #6b6b6b;
	
}

@media screen and (max-width: 1199px) {
	.inner {
		max-width: 94%;
	}
	img {
		max-width: 100%;
	}
	.mv_info_btn {
		display: block;
	}
	.mv_btn {
		margin: 30px 0 0;
	}
	.mv_btn a {
		display: inline-block;
		padding: 20px 30px;
	}
	.mv {
		padding: 50px 0;
	}
	.step ol li {
		padding: 30px 20px 40px;
	}
	.step ol li .step_num {
		position: relative;
		left: 0;
		top: 0;
		display: block;
		margin: 0 auto 30px;
	}
	.contact ul {
		padding: 20px 30px;
		margin: 30px 0 0;
	}
}


@media screen and (max-width: 980px) {

	footer {
		background: #141c32;
		padding: 80px 0 150px 0 !important;
		color: #fff;
		font-size: 16px;
	}

	.tel {
		position: fixed;
		top: 0;
		right: 0;
		max-width: 180px;
		margin: 8px 0 0 0;
	}

	.h_left {
		width: 40%;
		margin: 8px 0 0 0;
		padding: 0px 0;
		float: left;
		text-align: center;
	}
	.h_left img {
		max-width: 200px;
	}

.h_right {
	display: none;
}

.sp {
	display: block;
}
}

@media screen and (max-width: 768px) {

	.ft_left {
		float: none;
		width: 95%;
		margin: 0 auto 40px auto;
	}

	.ft_left img {
		max-width: 240px;
	}
	
	.ft_right {
		float: none;
		width: 95%;
		margin: auto;
	}

	.pc {
		display: none;
	}
	.inner {
		max-width: 90%;
	}
	.mv p img {
		width: 90%;
	}
	.mv .mv_txt {
		font-size: 4vw;
		margin: 5% 0;
	}
	.mv_btn {
		padding: 0;
		margin: 7% 0 0;
	}
	.mv_btn a {
		display: block;
		padding: 3% 5%;
		border-radius: 3vw;
	}
	.mv_btn a strong {
		font-size: 4.7vw;
	}
	.mv_btn a span {
		width: 13vw;
		height: 13vw;
		line-height: 13vw;
		font-size: 4.5vw;
		margin: 0 2vw 0 0;
	}
	.video .inner {
		display: block;
	}
	.video h2 {
		font-size: 5vw;
		margin: 0 0 10%;
	}
	.video {
		padding: 10% 0;
	}
	.inflation .inner {
		display: block;
		text-align: center;
	}
	.animation_ttl {
		padding-bottom: 2vw;
		margin-bottom: 5%;
		font-size: 5vw;
	}
	.inflation .inflation_txt p {
		font-size: 3vw;
		text-align: left;
	}
	.inflation figure {
		margin: 5% 0 0;
	}
	.inflation figure img {
		width: 70%;
	}
	.if {
		padding: 10% 0;
	}
	.if h2 {
		font-size: 5vw;
		margin: 0 0 7%;
	}
	.thisis {
		padding: 10% 0;
	}
	.label_txt {
		margin: 0 0 8%;
	}
	.label_txt span {
		font-size: 5vw;
		height: 9vw;
		line-height: 9vw;
		padding: 0 7vw;
	}
	.label_txt span:before {
		border-width: 0px 0px 9vw 18px;
	}
	.label_txt span:after {
		border-width: 9vw 18px 0px 0px;
	}
	.thisis h2 {
		font-size: 5vw;
		line-height: 1.4em;
		margin: 10% 0;
	}
	.merit {
		padding: 0 0 15%;
	}
	.merit p {
		font-size: 3vw;
		margin: 0 0 15%;
	}
	.merit ul {
		display: block;
	}
	.merit ul li {
		margin: 0 0 10%;
	}
	.merit ul li figure img {
		width: 100%;
	}
	.merit ul li dl dt {
		font-size: 5vw;
		margin: 5% 0 3%;
	}
	.merit ul li dl dd {
		font-size: 3.4vw;
	}
	.why {
		padding: 0 0 15%;
	}
	.why_ly {
		display: block;
	}
	.why .why_txt {
		text-align: center;
	}
	.why p {
		font-size: 3.4vw;
		text-align: left;
	}
	.why figure {
		margin: 10% 0 0;
	}
	.why_table {
		width: 100%;
		padding: 0;
		margin: 10% 0 0;
	}
	.why_table table th,
	.why_table table td {
		padding: 4% 3%;
		font-size: 4vw;
		line-height: 1.2em;
	}
	.must {
		padding: 0 0 10%;
	}
	.must .inner {
		display: block;
	}
	.must .must_txt {
		width: 100%;
		text-align: center;
	}
	.must .must_txt p {
		font-size: 3.4vw;
		text-align: left;
		padding: 0;
	}
	.must figure {
		width: 100%;
		margin: 10% 0 0;
	}
	.bnr_free {
		padding: 0;
	}
	.step {
		padding: 10% 0 0;
	}
	.step ol {
		margin: 7% 0 0;
		display: block;
	}
	.step ol li {
		width: 100%;
		padding: 5%;
		border-radius: 5vw;
	}
	.step ol li .step_num {
		font-size: 5vw;
		width: 20vw;
		height: 20vw;
		padding: 4vw 0 0;
		margin: 0 auto 5vw;
	}
	.step ol li h3 {
		font-size: 5vw;
		line-height: 1.4em;
	}
	.step ol li figure,
	.step ol li:last-child figure {
		height: auto;
		line-height: 1;
		margin: 5% 0;
	}
	.step ol li p {
		font-size: 4vw;
	}
	.become {
		padding: 10% 0;
	}
	.become ul li:first-child {
		margin: 5% 0 0;
	}
	.become ul li {
		display: block;
		margin: 8% 0 0;
	}
	.become ul li figure {
		text-align: center;
		width: 100%;
	}
	.become ul li p {
		width: 100%;
		font-size: 4vw;
		margin: 5% 0 0;
		padding: 4%;
		border-radius: 3vw;
	}
	.become ul li p br {
		display: none;
	}
	.contact {
		padding: 10% 0;
	}
	.contact p {
		font-size: 4vw;
	}
	.contact ul {
		margin: 5% 0 0;
		padding: 3% 8%;
	}
	.contact ul li {
		font-size: 4.5vw;
		padding: 5% 0 5% 12vw;
		background-size: auto 8vw;
	}
	.advent {
		padding: 10% 0;
	}
	.advent .advent_ly {
		display: block;
		margin: 3% 0 0;
	}
	.advent .advent_txt {
		width: 100%;
	}
	.advent .advent_txt p {
		font-size: 3.4vw;
	}
	.advent figure {
		width: 100%;
		margin: 5% 0 0;
	}
	.advent figure img {
		width: 40%;
	}
}




/* table01 */

#table01 {
width: 100%;
}

#table01 tr {
	border-bottom: 1px solid #b5b1b1;
  }
  
  #table01 th,
  #table01 td {
	padding: 24px 0;
	border: none;
	font-size: 16px;
	line-height: 24px;
  }
  
  #table01 th {
	width: 30%;
	font-weight: bold;
	font-size: 16px;
  }
  
  /* sp */
  @media only screen and (max-width: 480px) {
	#table01 th,
	#table01 td {
	  width: 100%;
	  display: block;
	  text-align: left;
	}
  
	#table01 th {
	  width: 100%;
	}
  
	#table01 td {
	  padding-top: 0;
	}
  }





  /* フローティング */
.floating {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    padding: 40px 0;
    transition: all 0.3s ease 0s;
    visibility: visible;
    opacity: 1;
    
 
}


.floating ul li {
	list-style: none;
}
.floating__nav {}

.floating__nav-items {
    display: flex;
    align-items: center;
    justify-content: center;
}

.floating__nav-item {
    & + & {
      margin-left: 20px;
    }
}

.floating__nav-btn {
    display: inline-block;
    color: #fff;
    padding: 20px 40px;
    background-color: #8EBA43;
    border-radius: 8px;
    transition: filter .3s ease 0s;
  
    &:hover {
      filter: brightness(0.7) contrast(1.6);
    }
}

.floating__nav-btn--pink {
    background-color: #FA6775;
}

.j_banner {
	position: fixed;
	right: 0;
	bottom: 40px;
	max-width: 180px;
	z-index: 9999;
}