@charset "utf-8";

/* ==========================================================================
   top
   ========================================================================== */
#front-page .contents_wrap .wrap{
	width: 100%;
	box-sizing: border-box;
	padding: 0 5.5vw;
	margin: 0 auto;
}
@media (min-width: 960px){
#front-page .contents_wrap .wrap{
	max-width: calc(1000px + 10vw + 10vw);
	padding: 0 10vw;
}
}

#front-page header .logo{
	opacity: 0;
}


/*mv ============================== */
#mv{
	width: 100vw;
	height: 96vh;
	max-height: 660px;
	overflow: hidden;
	position: relative;
	z-index: 0;
}
@media (min-width: 440px){
#mv{
	max-height: 96vh;
}
}
@media (min-width: 960px){
#mv{
	height: 97vh;
	max-height: 1000px;
}
}

#mv .mv-slide .swiper-container .swiper-slide img{
	width: auto;
	height: 96vh;
	max-height: 660px;
	filter: brightness(75%);
}
@media (min-width: 440px){
#mv .mv-slide .swiper-container .swiper-slide img{
	width: 100%;
	height: auto;
	max-height: 96vh;
}
}
@media (min-width: 960px){
#mv .mv-slide .swiper-container .swiper-slide img{
	width: 100%;
	height: auto;
	max-height: 1000px;
}
}
@media (min-width: 1340px){
#mv .mv-slide .swiper-container .swiper-slide img{
	width: 100%;
}
}

#mv .logo_mv{
	width: 50vw;
	height: auto;
	z-index: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 1vw 0 0 -25vw;
}
@media (min-width: 440px){
#mv .logo_mv{
	width: 38vw;
	margin: -3vw 0 0 -19vw;
}
}
@media (min-width: 960px){
#mv .logo_mv{
	width: 26vw;
	margin: -12.5vw 0 0 -13vw;
}
}

#mv .logo_mv img{
	width: 100%;
	height: auto;
	display: block;
}

#mv .text_wrap{
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -56vw 0 0 -15%;
	z-index: 1;
}
@media (min-width: 440px){
#mv .text_wrap{
	margin: -40vw 0 0 -9vw;
	z-index: 1;
}
}
@media (min-width: 960px){
#mv .text_wrap{
  top: 50%;
	left: 15vw;
	margin: -13.5vw 0 0 0;
}
}


#mv .catch{
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}

#mv .mv-catch-1,
#mv .mv-catch-2,
#mv .mv-catch-3{
	width: 28px;
  height: auto;
}
@media (min-width: 440px){
	#mv .mv-catch-1,
	#mv .mv-catch-2,
	#mv .mv-catch-3{
		width: 36px;
}
}
@media (min-width: 960px){
#mv .mv-catch-1,
#mv .mv-catch-2,
#mv .mv-catch-3{
  width: 40px;
}
}

#mv .mv-catch-2,
#mv .mv-catch-3{
	margin: 0 15px 0 0;
}
@media (min-width: 440px){
#mv .mv-catch-2,
#mv .mv-catch-3{
	margin: 0 20px 0 0;
}
}
@media (min-width: 960px){
#mv .mv-catch-2,
#mv .mv-catch-3{
	margin: 0 22px 0 0;
}
}

#mv .catch img{
	width: 100%;
	height: auto;
	display: block;
}

/* scrolldown */
@keyframes scrolldown {
  0% {
      transform: translate3d(0, -100%, 0)
  }
	80% {
      transform: translate3d(0, 0, 0)
  }
  85% {
      transform: translate3d(0, 0, 0)
  }
  to {
      transform: translate3d(0, 100%, 0)
  }
}

.scrolldown-content{
	width: 2px;
	height: 100vh;
  position: absolute;
	bottom: 0;
  left: 6vw;
  box-sizing: border-box;
}
@media (min-width: 440px){
.scrolldown-content{
  left: 6.5vw;
}
}
@media (min-width: 960px){
.scrolldown-content{
  left: 60px;
}
}

.scrolldown-wrap{
  width: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
	background-color: rgba(255, 255, 255, 0.1);
}

.scrolldown-wrap::after{
	color: #fff;
	content: "SCROLL";
	font-size: 1.2rem;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.3em;
	white-space: nowrap;
  transform:rotate(-90deg);
  position: absolute;
  top: -50px;
  left: -31px;
}
@media (min-width: 960px){
.scrolldown-wrap::after{
  font-size: 1.4rem;
	top: -66px;
	left: -35.8px;
}
}

.scrolldown{
  position: relative;
  width: 2px;
  height: 9vh;
  transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1) 1.8s;
  transform: translateY(0);
}
@media (min-width: 440px){
.scrolldown{
	width: 2px;
  height: 12vh;
}
}

.scrolldown_bar{
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 2px;
  height: 12vh;
  margin: 0 auto;
}
@media (min-width: 440px){
.scrolldown_bar{
  height: 12vh;
}
}

.scrolldown_bar-item{
  position: absolute;
  width: 2px;
  height: 12vh;
  margin: 0 auto;
  animation: scrolldown 2s infinite;
  opacity: 1;
	background-color: rgba(255, 255, 255, 1);
}
@media (min-width: 440px){
.scrolldown_bar-item{
	width: 2px;
  height: 12vh;
}
}


/* top section_title
============================================================ */
#front-page .section_title_en{
	color: #008289;
	font-size: 2.8rem;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	letter-spacing: 0.28em;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	padding: 0 0 0 0.28em;
}
@media (min-width: 960px){
#front-page .section_title_en{
	font-size: 4.0rem;
}
}

#front-page h2.section_title{
	color: #008289;
  font-size: 1.4rem;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
  line-height: 1;
	letter-spacing: 0.06em;
	text-align: center;
	padding-left: 0.06em;
}
@media (min-width: 960px){
#front-page h2.section_title{
  font-size: 1.6rem;
	font-weight: 500;
}
}


/* top-intro
============================================================ */
#top-intro{
	width: 100vw;
	position: relative;
	padding: 140px 0 0 0;
}
@media (min-width: 960px){
#top-intro{
	padding: 150px 0 0 0;
}
}

#top-intro .wrap{
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media (min-width: 960px){
#top-intro .wrap{
	align-items: flex-start;
}
}

#top-intro .section_title_en{
	font-size: 2.8rem;
}
@media (min-width: 960px){
#top-intro .section_title_en{
	font-size: 3.1rem;
}
}

#top-intro h2.section_title{
  font-size: 1.4rem;
}
@media (min-width: 960px){
#top-intro h2.section_title{
	font-size: 1.7rem;
}
}

#top-intro .section_title_en,
#top-intro h2.section_title{
	text-align: center;
}
@media (min-width: 960px){
#top-intro .section_title_en,
#top-intro h2.section_title{
	text-align: left;
	padding: 0;
}
}

#top-intro .text_wrap{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
@media (min-width: 960px){
#top-intro .text_wrap{
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}
}

#top-intro .catch_block{
	width: 100%;
}
@media (min-width: 960px){
#top-intro .catch_block{
	width: 44%;
}
}

#top-intro .catch_block img{
	width: 76%;
	height: auto;
	display: block;
	margin: 0 auto;
}
@media (min-width: 960px){
#top-intro .catch_block img{
	width: 100%;
	margin: 0;
}
}

#top-intro .text_block{
	width: 100%;
	margin-bottom: 50px;
	padding: 0 1vw;
	box-sizing: border-box;
}
@media (min-width: 960px){
#top-intro .text_block{
	width: 44%;
	margin-bottom: 180px;
	padding: 0;
}
}

#top-intro .text_block .head{
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.08em;
	text-align: center;
	text-align: left;
}
@media (min-width: 960px){
#top-intro .text_block .head{
	font-size: 4.0rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-align: left;
}
}

#top-intro .text_block .text p{
	font-size: 1.55rem;
	letter-spacing: 0.04em;
	text-align: justify;
	margin-top: 20px;
}
@media (min-width: 960px){
#top-intro .text_block .text p{
	font-size: 1.7rem;
	line-height: 2.0;
	letter-spacing: 0.08em;
	margin-top: 24px;
}
}

/*#top-intro .text_block p:first-of-type{
	margin-top: 20px;
}
@media (min-width: 960px){
#top-intro .text_block p:first-of-type{
	margin-top: 60px;
}
}*/

#top-intro .intro-img1{
	width: 50vw;
  height: auto;
	border-radius: 8px;
	overflow: hidden;
	position: absolute;
	top: -46px;
	right: 5vw;
}
@media (min-width: 440px){
#top-intro .intro-img1{
	width: 30vw;
}
}
@media (min-width: 960px){
#top-intro .intro-img1{
	width: 400px;
	border-radius: 16px;
	top: -50px;
	right: calc( 10vw - 16px );
	display: block;
}
}

#top-intro .intro-img2{
	width: 90vw;
  height: auto;
	border-radius: 0 10px 10px 0;
	overflow: hidden;
	margin-left: -10vw;
}
@media (min-width: 960px){
#top-intro .intro-img2{
	width: 660px;
	border-radius: 16px;
	position: absolute;
	bottom: 0;
	left: -16px;
	margin-left: 0;
}
}

#top-intro .ill-forest{
	display: none;
}
@media (min-width: 960px){
#top-intro .ill-forest{
	width: 30vw;
	height: auto;
	display: block;
	position: absolute;
	bottom: 60px;
	right: -4.2vw;
	opacity: 0.5;
	z-index: -1;
}
}


/* top-ticker ============================== */
#top-ticker{
	width: 100%;
	height: auto;
	overflow: hidden;
	white-space:nowrap;
	margin: -30px 0 0 0;
}
@media (min-width: 960px){
#top-ticker{
	margin: -44px 0 0 0;
}
}

@keyframes hscroll {
	0% { transform:translateX(4px); }
	100% { transform:translateX(-100%); }
}

.ticker .text-ticker ul{
	display:inline-block;
	margin:0;
	padding:0;
	animation:hscroll 360s linear infinite;
}
@media (min-width: 440px){
.ticker .text-ticker ul{
	animation:hscroll 400s linear infinite;
}
}

.ticker .text-ticker li{
	color: #C3F5E3;
	opacity: 0.2;
	font-size: 8.0rem;
	font-family: "Noto Serif Display", serif;
	font-weight: 300;
  line-height: 1;
	letter-spacing: 0.2em;
	display:inline-block;
	opacity: 0.8;
}
@media (min-width: 960px){
.ticker .text-ticker li{
	font-size: clamp(4.0rem, 9vw, 14.0rem);
}
}

.ticker .text-ticker li span{
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 200;
}


/* features
============================================================ */
#features{
	padding: 60px 0 50px 0;
}
@media (min-width: 960px){
#features{
	padding: 130px 0 120px 0;
}
}

#features .wrap{
	position: relative;
}

#features .ill-forest{
	display: none;
}
@media (min-width: 960px){
#features .ill-forest{
	width: 190px;
	height: auto;
	display: block;
	position: absolute;
	bottom: -120px;
	right: 5vw;
}
}

#features .section_title_en{
	color: #008289;
	font-size: 2.8rem;
}
@media (min-width: 960px){
#features .section_title_en{
	font-size: 5.0rem;
	font-weight: 500;
}
}

#features .card{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
@media (min-width: 960px){
#features .card{
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}
}

#features .card .text_block .head{
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.7;
	text-align: center;
	display: block;
}
@media (min-width: 960px){
#features .card .text_block .head{
	font-size: 2.3rem;
	letter-spacing: 0.06em;
	text-align: left;
}
}

#features .card .text_block{
	width: 100%;
	box-sizing: border-box;
	padding: 24px 0 0 0;
}
@media (min-width: 960px){
#features .card .text_block{
	width: 50%;
	padding: 0 70px;
}
}

#features .card .text_block p{
	font-size: 1.4rem;
	text-align: justify;
	margin: 15px 0 0 0;
}
@media (min-width: 960px){
#features .card .text_block p{
	font-size: 1.4rem;
	line-height: 1.8;
	margin: 24px 0 0 0;
}
}

#features .card .thumbnail{
	width: 100%;
}
@media (min-width: 960px){
#features .card .thumbnail{
	width: 47%;
}
}

#features .card .thumbnail img{
	border-radius: 10px;
}

#features .card-2 .text_block{
	order: 2;
}
@media (min-width: 960px){
#features .card-2 .text_block{
	order: 1;
}
}

#features .card-2 .thumbnail{
	order: 1;
}
@media (min-width: 960px){
#features .card-2 .thumbnail{
	order: 2;
}
}

#features .btn a{
	width: 100%;
	margin: 0 auto;
}
@media (min-width: 960px){
#features .btn a{
	width: 380px;
}
}


/* top-case
============================================================ */
#top-case{
	position: relative;
	overflow: hidden;
	background-color: #F3FAE8;
	padding: 50px 0 50px 0;
}
@media (min-width: 960px){
#top-case{
	padding: 110px 0 130px 0;
}
}

#top-case .wrap{
	display: flex;
	flex-direction: column;
	align-items: center;
}

#top-case .section_title_en{
	letter-spacing: 0.14em;
}

#top-case .title_h3{
	color: #3C878B;
	font-size: 2.0rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-align: center;
	/*display: inline-block;
	text-decoration: underline;
	text-decoration-color: #0065b3;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;*/
}
@media (min-width: 960px){
#top-case .title_h3{
	font-size: 4.0rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.08em;
	/*text-decoration-thickness: 3px;
	text-underline-offset: 7px;*/
}
}

#top-case p.read{
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
	text-align: center;
}
@media (min-width: 960px){
#top-case p.read{
	font-size: 1.6rem;
	margin-left: 8px;
}
}

/* entry */
#top-case .entry-case{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}
@media (min-width: 960px){
#top-case .entry-case{
	flex-direction: row;
	justify-content: center;
}
}

#top-case li.list-wrap{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media (min-width: 960px){
#top-case li.list-wrap{
	width: 47%;
}
}

#top-case li.list-wrap:first-of-type{
	margin-right: 0;
}
@media (min-width: 960px){
#top-case li.list-wrap:first-of-type{
	margin-right: 6%;
}
}

#top-case li.list-wrap .head{
	color: #4A4A4A;
	width: 100%;
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.5;
	text-align: center;
}
@media (min-width: 960px){
#top-case li.list-wrap .head{
	font-size: 2.4rem;
}
}

#top-case li.list-wrap .thumbnail{
	width: 100%;
	height: auto;
	border: 5px solid #fff;
	box-sizing: border-box;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

#top-case li.list-wrap .thumbnail img{
	width: 100%;
	height: auto;
	display: block;
}

#top-case li.list-wrap .case-list{
	width: 100%;
}

#top-case li.list-wrap .case-list .list{
	margin: 0 0 6px 0;
}

#top-case li.list-wrap .case-list .list:last-of-type{
	margin: 0;
}

#top-case li.list-wrap .case-list .list a{
	width: 100%;
	font-size: 1.4rem;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: center;
	display: block;
	border-radius: 12px;
	background-color: #fff;
	position: relative;
	transition: all 0.2s ease;
	box-sizing: border-box;
	padding: 12px 26px;
}
@media (min-width: 960px){
#top-case li.list-wrap .case-list .list a{
	font-size: 1.6rem;
	font-weight: 500;
	padding: 11px 18px;
}
}

#top-case li.list-wrap:nth-of-type(3) .case-list .list a{
	padding: 11px 20px;
}
@media (min-width: 960px){
#top-case li.list-wrap:nth-of-type(3) .case-list .list a{
	padding: 11px 28px;
}
}

/*#top-case li.list-wrap .case-list .list a::after{
	content: "";
  width: 14px;
	height: 14px;
  background-image: url(../img/common/icon-arrow-rp.svg);
  background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
  position: absolute;
	top: 50%;
  right: 2px;
  margin: -7px 0 0 0;
}
@media (min-width: 960px){
#top-case li.list-wrap .case-list .list a::after{
	right: 4px;
	margin: -7px 0 0 0;
}
}*/

#top-case li.list-wrap .case-list .list a:hover{
	color: #92D574;
}

@media (min-width: 960px){
#top-case .wrap::after{
	color: #3C878B;
	content: "Improved Cases";
  font-size: 6.4rem;
	font-family: "Noto Serif Display", serif;
	font-weight: 400;
	line-height: 1;
	text-align: right;
	letter-spacing: 0.12em;
	white-space: nowrap;
  transform:rotate(90deg);
  position: absolute;
	bottom: 300px;
	left: -160px;
	opacity: 1;
}
}

@media (min-width: 960px){
#top-case .wrap::before{
	content: "";
	width: 86%;
	height: 95.5%;
	border-radius: 1000px 1000px 0 0;
	border: 3px solid #fff;
  position: absolute;
	top: 140px;
	left: 7%;
	opacity: 0.9;
	z-index: -1;
}
}

#top-case .ill-forest{
	display: none;
}
@media (min-width: 960px){
#top-case .ill-forest{
	width: 520px;
	height: auto;
	display: block;
	position: absolute;
	bottom: 180px;
	right: -5vw;
	opacity: 0.7;
}
}


/* bnr-franchise
============================================================ */
#top-case .bnr{
	width: 100%;
}

#top-case .bnr .bnr_wrap{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: #008289;
	background-color: #92D574;
	background-color: #fff;
	border: 1px solid #92D574;
	border: 1px solid #008289;
	border: 1px solid #bde5c5;
	margin: 0 auto;
	padding: 24px 20px 24px 20px;
	z-index: 10;
	box-sizing: border-box;
}
@media (min-width: 960px){
#top-case .bnr .bnr_wrap{
	width: 820px;
	height: 110px;
	flex-direction: row;
	justify-content: space-between;
	padding: 0 34px;
}
}

#top-case .bnr .head{
	color: #4A4A4A;
	font-size: 1.85rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-left: -0.5em;
}
@media (min-width: 960px){
#top-case .bnr .head{
	font-size: 2.3rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	margin-left: -0.3em;
}
}

#top-case .bnr .head img{
	width: 50px;
	height: auto;
	display: block;
	margin: 0 0 12px 0;
}
@media (min-width: 440px){
#top-case .bnr .head img{
	width: 56px;
	font-size: 2.1rem;
	margin: 0 24px 0 0;
}
}

#top-case .bnr .btn{
	width: 100%;
}
@media (min-width: 440px){
#top-case .bnr .btn{
	width: 230px;
}
}

#top-case .bnr .btn a{
	width: 100%;
}
@media (min-width: 960px){
#top-case .bnr .btn a{
	width: 230px;
}
}

#top-case .bnr .btn a::after{
	content: "";
	width: 13px;
	height: 13px;
	background-image: url(../img/common/icon-arrow-rw.svg);
	background-size: 13px 13px;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	right: 16px;
	margin: -6.5px 0 0 0;
}
@media (min-width: 960px){
#top-case .bnr .btn a::after{
	width: 13px;
	height: 13px;
	background-size: 13px 13px;
  margin: -6.5px 0 0 0;
}
}


/* slit_img
============================================================ */
#slit_img{
	background-color: #B3E6C2;
	position: relative;
	z-index: 0;
}

#slit_img::after{
	content: "";
	width: 100%;
	height: 170px;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #F3FAE8;
	z-index: -1;
}
@media (min-width: 960px){
#slit_img::after{
	height: 220px;
}
}

#slit_img .slit_img{
	height: 340px;
	overflow: hidden;
	border-radius: 0 20px 20px 0;
	margin-left: calc(50% - 50vw);
}
@media (min-width: 960px){
#slit_img .slit_img{
	height: 440px;
}
}


/* slit
============================================================ */
#slit{
	margin-top: -340px;
}
@media (min-width: 960px){
#slit{
	margin-top: -440px;
}
}

#slit .img_block{
	width: 100%;
	height: 340px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
}
@media (min-width: 960px){
#slit .img_block{
	height: 440px;
}
}

#slit .img_block img{
	width: 148px;
	height: auto;
  display: block;
	margin: -60px 0 0 20px;
}
@media (min-width: 960px){
#slit .img_block img{
	width: 220px;
	margin: 0;
}
}


/* top-voice
============================================================ */
#top-voice{
	position: relative;
	background: #B3E6C2;
	padding: 50px 0 50px 0;
	overflow-x: hidden;
}
@media (min-width: 960px){
#top-voice{
	padding: 100px 0 120px 0;
}
}

#top-voice .wrap{
	position: relative;
}

#top-voice .ill-forest{
	display: none;
}
@media (min-width: 960px){
#top-voice .ill-forest{
	width: 190px;
	height: auto;
	display: block;
	position: absolute;
	bottom: -120px;
	right: 10vw;
	opacity: 0.7;
}
}

#top-voice .section_title_en,
#top-voice h2.section_title{
	padding: 0;
}

#top-voice .title_block{
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
}

#top-voice .title_wrap{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}


/* entry */
#top-voice .entry_list .swiper-container-wrap{
  position: relative;
}

#top-voice .entry_list .swiper-container{
  width: 100%;
  overflow: visible;
}

#top-voice .entry_list .swiper-slide{
	width: 100%;
	display: flex;
	flex-direction: column;
	border-radius: 8px;
	background-color: #fff;
	box-sizing: border-box;
	position: relative;
	padding: 40px 20px 26px 20px;
}
@media (min-width: 960px){
#top-voice .entry_list .swiper-slide{
	padding: 48px 24px 26px 24px;
}
}

#top-voice .entry_list .swiper-slide::before{
	content: '';
  position: absolute;
	top: 0;
	left: 24px;
	width: 20px;
	height: 4px;
	background-color: #92D574;
	z-index: 10;
}

#top-voice .entry_list .swiper-slide::after{
	content: "";
	width: 20px;
	height: 23px;
	background-image: url(../img/common/obj-fukidashi.svg);
	background-size: 20px 23px;
	background-repeat: no-repeat;
	position: absolute;
	bottom: -20px;
	left: 40px;
	z-index: 10;
}

#top-voice .entry_list .swiper-slide .title{
	color: #008289;
	height: 54px;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0.02em;
}
@media (min-width: 960px){
#top-voice .entry_list .swiper-slide .title{
	font-size: 1.65rem;
	font-weight: 500;
}
}

#top-voice .entry_list .swiper-slide .text_block{
	width: 100%;
	height: 220px;
	box-sizing: border-box;
	padding: 0 6px 0 0;
	text-align: justify;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}
@media (min-width: 960px){
#top-voice .entry_list .swiper-slide .text_block{
	height: 254px;
}
}

#top-voice .entry_list .swiper-slide .text_block::-webkit-scrollbar{
  -webkit-appearance: none;
  width: 4px;
}

#top-voice .entry_list .swiper-slide .text_block::-webkit-scrollbar-thumb{
  background-color: #bababa;
	border-radius: 2px;
}

#top-voice .entry_list .swiper-slide .text_block::-webkit-scrollbar-track{
  background-color: #fff;
	border-radius: 0;
}

#top-voice .entry_list .swiper-slide .text_block p{
	color: #444;
	font-size: 1.45rem;
	line-height: 1.64;
	letter-spacing: 0;
}

#top-voice .entry_list .swiper-slide .text_block img{
	display: none;
}

#top-voice .entry_list .border{
	width: 100%;
	height: 1px;
	background-color: #E1E1E1;
}

#top-voice .btn{
	justify-content: center;
}
@media (min-width:960px){
#top-voice .btn{
	justify-content: flex-start;
}
}

/* button */
.button-wrap{
	width: 90px!important;
	height: 40px!important;
	position: relative!important;
}
@media (min-width: 960px){
.button-wrap{
	width: 110px!important;
	height: 50px!important;
}
}

.swiper-button-prev,
.swiper-button-next{
  position: absolute;
	bottom: 0!important;
  width: 40px!important;
  height: 40px!important;
  margin-top: 0!important;
  z-index: 20;
  cursor: pointer;
  outline: none;
  background-size: 14px auto!important;
	background-position: center center!important;
	background-repeat: no-repeat!important;
	border-radius: 50%!important;
	border: 0px solid #fff!important;
	background-color: #fff;
	box-sizing: border-box;
  transition: all 0.2s ease;
}
@media (min-width: 960px){
.swiper-button-prev,
.swiper-button-next{
  width: 50px!important;
  height: 50px!important;
}
}

.swiper-button-prev{
	top: 0!important;
  left: 0!important;
  background-image: url(../img/common/icon-arrow-r.svg)!important;
	transform: scale(-1, 1);
}

.swiper-button-next{
	top: 0!important;
  left: 50px!important;
  background-image: url(../img/common/icon-arrow-r.svg)!important;
}
@media (min-width: 440px){
.swiper-button-next{
  left: 60px!important;
}
}

.swiper-button-prev:hover,
.swiper-button-next:hover{
  opacity: 0.5;
}


/* top-recommend
============================================================ */
#top-recommend{
	padding: 60px 0 50px 0;
	background-color: #fafafa;
}
@media (min-width: 440px){
#top-recommend{
	padding: 120px 0 120px 0;
}
}

#top-recommend .section_title_en,
#top-recommend h2.section_title{
	text-align: left;
	padding: 0;
}

#top-recommend .img_block{
	border-radius: 16px;
	overflow: hidden;
}

#top-recommend .text_wrap{
	display: flex;
	flex-direction: column;
}
@media (min-width: 440px){
#top-recommend .text_wrap{
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
}
}

#top-recommend .text_wrap .text_block{
	width: 100%;
}
@media (min-width: 440px){
#top-recommend .text_wrap .text_block{
	width: 64%;
}
}

#top-recommend .text_wrap .btn{
	width: 100%;
}
@media (min-width: 440px){
#top-recommend .text_wrap .btn{
	width: 32%;
	justify-content: flex-end;
	margin-bottom: 8px;
}
}

#top-recommend .text_wrap .text_block .head{
	color: #3C878B;
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.6;
}
@media (min-width: 440px){
#top-recommend .text_wrap .text_block .head{
	font-size: 2.2rem;
	font-weight: 500;
}
}

#top-recommend .text_wrap .text_block p.text{
	color: #555;
	font-size: 1.4rem;
}
@media (min-width: 960px){
#top-recommend .text_wrap .text_block p.text{
	font-size: 1.5rem;
	line-height: 2.0;
}
}


/* top-price
============================================================ */
#top-price{
	padding: 50px 0 50px 0;
}
@media (min-width: 960px){
#top-price{
	padding: 120px 0 120px 0;
}
}

#top-price .text_block p{
	font-size: 1.4rem;
	text-align: justify;
	text-align: center;
	margin-top: 15px;
}
@media (min-width: 960px){
#top-price .text_block p{
	font-size: 1.5rem;
	line-height: 1.9;
	text-align: center;
	margin-top: 20px;
}
}

#top-price .text_block p:first-of-type{
	margin-top: 25px;
}
@media (min-width: 960px){
#top-price .text_block p:first-of-type{
	margin-top: 30px;
}
}


/* scroll_img
============================================================ */
#scroll_img .scroll-container{
	width: 100%;
	height: 300px;
  display: flex;
	white-space: nowrap;
	overflow: hidden;
}
@media (min-width: 960px){
#scroll_img .scroll-container{
	width: 100%;
	height: 440px;
}
}

#scroll_img .scroll-content{
  display: flex;
	animation: scroll 100s linear infinite;
}

#scroll_img .scroll-content .item{
	width: auto;
	height: 300px;
	margin: 0 10px;
}
@media (min-width: 960px){
#scroll_img .scroll-content .item{
	height: 440px;
	margin: 0 15px;
}
}

#scroll_img .scroll-content .item img{
	width: auto;
	height: 100%;
	display: block;
	border-radius: 16px;
}

@keyframes scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-100%);
	}
}


/* scroll
============================================================ */
#scroll{
	margin-top: -300px;
}
@media (min-width: 960px){
#scroll{
	margin-top: -440px;
}
}

#scroll .img_block{
	width: 100%;
	height: 300px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
}
@media (min-width: 960px){
#scroll .img_block{
	height: 440px;
}
}

#scroll .img_block img{
	width: 112px;
	height: auto;
  display: block;
	margin: -30px 20px 0 0;
}
@media (min-width: 960px){
#scroll .img_block img{
	width: 156px;
	margin: 0;
}
}


/* top-flow
============================================================ */
#top-flow{
	padding: 60px 0 50px 0;
}
@media (min-width: 960px){
#top-flow{
	padding: 120px 0 120px 0;
}
}

#top-flow .wrap{
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media (min-width: 440px){
#top-flow .wrap{
	align-items: flex-start;
}
}

#top-flow .section_title_en,
#top-flow h2.section_title{
	text-align: center;
}
@media (min-width: 440px){
#top-flow .section_title_en,
#top-flow h2.section_title{
	text-align: left;
	padding: 0;
}
}

#top-flow .use-list{
	width: 100%;
	display: flex;
	flex-direction: column;
}
@media (min-width: 440px){
#top-flow .use-list{
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}
}

#top-flow ul.use-list .card{
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	background-color: #fafafa;
	margin: 10px 0 0 0;
}
@media (min-width: 440px){
#top-flow ul.use-list .card{
	width: 17.2%;
	flex-direction: column;
	align-items: center;
	background-color: #fff;
	margin: 0;
}
}

#top-flow ul.use-list .card img{
	width: 28%;
	height: auto;
	display: block;
}
@media (min-width: 440px){
#top-flow ul.use-list .card img{
	width: 100%;
}
}

#top-flow ul.use-list .card .text_wrap{
	width: 72%;
}
@media (min-width: 440px){
#top-flow ul.use-list .card .text_wrap{
	width: 100%;
}
}

#top-flow ul.use-list .card .card_no{
	color: #008289;
	font-size: 2.2rem;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
	text-align: center;
	z-index: 1;
	margin: 8px 0 0 0.04em;
}
@media (min-width: 440px){
#top-flow ul.use-list .card .card_no{
	margin: 16px 0 0 0.04em;
}
}

#top-flow ul.use-list .card p.text{
	color: #555;
	font-size: 1.45rem;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	text-align: center;
	line-height: 2.3;
}
@media (min-width: 440px){
#top-flow ul.use-list .card p.text{
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2.2;
}
}


/* footer-reservation
============================================================ */
#footer-reservation{
	width: 100vw;
	background-image: url(../img/common/bg-forest.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #FAFAFA;
	padding: 100px 0 100px 0;
}
@media (min-width: 960px){
#footer-reservation{
	background-attachment: fixed;
	padding: 135px 0 145px 0;
}
}

#footer-reservation .wrap{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#footer-reservation .text_block{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#footer-reservation .text_block .icon img{
	width: 60px;
	height: auto;
	display: block;
}
@media (min-width: 440px){
#footer-reservation .text_block .icon img{
	width: 60px;
}
}

#footer-reservation .text_block p.text{
	color: #008289;
	font-size: 1.55rem;
	font-weight: 600;
	text-align: center;
	line-height: 2.2;
	letter-spacing: 0.06em;
}
@media (min-width: 440px){
#footer-reservation .text_block p.text{
	font-size: 1.7rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	padding-left: 0.2em;
}
}

#footer-reservation .btn-w{
	width: 100%;
}
@media (min-width: 440px){
#footer-reservation .btn-w{
	width: 400px;
}
}

#footer-reservation .btn-w a{
	width: 100%;
	height: 60px;
}
@media (min-width: 440px){
#footer-reservation .btn-w a{
	width: 400px;
	height: 74px;
}
}


/* top-news
============================================================ */
#top-news{
	position: relative;
	background-color: #FAFAFA;
	padding: 50px 0 50px 0;
}
@media (min-width: 960px){
#top-news{
	padding: 120px 0 120px 0;
}
}

#top-news .wrap{
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media (min-width: 960px){
#top-news .wrap{
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}
}

#top-news .title_block{
	width: 100%;
	padding: 0 2%;
	box-sizing: border-box;
}
@media (min-width: 960px){
#top-news .title_block{
	width: 25%;
	padding: 0;
}
}

#top-news .entry_list{
	width: 100%;
	padding: 0 2%;
	box-sizing: border-box;
}
@media (min-width: 960px){
#top-news .entry_list{
	width: 75%;
	padding: 0;
}
}

#top-news .section_title_en,
#top-news h2.section_title{
	text-align: center;
}
@media (min-width: 960px){
#top-news .section_title_en,
#top-news h2.section_title{
	text-align: left;
	padding: 0;
}
}

#top-news .entry_list ul{
	width: 100%;
	border-top: 1px solid #ddd;
}

#top-news .entry_list ul li{
	width: 100%;
	border-bottom: 1px solid #ddd;
}

#top-news .entry_list ul li a{
	width: 100%;
	display: flex;
	flex-direction: column;
	position: relative;
	box-sizing: border-box;
	padding: 16px 30px 16px 4px;
	padding: 18px 36px 12px 4px;
}
@media (min-width: 960px){
#top-news .entry_list ul li a{
	flex-direction: row;
	align-items: center;
	padding: 26px 30px 26px 4px;
}
}

#top-news .entry_list ul li a::after{
	content: "";
  width: 14px;
	height: 14px;
  background-image: url(../img/common/icon-arrow-r.svg);
  background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
  position: absolute;
	top: 50%;
  right: 2px;
  margin: -7px 0 0 0;
}
@media (min-width: 960px){
#top-news .entry_list ul li a::after{
	right: 6px;
	margin: -7px 0 0 0;
}
}

#top-news .entry_list ul li .data_block{
	margin: 0 18px 10px 0;
}
@media (min-width: 960px){
#top-news .entry_list ul li .data_block{
	margin: 0 24px 0 0;
}
}

#top-news .entry_list ul li .data{
	color: #555;
	width: 72px;
	font-size: 1.4rem;
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	letter-spacing: 0.06em;
	line-height: 1;
	text-align: center;
}
@media (min-width: 960px){
#top-news .entry_list ul li .data{
	width: 90px;
	font-size: 1.4rem;
	text-align: left;
	margin: 0;
}
}

#top-news .entry_list ul li h3.title{
	color: #555;
	font-size: 1.5rem;
	line-height: 1.5;
	font-weight: 600;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.02em;
	transition: all 0.2s ease;
}
@media (min-width: 960px){
#top-news .entry_list ul li h3.title{
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.04em;
}
}

@media (min-width: 960px){
#top-news .entry_list ul li a:hover .title{
	color: #008289;
	color: #92D574;
}
}

#top-news .info-btn{
	width: 100%;
	height: auto;
	box-sizing: border-box;
}

#top-news .info-btn a{
	color: #008289;
	font-size: 1.3rem;
	line-height: 1;
	border-radius: 100px;
	text-align: center;
	border: 1px solid #008289;
	display: inline-block;
	padding: 5px 13px;
	margin-top: 16px;
	float: right;
	display: block;
}
@media (min-width: 960px){
#top-news .info-btn a{
	font-size: 1.3rem;
	transition: all 0.2s ease;
	padding: 7px 13px;
	margin-top: 16px;
	float: left;
}
}

@media (min-width: 960px){
#top-news .info-btn a:hover{
	color: #0579D3;
	color: #fff;
	background-color: #008289;
  border: 1px solid #008289;
}
}


/* bnr-franchise
============================================================ */
#bnr-franchise{
	margin: -1px 0 0 0;
	position: relative;
}

#front-page #bnr-franchise::after{
	content: "";
	width: 100%;
	height: 60px;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #FAFAFA;
	z-index: -1;
}

#bnr-franchise .franchise_wrap{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: #92D574;
	margin: 0 auto;
	padding: 36px 20px 30px 20px;
	z-index: 10;
	box-sizing: border-box;
}
@media (min-width: 960px){
#bnr-franchise .franchise_wrap{
	width: 800px;
	height: 120px;
	flex-direction: row;
	justify-content: space-between;
	padding: 0 34px;
}
}

#bnr-franchise .head{
	color: #fff;
	font-size: 2.1rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
@media (min-width: 960px){
#bnr-franchise .head{
	font-size: 2.1rem;
	font-weight: 500;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}
}

#bnr-franchise .head img{
	width: 50px;
	height: auto;
	display: block;
	margin: 0 0 12px 0;
}
@media (min-width: 960px){
#bnr-franchise .head img{
	width: 56px;
	font-size: 2.1rem;
	margin: 0 24px 0 0;
}
}

#bnr-franchise .btn-w{
	width: 100%;
}
@media (min-width: 960px){
#bnr-franchise .btn-w{
	width: 230px;
}
}

#bnr-franchise .btn-w a{
	width: 100%;
}
@media (min-width: 440px){
#bnr-franchise .btn-w a{
	width: 230px;
}
}

#bnr-franchise .btn-w a::after{
	content: "";
	width: 13px;
	height: 13px;
	background-image: url(../img/common/icon-e-link.svg);
	background-size: 13px 13px;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	right: 16px;
	margin: -6.5px 0 0 0;
}
@media (min-width: 960px){
#bnr-franchise .btn-w a::after{
	width: 13px;
	height: 13px;
	background-size: 13px 13px;
  margin: -6.5px 0 0 0;
}
}
