@charset "utf-8";

/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}

body {
	font-size: 62.5%;
	-webkit-font-smoothing: antialiased;
}

body,
table,
input, textarea, select, option {
	font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
}

a,
a:link {
	color: #000;
	text-decoration: none;
}

a:visited {
	color: #000;
}
@media all and (min-width: 768px) {
	a:hover {
		color: #000;
	}
}


a:active {
	color: #000;
}

.yuMin {
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
}

.roboto {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

/*------------------------------------------------------------
	レイアウト(PC)
------------------------------------------------------------*/
body {
	min-width: 1280px;
	color: #000;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background:
	linear-gradient(
		180deg,
		rgba(23, 91, 114, 1) 0px,
		rgba(23, 91, 114, 1) 530px,
		rgba(35, 24, 21, .88) 531px,
		rgba(35, 24, 21, .88) 745px,
		rgba(23, 91, 114, 1) 746px,
		rgba(23, 91, 114, 1) 1555px,
		rgba(35, 24, 21, .88) 1556px,
		rgba(35, 24, 21, .88) 2700px,
		rgba(211, 155, 133, 1) 2701px,
		rgba(211, 155, 133, 1) 5708px,
		rgba(23, 91, 114, 1) 5709px,
		rgba(23, 91, 114, 1) 7258px,
		rgba(35, 24, 21, .88) 7259px,
		rgba(35, 24, 21, .88) 7439px,
		rgba(23, 91, 114, 1) 7420px,
		rgba(23, 91, 114, 1) 7597px
	);

}

section .content{
	position: relative;
	z-index:20;
}

#container {
	text-align: left;
	position: relative;
	overflow: hidden;
	height: 100%;
	background:url('../../img/index/bg_01.svg') no-repeat left 52.5% top -453px;
	background-size:3431.3px auto;
}

#main {
	position: relative;
	z-index: 200;
	width:100%;
	max-width:1280px;
	height: 100%;
	margin:0 auto;
}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

.sp {
	display: none !important;
}

/*------------------------------------------------------------
	レイアウト(SP)
------------------------------------------------------------*/

@media all and (max-width: 767.98px) {
	body {
		min-width: inherit;
		font-size: calc(12 / 750 * 100vw);
		background:
		linear-gradient(
		180deg,
		rgba(23, 91, 114, 1) 0px,
		rgba(23, 91, 114, 1) calc(970 / 750 * 100vw),
		rgba(35, 24, 21, .88) calc(971 / 750 * 100vw),
		rgba(35, 24, 21, .88) calc(1335 / 750 * 100vw),
		rgba(23, 91, 114, 1) calc(1336 / 750 * 100vw),
		rgba(23, 91, 114, 1) calc(2628 / 750 * 100vw),
		rgba(35, 24, 21, .88) calc(2629 / 750 * 100vw),
		rgba(35, 24, 21, .88) calc(4887 / 750 * 100vw),
		rgba(211, 155, 133, 1) calc(4888 / 750 * 100vw),
		rgba(211, 155, 133, 1) calc(10320 / 750 * 100vw),
		rgba(23, 91, 114, 1) calc(10321 / 750 * 100vw),
		rgba(23, 91, 114, 1) calc(12921 / 750 * 100vw),
		rgba(35, 24, 21, .88) calc(12922 / 750 * 100vw),
		rgba(35, 24, 21, .88) calc(13302 / 750 * 100vw),
		rgba(23, 91, 114, 1) calc(13303 / 750 * 100vw),
		rgba(23, 91, 114, 1) calc(13381 / 750 * 100vw)
	);
	}

	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}

	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	#container {
		text-align: left;
		position: relative;
		overflow: hidden;
		height: 100%;
		background: url(../../img/index/bg_01@sp.svg) no-repeat left 52% top calc(-857 / 750 * 100vw);
		background-size: calc(2674 / 750 * 100vw) auto;
	}
}

/*------------------------------------------------------------
	ヘッダー(PC)
------------------------------------------------------------*/
#gHeader {
	position: relative;
}

#gHeader .hInner {
	position: relative;
}
#gHeader .infoBox {
	position: relative;
	width:100%;
	max-width:1280px;
	height:745px;
	margin:0 auto;
	text-align: center;
}

#gHeader .logoSub{
	width:185px;
	margin-top:45px;
	margin-bottom: 10px;
}

#gHeader .logo {
	position: relative;
	width: 278px;
	margin:0 auto 20px;
	z-index: 30;
}

#gHeader .logo embed {
	display: block;
	width:100%;
}

#gHeader .txt01 {
	position: relative;
	margin-bottom: 240px;
	color: #fff;
	font-size: 14px;
	letter-spacing: 1px;
	line-height: 1.4;
	z-index: 100;
}

#gHeader .time {
	position: relative;
	margin-bottom: 7px;
	color:#D39B85;
	line-height: 1.0;
	z-index: 100;
	font-family: "Roboto", sans-serif;
	font-weight: 700;
}

#gHeader .time .year {
	display: block;
	font-size: 13px;
	letter-spacing: 1px;
	margin-bottom: 2px;
}

#gHeader .time .big {
	display: block;
	font-size: 35px;
	line-height:1;
	letter-spacing: 2px;
	margin-bottom: 3px;
}

#gHeader .time .week {
	display: block;
  font-size : 13px;
	line-height:0.6;
  letter-spacing : 1px;
	margin-bottom: 13px;
}
#gHeader .time .btm {
	display: block;
  font-size : 20px;
  line-height : 1.4;
  letter-spacing : 1.82px;
	margin-bottom: 7px;
	margin-right:-1.82px;
}

#gHeader .txt02 {
	position: relative;
	z-index: 100;
	color: #fff;
  font-size : 14px;
  letter-spacing : 1.54px;
	margin-right:-1.54px;
}

#gHeader .sakuranomiya img{
	position: absolute;
	width: 392px;
	top: 348px;
	left: 453px;
}
#gHeader .cuple01 img{
	position: absolute;
	width:105px;
	top: 543px;
	left: 428px;
}
#gHeader .cuple02 img{
	position: absolute;
	width:152px;
	top: 550px;
	left: 750px;
}
#gHeader .free{
	display: none;
}
#gHeader .btn_instagram {
	margin-top: 15px;
}
#gHeader .btn_instagram a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width:240px;
	height:32px;
	margin:0 auto;
	background : #D39B85;
  border-radius : 16px;
	transition: .8s;
}
#gHeader .btn_instagram a span{
	position: relative;
	display: block;
	padding:0 24px;
	font-size : 12px;
  line-height : 1;
  letter-spacing : 1.44px;
	color:#FFF;
}
#gHeader .btn_instagram a span:before{
	position: absolute;
	content: "";
	width:18px;
	height:18px;
	left:0;
	top:50%;
	margin-top:-9px;
	background: url(../../img/common/sns05.svg) no-repeat left top;
	background-size: 18px 18px;
}
#gHeader .btn_instagram a span:after{
	position: absolute;
	content: "";
	width:13px;
	height:13px;
	right:0;
	top:50%;
	margin-top:-6.5px;
	background: url(../../img/common/icon01.svg) no-repeat left top;
	background-size: 13px 13px;
	filter: brightness(0) invert(1);
}

@media all and (min-width: 768px) {
	#gHeader .btn_instagram a:hover{
		opacity: 0.7;
		transition: .8s;
	}
}


/*------------------------------------------------------------
	ヘッダー(SP)
------------------------------------------------------------*/
@media all and (max-width: 767.98px) {
	#gHeader {
		margin-bottom: 0;
	}

	#gHeader .hInner {
		width: 100%;
	}

	#gHeader .infoBox {
		height: auto;
		height:calc(1335/750 * 100vw);
	}

	#gHeader .logoSub{
		width:calc(293/750 * 100vw);
		margin-top:calc(94/750 * 100vw);
		margin-bottom: calc(10/750 * 100vw);
	}

	#gHeader .logo {
		width: calc(442/750 * 100vw);
		margin-bottom: calc(20/750 * 100vw);
	}
	#gHeader .logo embed {
		display: block;
		width:100%;
	}

	#gHeader .txt01 {
		margin-bottom: calc(500/750 * 100vw);
		font-size: calc(22 / 750 * 100vw);
		line-height: calc(38 / 750 * 100vw);
		letter-spacing: calc(2.34 / 750 * 100vw);
	}

	#gHeader .time {
		margin-bottom: calc(11 / 750 * 100vw);
	}

	#gHeader .time .year {
		font-size: calc(22 / 750 * 100vw);
		letter-spacing: calc(1.98 / 750 * 100vw);
	}

	#gHeader .time .big {
		font-size: calc(56 / 750 * 100vw);
		letter-spacing: calc(2.0 / 750 * 100vw);
	}
	#gHeader .time .week {
		font-size: calc(26 / 750 * 100vw);
		letter-spacing: calc(2.34 / 750 * 100vw);
	}

	#gHeader .time .btm {
		font-size: calc(24 / 750 * 100vw);
		letter-spacing: calc(2.16 / 750 * 100vw);
		margin-bottom: calc(4 / 750 * 100vw);;
	}

	#gHeader .txt02 {
		font-size: calc(24 / 750 * 100vw);
		letter-spacing: calc(2.64 / 750 * 100vw);
	}
	#gHeader .sakuranomiya img{
		position: absolute;
		width: 100%;
		top: calc(540 / 750 * 100vw);
		left: 0;
	}
	#gHeader .cuple01 img{
		position: absolute;
		width:calc(231 / 750 * 100vw);
		top: calc(925 / 750 * 100vw);
		left: calc(10 / 750 * 100vw);
	}
	#gHeader .cuple02 img{
		position: absolute;
		width:calc(303 / 750 * 100vw);
		top: calc(943 / 750 * 100vw);
		left: calc(453 / 750 * 100vw);
	}
	#gHeader .free{
		display: block;
		position: absolute;
		width: calc(168 / 750 * 100vw);
		top: calc(1126 / 750 * 100vw);
		left: calc(551 / 750 * 100vw);
	}
	#gHeader .btn_instagram {
		margin-top: calc(17 / 750 * 100vw);
	}
	#gHeader .btn_instagram a{
		max-width:calc(528 / 750 * 100vw);
		height:calc(77 / 750 * 100vw);
		margin:initial;
		border-radius : 0 calc(38.5 / 750 * 100vw) calc(38.5 / 750 * 100vw) 0;
	}
	#gHeader .btn_instagram a span{
		font-size : calc(24 / 750 * 100vw);
	}
}


/*------------------------------------------------------------
	フッター(PC)
------------------------------------------------------------*/

#gFooter {
	width: 100%;
	max-width: 1280px;
	margin:0 auto;
	z-index: 20;
	position: relative;
	overflow: visible;
	color:#FFF;
}

#gFooter .fInner {
	width:100%;
	max-width: 900px;
	margin: 0 auto;
	padding:150px 0 0;
	position: relative;
	text-align: center;
}

#gFooter .headLine01 {
	margin-bottom: 50px;
	color:#D39B85;
}

#gFooter .txt01 {
	margin-bottom: 10px;
	font-size : 24px;
	font-weight: 600;
  line-height : 29.12px;
  letter-spacing : 1.2px;
}

#gFooter .txt02 {
	font-size : 14px;
	font-weight: 600;
  line-height : 23.92px;
  letter-spacing : 0.84px;
}

#gFooter .txt03 {
	margin-bottom: 20px;
	font-size : 21px;
  line-height : 1;
  letter-spacing : 4.41px;
	
}
#gFooter .comBtn{
	margin-bottom: 25px;
}

#gFooter .comBtn a {
	color: #FFF;
}

#gFooter .comBtn embed {
	filter: brightness(0) invert(1);
}

#gFooter .contactBox{
	position: relative;
	margin-bottom: 43px;
}
#gFooter .contactBox a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width:325px;
	height:60px;
	margin:0 auto;
  background : #D39B85;
	font-weight: 600;
  border-radius : 30px;
}
#gFooter .contactBox a:after {
	margin-top: -8px;
	width: 15px;
	height: 15px;
	background: url(../../img/common/icon01.svg) no-repeat left top;
	background-size: 15px 15px;
	position: absolute;
	top: 50%;
	right: 20px;
	content: "";
	filter: brightness(0) invert(1);
}

@media all and (min-width: 768px) {
	#gFooter .contactBox a:hover{
		/* background : rgba(211, 152, 183,.8); */
	}
}

#gFooter .contactBox a span{
	font-size : 14px;
  line-height: 1;
  letter-spacing : 1.4px;
  color : #FFFFFF;
}

#gFooter .txt03 .tel {
	font-family: "Roboto", sans-serif;
	font-weight: 600;
}

#gFooter .txt03 .tel a {
	color:#FFF;
}

#gFooter .txt04 {
	margin-bottom: 25px;
	font-size : 14px;
  line-height : 23.92px;
  letter-spacing : 0.84px;
	text-align: center;
}

#gFooter .txt04 span {
	display: block;
	margin-bottom: 1px;
}

#gFooter .txt05 {
	margin-bottom: 55px;
}

#gFooter .txt05 a {
	position: relative;
	font-family: "Roboto", sans-serif;
  font-size : 16px;
  letter-spacing : 2.94px;
	text-decoration: underline;
}

#gFooter .txt05 a:before {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	content: "";
}

#gFooter .txt05 embed {
	width: 15px;
	margin-left: 10px;
	display: inline-block;
	vertical-align: middle;
	filter: brightness(0) invert(1);
}

#gFooter .txt05 span {
	padding-bottom: 1px;
	display: inline-block;
}

#gFooter .txt05 a{
	color:#FFF;
}

@media all and (min-width: 768px) {
	#gFooter .txt05 a:hover {
		opacity: 0.7;
	}
}

#gFooter .btm{
	margin-bottom: 70px;
}
#gFooter .btm img{
	position: relative;
	display: block;
	width:427px;
	margin:0 auto;
	z-index:13;
}
#gFooter .btm .stage{
	position: relative;
	padding-top: 75px;
	z-index:12;
	text-align: center;
	
}

#gFooter .btm .stage .logoSub{
	display: block;
	width:185px;
	margin: 0 auto 20px;
}

#gFooter .btm .stage .logo {
	position: relative;
	width: 278px;
	margin:0 auto 20px;
	z-index: 30;
}

#gFooter .btm .stage .logo embed {
	display: block;
	width:100%;
}
#gFooter .sakuranomiya{
	width: 380px;
	margin:25px auto 0;
	
}
#gFooter .sakuranomiya img{
	width:100%;
}
#gFooter .cuples{
	position: relative;
	margin-bottom: 128px;
}
#gFooter .cuple01 img{
	position: absolute;
	width:105px;
	top: -43px;
	left: 232px;
}
#gFooter .cuple02 img{
	position: absolute;
	width:152px;
	top: -45px;
	left: 550px;
}


#gFooter .nav{
	position: relative;
	z-index:21;
	margin:50px 0 18px;
	font-size : 10px;
  letter-spacing : 4.6px;
  color : #D39B85;
}
#gFooter .nav a{
  color : #D39B85;
}
#gFooter .nav ul{
	display: flex;
	justify-content: center;
}

#gFooter .nav li{
	padding:0 2em;
}

#gFooter .nav li:nth-child(2){
	border-left:solid 1px #D39B85;
	border-right:solid 1px #D39B85;
}
.copyright {
	position: relative;
	padding:15px 0;
	color:#FFF;
	font-family: "Roboto", sans-serif;
	font-size : 10px;
  line-height : 1;
  letter-spacing : 2.2px;
	text-align: center;
	z-index:11;
}

/*------------------------------------------------------------
	フッター(SP)
------------------------------------------------------------*/
@media all and (max-width: 767.98px) {
	#gFooter {
		/* margin: calc(750 / 750* 100vw) auto 0; */
	}

	#gFooter .fInner {
		padding:calc(150 / 750* 100vw) 0 0;
	}


	#gFooter .headLine01 {
		margin-bottom: calc(80 / 750* 100vw);
	}

	#gFooter .txt01 {
		margin-bottom: calc(10 / 750* 100vw);
		font-size: calc(38 / 750 * 100vw);
		line-height: calc(54.65 / 750 * 100vw);
		letter-spacing: calc(1.9 / 750 * 100vw);
	}

	#gFooter .txt02 {
		margin-bottom: 0;
		font-size: calc(24 / 750 * 100vw);
		line-height: calc(44.89 / 750 * 100vw);
		letter-spacing: calc(1.44 / 750 * 100vw);
	}

	#gFooter .txt03 {
		margin-bottom: calc(15 / 750* 100vw);
		font-size: calc(38 / 750 * 100vw);
		line-height: calc(73.2 / 750 * 100vw);
		letter-spacing: calc(7.98 / 750 * 100vw);
	}

	#gFooter .comBtn{
		margin-bottom: calc(45 / 750* 100vw);
	}

	#gFooter .comBtn a{
		font-size: calc(26 / 750 * 100vw);
	}

	#gFooter .contactBox{
		margin-bottom: calc(70 / 750* 100vw);
	}
	#gFooter .contactBox a {
		width:calc(646 / 750 * 100vw);
		height:calc(118 / 750 * 100vw);
		border-radius : calc(59 / 750 * 100vw);
		
	}

	#gFooter .contactBox a span{
		font-size: calc(26 / 750 * 100vw);
		letter-spacing: calc(2.6 / 750 * 100vw);
	}

	#gFooter .txt04 {
		margin-bottom: calc(45 / 750* 100vw);
		font-size: calc(24 / 750 * 100vw);
		line-height: calc(44.89 / 750 * 100vw);
		letter-spacing: calc(1.44 / 750 * 100vw);
	}

	#gFooter .txt05 {
		margin-bottom: calc(70 / 750* 100vw);
	}

	#gFooter .txt05 a {
		font-size: calc(28 / 750 * 100vw);
		line-height: calc(73.2 / 750 * 100vw);
		letter-spacing: calc(5.88 / 750 * 100vw);
	}

	#gFooter .btm {
		position: relative;
		padding:0;
		margin-bottom: calc(-155 / 750 * 100vw);
		overflow: hidden;
	}

	#gFooter .btm img {
		width: 100%;
	}
	#gFooter .btm .place{
		width: calc(650 / 750 * 100vw);
		margin:0 auto;
	}
	#gFooter .btm .stage{
		padding-top:calc(180 / 750 * 100vw);
	}
	#gFooter .btm .stage .logoSub{
		display: block;
		width:calc(293/750 * 100vw);
		margin: 0 auto calc(20/750 * 100vw);
	}

	#gFooter .btm .stage .logo {
		position: relative;
		width: calc(442/750 * 100vw);
		margin:0 auto calc(20/750 * 100vw);
	}

	#gFooter .sakuranomiya{
		width: 100%;
		margin-top: calc(48/750 * 100vw);
	}
	#gFooter .sakuranomiya img{
		width: 100%;
	}
	#gFooter .cuples{
		position: relative;
		margin-bottom: calc(48/750 * 100vw);
		height: calc(150 / 750 * 100vw);
	}
	#gFooter .cuple01 img{
		position: absolute;
		width:calc(231 / 750 * 100vw);
		top: calc(-60 / 750 * 100vw);
		left: calc(24 / 750 * 100vw);
	}
	#gFooter .cuple02 img{
		position: absolute;
		width:calc(303 / 750 * 100vw);
		top: calc(-35 / 750 * 100vw);
		left: calc(453 / 750 * 100vw);
	}

	#gFooter .nav{
		position: relative;
		margin:calc(250 / 750 * 100vw) 0 calc(40 / 750 * 100vw);
		font-size: calc(20 / 750 * 100vw);
		letter-spacing: calc(9.2 / 750 * 100vw);
		z-index: 22;
	}
	#gFooter .nav li{
		padding:0 1em;
	}

	#gFooter .copyright {
		width: 100%;
		margin-left: 0;
		left: 0;
		bottom: 3px;
		font-size: 10px;
		letter-spacing: 1.5px;
		text-align: center;
	}
}