@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap');

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:0;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}

/* ==========================================================================
   font-face
   ========================================================================== */

/*! Yaku Han JP (Gothic - All Include) v2.0.0 SIL by Qrac / Based on Noto Sans CJK JP */
/*
@font-face {
	font-family: 'YakuHanJP';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('/common/fonts/YakuHanJP-DemiLight.eot');
	src: url('/common/fonts/YakuHanJP-DemiLight.woff2') format('woff2'),
		 url('/common/fonts/YakuHanJP-DemiLight.woff') format('woff');
}
@font-face {
	font-family: 'YakuHanJP';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('/common/fonts/YakuHanJP-Bold.eot');
	src: url('/common/fonts/YakuHanJP-Bold.woff2') format('woff2'),
		 url('/common/fonts/YakuHanJP-Bold.woff') format('woff');
}

@font-face {
	font-family: 'YakuHanMP';
	font-style: normal;
	font-weight: 300;
	src: url('/common/fonts/YakuHanMP-Regular.eot');
	src: url('/common/fonts/YakuHanMP-Regular.woff2') format('woff2'),
		 url('/common/fonts/YakuHanMP-Regular.woff') format('woff');
}
@font-face {
	font-family: 'YakuHanMP';
	font-style: normal;
	font-weight: 700;
	src: url('/common/fonts/YakuHanMP-Bold.eot');
	src: url('/common/fonts/YakuHanMP-Bold.woff2') format('woff2'),
		 url('/common/fonts/YakuHanMP-Bold.woff') format('woff');
}
*/


/*! ==========================================================================
   base
   ========================================================================== */
* {
	box-sizing: border-box;
}

html, body {
	width: 100%;
}

html {
	font-size: 62.5%;
	color: #555;
	line-height: 1.8;
	overflow-y: scroll;
}
@media screen and (min-width: 737px) {
	html {
		line-height: 1.75;
	}
}

body {
	position: relative;
	padding: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 1.5rem;
	overflow-wrap: break-word;
	word-wrap: break-word;
}
.windows.ie body {
	font-family: YakuHanJP,'メイリオ',Meiryo,'Yu Gothic Medium','游ゴシック Medium',YuGothic,'游ゴシック体','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',Osaka,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
}

h1,h2,h3,h4,h5,h6 {
	margin-top: 0;
	margin-bottom: 0;
	letter-spacing: .01em;
	font-weight: normal;
}

p {
	margin-top: 0;
	margin-bottom: 0;
}

ol,ul,dl {
	margin: 0;
	padding: 0;
}
ol,ul {
	list-style-type: none;
}
dd {
	margin-left: 0;
}
th {
	font-weight: 300;
}

figure {
	margin: 0;
	padding: 0;
	overflow: hidden;
}
figcaption {
	margin-top: .5em;
}

picture {
	display: block;
}

img {
	vertical-align: bottom;
	max-width: 100%;
}
@media screen and (min-width: 769px) {
	img.zoom {
		-webkit-transition: -webkit-transform .6s ease-out;
		-moz-transition: -moz-transform .6s ease-out;
		-ms-transition: -ms-transform .6s ease-out;
		-o-transition: -o-transform .6s ease-out;
		transition: transform .6s ease-out;
	}
	img.zoom:hover {
		-webkit-transform: scale(1.07);
		-moz-transform: scale(1.07);
		-ms-transform: scale(1.07);
		-o-transform: scale(1.07);
		transform: scale(1.07);
	}
}
@media screen and (max-width: 768px) {
	img {
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

a {
	/*color: #402d00;*/
	color: inherit;
	text-decoration: none;
	outline: none;
	-webkit-transition: all .4s ease-out;
	-moz-transition: all .4s ease-out;
	-ms-transition: all .4s ease-out;
	-o-transition: all .4s ease-out;
	transition: all .4s ease-out;
}
a:hover {
	/*color: #3acbc6;*/
	min-height: 1em;
	text-decoration: none;
}
a:visited {
	text-decoration: none;
}
:focus {
	-moz-outline-style: none;
}

/*@media screen and (min-width: 769px) {
	a:hover {
		text-decoration: underline;
	}
	a:active {
		text-decoration: underline;
	}
}*/

::selection {
	background: rgba(58,203,198,.3);
}
::-moz-selection {
	background: rgba(58,203,198,.3);
}

*:after,
*:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

.pc {display:none;}
.sp {display:block;}

@media screen and (max-width: 768px) {
  .inner {
    padding: 0 30px;
  }
}

@media screen and (min-width: 769px) {
	a[href^="tel:"] {
		pointer-events: none;
	}

	.pc {display:inline-block;}
	.sp {display:none;}
}

.float--left {float:left;}
.float--right {float:right;}
.float--center {text-align:center;}

.position--relative {position: relative;}

.green {color: #3acbc6;}




/* ==========================================================================
   header
   ========================================================================== */
.header {
	position: fixed;
  top: 0;
	width: 100%;
	height: 59px;
	z-index: 101;
	background-color: #3acbc6;
}
.header_container {
	position: relative;
}

@media screen and (min-width: 769px) {
	.header {
		position: absolute;
		top: -100px;
		height: 98px;
		margin-top: 100px;
		-webkit-transition: top .6s ease-in;
		-moz-transition: top .6s ease-in;
		-ms-box-sizing: top .6s ease-in;
		-o-box-sizing: top .6s ease-in;
		transition: top .6s ease-in;
	}
	.header.fixed {
		position: fixed;
		top: 0;
		margin-top: 0;
	}
	/*.header_container {
		max-width: 1600px;
		margin-left: auto;
		margin-right: auto;
	}*/
}


.header_title-link {
	display: block;
	width: 59px;
	height: 59px;
	background-image: url(/common/img/bsp_logo.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 32px 57px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
@media screen and (min-width: 769px) {
	.header_title-link {
		width: 545px;
		height: 98px;
		background-image: url(/common/img/bsp_logo_text.svg);
		background-size: 483px 48px;
	}
}


.header_reserve-switch,
.header_navi-switch {
	position: absolute;
	top: 0;
	right: 69px;
	width: 67px;
	height: 59px;
	background-image: url(/common/img/header_btn.png?v=230607);
	background-repeat: no-repeat;
	background-position: 0 -74px;
	background-size: 135px 205px;

	cursor: pointer;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
.header_navi-switch.active {
	right: 0;
	background-position: 0 -142px;
}
.header_reserve-switch a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
}

.header_navi-container {
	display: none;
	width: 100%;
	height: 100vh;
	background-color: #3acbc6;
}

@media screen and (min-width: 769px) {
	.header_reserve-switch,
	.header_navi-switch {
		width: 96px;
		height: 98px;
		background-position: 0 -98px;
		background-size: 192px 294px;
	}
	.header_reserve-switch {
		right: 97px;
	}
	.header_navi-switch.active {
		right: 0;
		background-position: 0 -196px;
	}
	.header_navi-switch.active:after {
		opacity: 0;
		background-position: -96px -196px;
	}
	.header_navi-switch.active:hover:after {
		opacity: 1;
		transition: opacity 0.5s;
	}
}


.header_navi-switch {
	right: 0;
	background-image: url(/common/img/header_btn.png?v=230607);
	background-position: 0 -5px;
}

.header_navi-container {
	padding-top: 15px;
}
.header_navi {
	max-width: 240px;
	margin: 0 auto;
}
.header_navi-list {
	margin-bottom: 20px;
}
.header_navi-item {
	margin-bottom: 1em;
	padding-bottom: .4em;
	border-bottom: 1px solid rgba(255,255,255,1);
}
.header_navi-item-menu {
  margin: 0 0 1em 1em;
}
.header_navi-link {
	font-family: 'YakuHanMP','游明朝','Yu Mincho','YuMincho','ヒラギノ明朝 ProN W3','HiraMinProN-W3','HG明朝E',serif;
	font-size: 1.8rem;
	color: #fff;
}
.header_navi-ruby {
	display: none;
}

@media screen and (min-width: 769px) {
	.header_navi-switch {
		background-position: 0 0;
	}
	.header_navi-switch:after {
		background-position: -96px 0;
	}

	.header_navi-container {
		position: relative;
		padding-top: 90px;
	}
	.header_navi {
		max-width: 745px;
	}
	.header_navi-item {
		border-bottom: 0;
	}
	.header_navi-link {
		position: relative;
		font-size: 1.8rem;
		-moz-transition: .4s ease-in;
		-ms-transition: .4s ease-in;
		-o-transition: .4s ease-in;
		transition: .4s ease-in;
	}
	.header_navi-link:after {
		position: absolute;
		bottom: 0;
		left: 0;
		content: '';
		width: 0;
		height: 1px;
		background-color: #fff;
		transition: .3s;
	}
	.header_navi-link:hover:after {
		width: 100%;
	}
	.header_navi-ruby {
		display: inline-block;
		margin-left: 1em;
		font-family: 'Cormorant Garamond',serif;
		font-size: 1.6rem;
		font-weight: 500;
		font-style: italic;
		color: rgba(255,255,255,.8);
	}
}


.header_trial-switch {
	position: absolute;
	top: 14px;
	right: 150px;
}
.header_trial-switch a {
	padding-top: .4em;
	padding-right: 1.2em;
	padding-bottom: .5em;
	padding-left: 1.2em;
	display: inline-block;
	background-color: #fff;
	font-family: 'YakuHanMP','游明朝','Yu Mincho','YuMincho','ヒラギノ明朝 ProN W3','HiraMinProN-W3','HG明朝E',serif;
	font-weight: 600;
	font-size: 1.2rem;
	text-align: center;
	color: #3acbc6;
}

@media screen and (min-width: 769px) {
	.header_trial-switch {
		top: 27px;
		right: 225px;
	}
	.header_trial-switch a {
		padding-top: .1em;
		padding-right: 1em;
		padding-bottom: .2em;
		padding-left: 1em;
		font-size: 2.2rem;
	}
}


.header_sns {
	width: 240px;
  margin: 0 auto;
}
.header_sns-link {
	color: #fff;
}

@media screen and (max-width: 768px) {
	.header_sns-list {
    display: flex;
	}
	.header_sns-link {
		display: block;
		width: 36px;
		height: 36px;
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
    margin: 20px 30px 0 0;
	}
	.header_sns-link-facebook {
		background-image: url(/common/img/icon_facebook_white.svg);
	}
	.header_sns-link-instagram {
		background-image: url(/common/img/icon_instagram_white.svg);
	}
}

@media screen and (min-width: 769px) {
	.header_sns {
		position: absolute;
		top: 90px;
		left: 60%;
	}
	.header_sns-item {
		display: block;
		margin-bottom: 1em;
		padding-bottom: .4em;
	}
	.header_sns-link {
		position: relative;
		font-size: 1.4rem;
		-moz-transition: .4s ease-in;
		-ms-transition: .4s ease-in;
		-o-transition: .4s ease-in;
		transition: .4s ease-in;
	}
	.header_sns-link:after {
		position: absolute;
		bottom: 0;
		left: 0;
		content: '';
		width: 0;
		height: 1px;
		background-color: #fff;
		transition: .3s;
	}
	.header_sns-link:hover:after {
		width: 100%;
	}
}



/* ==========================================================================
   footer
   ========================================================================== */
.footer {
	position: relative;
	z-index: 100;
	width: 100%;
	background-color: #3acbc6;
	color: #fff;
}
.footer_container {
	position: relative;
	padding-bottom: 2em;
}

@media screen and (min-width: 769px) {
	.footer_container {
		max-width: 1600px;
		margin-left: auto;
		margin-right: auto;
		padding: 50px;
	}
}


.footer_pagetop {
	margin-bottom: 52px;
}
.footer_pagetop-bg {
	background-color: #2eaea8;
	transition: background-color .4s ease-out;
}
.footer_pagetop-bg:hover {
	background-color: #75dad7;
}
.footer_pagetop-link {
	position: relative;
	display: block;
	width: 100%;
	height: 50px;
	background-image: url(/common/img/icon_angle_up_white.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 32px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

@media screen and (min-width: 769px) {
	.footer_pagetop {
		position: fixed;
		z-index: 9999;
		bottom: 3%;
		right: 50%;
		margin-right: -45%;
	}
	.footer_pagetop-bg {
		/*background-color: rgba(63,146,139,.8);*/
		-webkit-transition: all .4s ease-in;
		-moz-transition: all .4s ease-in;
		-ms-transition: all .4s ease-in;
		-o-transition: all .4s ease-in;
		transition: all .4s ease-in;
	}
	.footer_pagetop-link {
		display: block;
		width: 68px;
		height: 68px;
		background-size: 34px;
	}
}


.footer_slogan {
	padding-top: 1em;
	padding-bottom: 1em;
	padding-left: 2em;
	background-color: #f4f4f4;
	color: #3acbc6;
}
.footer_slogan-main {
	font-family: 'YakuHanMP','游明朝','Yu Mincho','YuMincho','ヒラギノ明朝 ProN W3','HiraMinProN-W3','HG明朝E',serif;
	font-size: 2.0rem;
}
.footer_slogan-sub {
	font-family: 'Cormorant Garamond',serif;
	font-size: 1.2rem;
	font-weight: 400;
}

@media screen and (min-width: 769px) {
	.footer_slogan {
		margin-bottom: 35px;
		padding-left: 0;
		background-color: #3acbc6;
		color: #fff;
	}
	.footer_slogan-main {
		margin-bottom: .2em;
		font-size: 2.8rem;
	}
	.footer_slogan-sub {
		font-size: 1.6rem;
	}
}


.footer_logo {
	margin-bottom: 50px;
	padding-left: 30px;
	padding-right: 30px;
}
.footer_logo-item {
	margin-bottom: 30px;
	background-image: url(/common/img/bsp_logo_text.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
.footer_logo-copy {
	font-size: 1.1rem;
}

@media screen and (min-width: 769px) {
	.footer_logo {
    margin-bottom: 100px;
		padding-left: 0;
	}
	.footer_logo-item {
		width: 285px;
		margin-bottom: 20px;
	}
	.footer_logo-copy {
		font-size: 1.0rem;
	}
}


.footer_legal {
	margin-bottom: 40px;
	padding-left: 30px;
	padding-right: 30px;
}
.footer_legal-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;

	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.footer_legal-item:not(:last-child) {
	margin-right: 1.5em;
}
.footer_legal-link {
	display: block;
	font-size: 1.1rem;
}

@media screen and (min-width: 769px) {
	.footer_legal {
		position: absolute;
		top: 156px;
		right: 285px;
		min-width: 240px;
		padding-left: 0;
		padding-right: 0;
	}
	.footer_legal-item:not(:last-child) {
		margin-right: 2.5em;
	}
	.footer_legal-link {
		position: relative;
		font-size: 1.4rem;

		-moz-transition: .4s ease-in;
		-ms-transition: .4s ease-in;
		-o-transition: .4s ease-in;
		transition: .4s ease-in;
	}
	.footer_legal-link:after {
		position: absolute;
		bottom: 0;
		left: 0;
		content: '';
		width: 0;
		height: 1px;
		background-color: #fff;
		transition: .3s;
	}
	.footer_legal-link:hover:after {
		 width: 100%;
	}
}


.footer_sns {
	margin-bottom: 47px;
	padding-left: 30px;
	padding-right: 30px;
}
.footer_sns-title {
	position: relative;
	bottom: -.6em;

	float: left;
	width: 40%;

	font-family: 'Cormorant Garamond',serif;
	font-size: 1.4rem;
	font-weight: 500;
	font-style: italic;
	letter-spacing: .08em;
	text-align: center;
}
.footer_sns-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;

	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;

	-webkit-justify-content: space-around;
	-webkit-box-pack: space-around;
	-ms-flex-pack: space-around;
	justify-content: space-around;

	width: 55%;
}
.footer_sns-item {
	width: 41px;
}
.footer_sns-link {
	position: relative;
	display: block;
	width: 41px;
	height: 41px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
.footer_sns-link-facebook {
	background-image: url(/common/img/icon_facebook_white.svg);
}
.footer_sns-link-instagram {
	background-image: url(/common/img/icon_instagram_white.svg);
}

@media screen and (min-width: 769px) {
	.footer_sns {
		position: absolute;
		top: 147px;
		right: 50px;
		min-width: 200px;
		padding-left: 0;
		padding-right: 0;
	}
	.footer_sns-title {
		width: 45%;
		bottom: -.3em;
		font-size: 1.6rem;
	}
	.footer_sns-list {
		width: 55%;
	}
	.footer_sns-item {
		width: 35px;
		margin-left: .5em;
		margin-right: .5em;
	}
	.footer_sns-link {
		width: 35px;
		height: 35px;
	}
}


.footer_copyright {
	display: block;
	font-family: 'YakuHanMP','游明朝','Yu Mincho','YuMincho','ヒラギノ明朝 ProN W3','HiraMinProN-W3','HG明朝E',serif;
	text-align: center;
	line-height: 1;
}
.footer_copy {
	position: relative;
	bottom: -.12em;
	margin-right: .1em;
	font-size: 140%;
}

@media screen and (min-width: 769px) {
	.footer_copyright {
		position: absolute;
		right: 50px;
		bottom: 50px;
		font-size: 1.3rem;
	}
	.footer_copy {
		bottom: -.05em;
		font-size: 120%;
	}
}


.footer_banner {
	padding-top: 30px;
	padding-left: 30px;
	padding-right: 30px;
}
.footer_banner-list {
	display: flex;
	justify-content: center;
	align-items: center;
}
.footer_banner-item {
	margin-right: 5px;
	margin-left: 5px;
	width: 47.5%;
	max-width: 100px;
}
.footer_banner-link {
	display: block;
}
.footer_banner-link:hover {
	opacity: .8;
}

@media screen and (min-width: 769px) {
	.footer_banner {
		padding-top: 0;
	}
	.footer_banner-item {
		margin-right: 10px;
		width: 47.5%;
		max-width: 200px;
	}
}


/* ==========================================================================
   main
   ========================================================================== */
.main {
	position: relative;
	z-index: 50;
	width: 100%;
	padding-top: 59px;
}

@media screen and (min-width: 769px) {
	.main {
		max-width: 1600px;
		margin-left: auto;
		margin-right: auto;
		padding-top: 98px;
	}
}


.price-yen,
.price-num {
	font-family: 'Cormorant Garamond',serif;
	font-weight: 500;
	font-style: italic;
}
.price-yen {
	font-size: 60%;
}
.price-tax {
	margin-left: .5em;
	font-family: YakuHanJP,'Yu Gothic Medium','游ゴシック Medium',YuGothic,'游ゴシック体','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,Osaka,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
	font-weight: 300;
	font-size: 30%;
	font-style: normal;
}


/* ==========================================================================
   mainvisual
   ========================================================================== */
.mainvisual {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;

	-webkit-align-items: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;

	-webkit-flex-direction: column;
	-webkit-box-orient: column;
	-ms-flex-direction: column;
	flex-direction: column;

	-webkit-justify-content: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;

	height: 195px;
	margin-bottom: 10px;

	background-image: url(../img/mainvisual_bg_sp.jpg);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;

	text-align: center;
}

@media screen and (min-width: 768px) {
	.mainvisual {
		height: 300px;
		margin-bottom: 20px;
		background-image: url(../img/mainvisual_bg.jpg);
		background-size: auto 100%;
	}
}
@media screen and (min-width: 1229px) {
	.mainvisual {
		background-size: 100% auto;
	}
}


.mainvisual__title {
  font-family: "Shippori Mincho", serif;
  font-size: 2.8rem;
	color: #787878;
	line-height: 1.3;
}
.mainvisual__title span {
  font-size: 1.5rem;
}
@media screen and (min-width: 769px) {
	.mainvisual__title {
		font-size: 4.0rem;
	}
  .mainvisual__title span {
    font-size: 2.4rem;
  }
}


/* ==========================================================================
   Let’s try
   ========================================================================== */
.letstry {
	padding: 8px;
	background-color: #fff;
}
.letstry_container {
	padding: 20px 20px 40px;
	background-color: rgba(255,255,255,.65);
}

@media screen and (max-width: 768px) {
	.letstry_container:before {
		content: '';
		display: block;
		width: 100%;
		height: 292px;
		margin-bottom: 10px;
		background-image: url(/common/img/letstry_bg_sp.jpg);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}
}

@media screen and (max-width: 414px) {
	.letstry_container:before {
		height: 146px;
	}
}

@media screen and (min-width: 769px) {
	.letstry {
		padding: 0 0 90px;
		background-image: none;
	}
	.letstry_container {
		max-width: 1225px;
		margin-left: auto;
		margin-right: auto;
		padding: 0;
		background-image: url(/common/img/letstry_bg.jpg);
		background-position: -10% top;
		background-repeat: no-repeat;
		background-size: 605px auto;
	}
}

@media screen and (min-width: 1200px) {
	.letstry_container {
		padding: 0 65px;
		background-position: 65px top;
	}
}


.letstry_title {
	display: inline-block;
	margin-bottom: 1em;
	font-family: 'Cormorant Garamond',serif;
	font-weight: 600;
	font-style: italic;
	font-size: 1.6rem;
	border-bottom: 1px solid #3acbc6;
}
.letstry_loadcopy {
	margin-bottom: 1em;
	font-family: 'YakuHanMP','游明朝','Yu Mincho','YuMincho','ヒラギノ明朝 ProN W3','HiraMinProN-W3','HG明朝E',serif;
	font-weight: 300;
	font-size: 2.0rem;
}
.letstry_bodycopy {
	margin-bottom: 42px;
	font-size: 1.5rem;
	line-height: 1.86;
}

@media screen and (min-width: 769px) {
	.letstry_title-box {
		width: 50%;
		min-height: 429px;
		margin-bottom: 50px;
		margin-left: 50%;
		padding: 60px 5% 10px;
		background-color: #fff;
	}
	.letstry_title {
		margin-bottom: 0;
		font-size: 2.0rem;
		border-bottom: 0;
	}
	.letstry_loadcopy {
		font-size: 3.0rem;
	}
	.letstry_bodycopy {
		margin-bottom: 0;
		font-size: 1.6rem;
		line-height: 2.18;
	}
}

@media screen and (min-width: 1200px) {
	.letstry_title-box {
		padding: 60px 0 10px 5%;
	}
}


.letstry_reservation {
	margin-bottom: 40px;
	background-color: #fff;
}
.letstry_reservation-link {
	display: block;
	padding-top: 25px;
	padding-bottom: 25px;
	font-family: 'YakuHanMP','游明朝','Yu Mincho','YuMincho','ヒラギノ明朝 ProN W3','HiraMinProN-W3','HG明朝E',serif;
	font-weight: 300;
	font-size: 2.0rem;
	color: #fff;
	background-color: #3acbc6;
	text-align: center;
}
.letstry_reservation-link:hover {
	background-color: #75dad7;
}
.letstry_reservation-link:after {
	content: '';
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-left: .5em;
	background-image: url(/common/img/icon_arrow_right_white.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align: middle;
}

@media screen and (min-width: 769px) {
	.letstry_reservation {
		/*max-width: 1225px;*/
		max-width: 1094px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 50px;
		/*padding-left: 66px;*/
		/*padding-right: 66px;*/
	}
	.letstry_reservation-link {
		font-size: 3.6rem;
	}
	.letstry_reservation-link:after {
		width: 44px;
		height: 44px;
	}
}


.letstry_readmore-item {
	margin-bottom: 2em;
}
.letstry_readmore-item:last-child {
	margin-bottom: 0;
}
.letstry_readmore-link {
	font-family: 'YakuHanMP','游明朝','Yu Mincho','YuMincho','ヒラギノ明朝 ProN W3','HiraMinProN-W3','HG明朝E',serif;
	font-weight: 300;
	font-size: 1.4rem;
}
.letstry_readmore-link:hover {
	color: #3acbc6;
}

@media screen and (max-width: 768px) {
	.letstry_readmore {
		margin-left: 1em;
	}
	.letstry_readmore-link:before {
		content: '-';
		margin-right: 1em;
	}
}

@media screen and (min-width: 769px) {
	.letstry_readmore {
		letter-spacing: -.4em;
		text-align: center;
	}
	.letstry_readmore-item {
		display: inline-block;
		letter-spacing: normal;
		margin-right: 5em;
	}
	.letstry_readmore-item:last-child {
		margin-right: 0;
	}
	.letstry_readmore-link {
		font-size: 1.6rem;
	}
	.letstry_readmore-link:after {
		content: '';
		display: inline-block;
		width: 24px;
		height: 24px;
		margin-left: 1em;
		background-image: url(/common/img/icon_arrow_right_green.svg);
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		vertical-align: middle;
	}
}


/* ==========================================================================
   Error 404
   ========================================================================== */
.error {
	background-color: #fff;
}
.error__container {
	padding: 0 40px 40px;
}

@media screen and (min-width: 769px) {
	.error__container {
		max-width: 500px;
		margin-left: auto;
		margin-right: auto;
	}
}


.error__title {
	margin-bottom: 40px;
	font-family: 'Cormorant Garamond',serif;
	font-weight: 400;
	font-size: 8.0rem;
	font-style: italic;
	text-align: center;
}
.error__title-ruby {
	display: block;
	margin-bottom: 1em;
	font-size: 22.5%;
}
.error__title:after {
	content: '';
	display: block;
	width: 57px;
	height: 1px;
	margin-top: 5px;
	margin-left: auto;
	margin-right: auto;
	background-color: #3acbc6;
}
.error__description {
	margin-bottom: 40px;
	font-size: 1.4rem;
	line-height: 2;
}

@media screen and (min-width: 769px) {
	.error__title {
		font-size: 12.0rem;
	}
	.error__title:after {
		width: 100px;
		height: 2px;
	}
}


.error__back {
	margin-bottom: 40px;
}
.error__back-link {
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 2em;
	font-family: 'YakuHanMP','游明朝','Yu Mincho','YuMincho','ヒラギノ明朝 ProN W3','HiraMinProN-W3','HG明朝E',serif;
	font-weight: 300;
	font-size: 1.4rem;
	color: #fff;
	background-color: #3acbc6;
	background-image: url(/common/img/icon_arrow_right_white.svg);
	background-position: 90% center;
	background-repeat: no-repeat;
	background-size: 25px 25px;
	-webkit-transition: all .4s ease-in;
	-moz-transition: all .4s ease-in;
	-ms-transition: all .4s ease-in;
	-o-transition: all .4s ease-in;
	transition: all .4s ease-in;
}
.error__back-link:hover {
	background-color: #75dad7;
}

@media screen and (min-width: 769px) {
	.error__back-link {
		background-position: 93% center;
	}
}




.marker {
  display: inline;
  position: relative;
  background-image: linear-gradient(90deg, #3acbc6, #3acbc6); /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 100%; /* '30%'の部分にマーカーの太さを記入 */
  transition: all .8s ease-in-out; /* マーカーを引く速度を調整 */
  color: #FFF;
	padding: 0 4px .1em;
}
@media all and (-ms-high-contrast: none) {
  .marker {
    background-color: #3acbc6;
	}
}
/* アニメーション発火時 */
.marker.inview {
  background-size: 100% 100%; /* '30%'の部分は上で設定した太さに合わせる */
}

