@charset "UTF-8";
:root{
	--body : #333;
	--link : #333;
	--primary : #5da126;
}
/*--------------------------------------------
HTML
---------------------------------------------*/
@media screen and (max-width: 768px){
	html{
		font-size : calc( 10 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	html{
		font-size : 10px;
	}
}
/*--------------------------------------------
BODY
---------------------------------------------*/
body{
	position : relative;
}
@media screen and (max-width: 768px){
	body{
		font-size : 2.4rem;
	}
}
@media print,screen and (min-width: 769px){
	body{
		min-width : 1140px;
		font-size : 1.6rem;
		padding-top : 98px;
	}
}
main{
	position : relative;
	overflow : hidden;
}
body.is-open{
	padding-right : calc( 100vw - 100% );
}
body.is-open:before{
	content : "";
	position : fixed;
	left : 0;
	top : 0;
	width : 100%;
	height : 100vh;
	background-color : rgba(0,0,0,.5);
	z-index : 11;
}
/*--------------------------------------------
WRAPPER
---------------------------------------------*/
.wrap.fluid{
	padding-left : 0;
	padding-right : 0;
}
@media screen and (max-width: 768px){
	.wrap{
		padding-left : calc( 24 * 100% / 768 );
		padding-right : calc( 24 * 100% / 768 );
	}
}
@media print,screen and (min-width: 769px){
	.wrap{
		margin-left : auto;
		margin-right : auto;
		width : 1140px;
		padding-left : 40px;
		padding-right : 40px;
	}
	.wrap.pc-fluid{
		padding-left : 0;
		padding-right : 0;
	}
}
/*--------------------------------------------
HEADER
---------------------------------------------*/
#header{
	background-color : #fff;
}
#header .wrap{
	display : flex;
	position : relative;
}
#header .logo{
	display : block;
}
@media screen and (max-width: 768px){
	#header .wrap{
		height : calc( 120 * 100vw / 768 );
		align-items : center;
		padding-left : calc( 12 * 100% / 768 );
	}
	#header .contacts01{
		width : 100%;
		position : fixed;
		background-color : #fff;
		left : 0;
		bottom : 0;
		display : flex;
		justify-content : space-between;
		z-index : 10;
	}
	#header .contacts01 .tels{
		width : calc( 102 * 100% / 768 );
		height : calc( 100 * 100vw / 768 );
	}
	#header .contacts01 .tels a{
		width : 100%;
		height : 100%;
		display : flex;
		align-items : center;
		justify-content : center;
		text-align : center;
		background-color : #444;
		color : #fff;
	}
	#header .contacts01 .tels span span{
		font-size : 2.8rem;
		letter-spacing : .1em;
		text-indent : .1em;
	}
	#header .contacts01 .links{
		display : flex;
		justify-content : space-between;
		width : calc( 664 * 100% / 768 );
	}
	#header .contacts01 .links li{
		width : calc( 220 * 100% / 664 );
		height : calc( 100 * 100vw / 768 );
	}
	#header .contacts01 .links a{
		width : 100%;
		height : 100%;
		display : flex;
		align-items : center;
		justify-content : center;
		text-align : center;
		font-size : 2.8rem;
		letter-spacing : .1em;
		text-indent : .1em;
		color : #fff;
	}
	#header .contacts01 .links .apply{
		background-color : #b56379;
	}
	#header .contacts01 .links .request , #header .contacts01 .links .contact{
		background-color : #444;
	}
}
@media print,screen and (min-width: 769px){
	#header{
		position : fixed;
		top : 0;
		left : 0;
		width : 100%;
		z-index : 10;
	}
	#header .wrap{
		align-items : flex-start;
		justify-content : space-between;
		height : 98px;
		width : 1140px;
		padding-right : 70px;
	}
	#header .logo{
		margin-top : 14px;
	}
	#header .contacts01{
		display : flex;
		align-items : flex-start;
		flex-direction : row-reverse;
		margin-top : 30px;
		margin-left : auto;
	}
	#header .contacts01 dl{
		display : flex;
		align-items : baseline;
		padding-left : 30px;
	}
	#header .contacts01 dt , #header .contacts01 dd{
		letter-spacing : .3em;
		font-size : 1.2rem;
	}
	#header .tels{
		margin-top : 3px;
	}
	#header .tels a{
		display : flex;
		align-items : flex-start;
	}
	#header .tels a:before{
		content : "";
		display : block;
		background : url("../images/ui/icon/smartphone01.svg") 0 0 / contain no-repeat;
		width : 20px;
		height : 27px;
		flex-shrink : 0;
		margin-right : 11px;
		margin-top : 2px;
	}
	#header .tels a > span span{
	}
	#header .tels a span.is-pc{
		letter-spacing : .1em;
		font-size : 3.5rem;
		line-height : 1;
		display : block;
	}
	#header .tels p{
		letter-spacing : .3em;
		font-size : 1.2rem;
		color : #454545;
		margin-left : 34px;
	}
	#header .links{
		display : flex;
		align-items : center;
		margin-left : 13px;
	}
	#header .links li{
		height : 36px;
	}
	#header .links a{
		width : 100%;
		height : 100%;
		display : flex;
		align-items : center;
		justify-content : center;
		text-align : center;
		border-radius : 18px;
		font-weight : 500;
		font-size : 1.6rem;
		letter-spacing : .25em;
		text-indent : .25em;
	}
	#header .links .contact{
		order : 1;
		width : 140px;
	}
	#header .links .contact a{
		border : 2px solid #999;
		display : flex;
		align-items : center;
	}
	#header .links .contact a:before{
		content : "";
		display : block;
		background : url("../images/ui/icon/mail01.svg") 0 0 / contain no-repeat;
		width : 22px;
		height : 15px;
		flex-shrink : 0;
		margin-right : 8px;
	}
	#header .links li:not(.contact){
		margin-left : 10px;
		width : 120px;
	}
	#header .links li:not(.contact) a{
		color : #fff;
		background-color : #f184a1;
	}
	#header .links .apply{
		order : 2;
	}
	#header .links .request{
		order : 3;
	}
}
/*--------------------------------------------
MENU BUTTON
---------------------------------------------*/
body.is-open{
	overflow : hidden;
}
body.is-open [data-aos^=fade]{
	opacity : 1!important;
}
body.is-open #nav{
	max-height : 100vh;
}
body.is-open #menuBtn > span:nth-of-type(1) span:nth-of-type(2){
	transform : rotate(-45deg);
}
body.is-open #menuBtn > span:nth-of-type(1) span:nth-of-type(3){
	transform : rotate(45deg);
}
@media screen and (max-width: 768px){
	body.is-open #menuBtn > span:nth-of-type(1) span:nth-of-type(1){
		transform : translateY( calc( 10 * 100vw / 768 ) ) scale(0);
	}
	body.is-open #menuBtn > span:nth-of-type(1) span:nth-of-type(4){
		transform : translateY( calc( -10 * 100vw / 768 ) ) scale(0);
	}
}
@media print,screen and (min-width: 769px){
	body.is-open #menuBtn > span:nth-of-type(1) span:nth-of-type(1){
		transform : translateY( 10px ) scale(0);
	}
	body.is-open #menuBtn > span:nth-of-type(1) span:nth-of-type(4){
		transform : translateY( -10px ) scale(0);
	}
}
@media screen and (max-width:1139px) and (-ms-high-contrast:none){
	body.is-open #menuBtn > span:nth-of-type(1) span:nth-of-type(1){
		transform : translateY( 10px ) scale(0);
		opacity : 0;
	}
	body.is-open #menuBtn > span:nth-of-type(1) span:nth-of-type(4){
		transform : translateY( -10px ) scale(0);
		opacity : 0;
	}
}
#menuBtn{
	z-index : 11;
	position : absolute;
}
#menuBtn span{
	font-size : 0;
}
#menuBtn > span:nth-of-type(1){
	width : 100%;
	height : 100%;
	position : relative;
	display : block;
}
#menuBtn span span{
	display : block;
	position : absolute;
	left : 0;
	transition : all .4s;
	width : 100%;
}
#menuBtn span span:nth-of-type(1){
	top : 0;
}
#menuBtn span span:nth-of-type(4){
	bottom : 0;
}
#menuBtn{
	background-color : #fff;
	z-index : 11;
	position : absolute;
}
#menuBtn span{
	font-size : 0;
}
#menuBtn > span:nth-of-type(1){
	width : 100%;
	height : 100%;
	position : relative;
	display : block;
}
#menuBtn span span{
	display : block;
	position : absolute;
	left : 0;
	transition : all .4s;
	width : 100%;
}
#menuBtn span span:nth-of-type(1){
	top : 0;
}
#menuBtn span span:nth-of-type(4){
	bottom : 0;
}
#menuBtn{
	position : fixed;
	background-repeat : no-repeat;
	z-index : 12;
}
#menuBtn span span{
	background-color : #f184a1;
}
@media screen and (max-width: 768px){
	#menuBtn{
		top : calc( 22 * 100vw / 768 );
		width : calc( 80 * 100% / 768 );
		height : calc( 80 * 100vw / 768 );
		right : calc( 8 * 100% / 768 );
		padding-top : calc( 11 * 100vw / 768 );
		padding-bottom : calc( 33 * 100vw / 768 );
		padding-left : calc( 10 * 100% / 768 );
		padding-right : calc( 10 * 100% / 768 );
		background-size : auto calc( 11 * 100vw / 768 );
		background-position : bottom calc( 12 * 100vw / 768 ) left 50%;
	}
	#menuBtn span span{
		height : calc( 4 * 100vw / 768 );
		width : calc( 50 * 100% / 60 );
	}
	#menuBtn span span:nth-of-type(2) , #menuBtn span span:nth-of-type(3){
		top : calc( 16 * 100vw / 768 );
		margin-left : calc( 10 * 100% / 60 );
	}
}
@media print,screen and (min-width: 769px){
	#menuBtn{
		top : 17px;
		width : 60px;
		height : 60px;
		left : calc( 50% + 570px - 60px );
		padding-top : 15px;
		padding-bottom : 22px;
		padding-left : 10px;
		padding-right : 10px;
		background-size : auto 10px;
		background-position : bottom 7px left 50%;
	}
	#menuBtn span span{
		height : 3px;
		width : 32px;
	}
	#menuBtn span span:nth-of-type(2) , #menuBtn span span:nth-of-type(3){
		top : 10.25px;
		margin-left : 8px;
	}
}
@media screen and (max-width: 768px){
	body:not(.is-open) #menuBtn{
		background-image : url("../images/ui/label/menu01_sp.png");
	}
}
@media print,screen and (min-width: 769px){
	body:not(.is-open) #menuBtn{
		background-image : url("../images/ui/label/menu01_pc.png");
	}
}
@media screen and (max-width: 768px){
	body.is-open #menuBtn{
		background-image : url("../images/ui/label/close01_sp.png");
	}
	body.is-open #menuBtn span span{
		margin-left : calc( 5 * 100% / 60 );
	}
}
@media print,screen and (min-width: 769px){
	body.is-open #menuBtn{
		background-image : url("../images/ui/label/close01_pc.png");
	}
	body.is-open #menuBtn span span{
		margin-left : 4px;
	}
}
/*--------------------------------------------
NAV
---------------------------------------------*/
#nav{
	position : fixed;
	transform : translateX( 0 );
	z-index : 11;
	transition : transform .5s ease-in;
	overflow-y : auto;
	max-height : 100vh;
	top : 0;
	left : 100%;
}
#nav .scroll{
	overflow-y : scroll;
}
body.is-open #nav{
	transform : translateX( -100% );
}
#nav{
	background-color : #fff;
	height : 100vh;
}
#nav .scroll{
	overflow : auto;
}
#nav h4{
	letter-spacing : .15em;
	font-weight : 700;
}
#nav .banner{
	display : block;
}
#nav .cv{
	display : flex;
	justify-content : space-between;
}
#nav .cv a{
	width : 100%;
	height : 100%;
	background-color : #090;
	color : #fff;
	letter-spacing : .1em;
	text-indent : .1em;
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
}
#nav .contacts02{
	display : flex;
	flex-wrap : wrap;
	align-items : center;
	justify-content : space-between;
}
#nav .contacts02 h5{
	width : 100%;
	letter-spacing : .15em;
}
#nav .contacts02 .tel{
	display : flex;
	align-items : center;
}
#nav .contacts02 .tel:before{
	content : "";
	display : block;
	background : url("../images/ui/icon/smartphone01.svg") 0 center / contain no-repeat;
	flex-shrink : 0;
}
#nav .contacts02 .tel span{
	letter-spacing : .15em;
}
#nav .contacts02 .contact{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	background-color : #f184a1;
	color : #fff;
	letter-spacing : .15em;
}
#nav .contacts02 .contact:before{
	content : "";
	display : block;
	background : url("../images/ui/icon/mail01_white.svg") 0 center / contain no-repeat;
	flex-shrink : 0;
}
#nav .access h5{
	font-weight : 700;
	letter-spacing : .15em;
}
#nav .access p{
	display : flex;
	align-items : center;
}
#nav .access a{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	color : #666;
	border-style : solid;
	border-color : currentColor;
	flex-shrink : 0;
}
#nav .group h5{
	letter-spacing : .15em;
	font-weight : 700;
}
#nav #btnClose{
	display : flex;
	margin-left : auto;
	margin-right : auto;
}
@media screen and (max-width: 768px){
	#nav{
		width : calc( 672 * 100% / 768 );
	}
	#nav .box{
		padding-left : calc( 24 * 100% / 672 );
		padding-right : calc( 24 * 100% / 672 );
		padding-top : calc( 44 * 100vw / 768 );
		padding-bottom : calc( 44 * 100vw / 768 );
	}
	#nav h4{
		font-size : 3rem;
	}
	#nav h4 + .group{
		margin-top : calc( 22 * 100vw / 768 );
	}
	#nav .box01{
		margin-top : calc( 46 * 100vw / 768 );
	}
	#nav .banner{
		margin-top : calc( 24 * 100vw / 768 );
	}
	#nav .banner img{
		width : 100%;
		height : auto;
	}
	#nav .cv{
		margin-top : calc( 24 * 100vw / 768 );
	}
	#nav .cv li{
		width : calc( 308 * 100% / 624 );
		height : calc( 100 * 100vw / 768 );
	}
	#nav .cv a{
		font-size : 3rem;
	}
	#nav .cv + .contacts02{
		margin-top : calc( 8 * 100vw / 768 );
	}
	#nav .contacts02 h5{
		font-size : 2.4rem;
		margin-bottom : calc( 18 * 100vw / 768 );
	}
	#nav .contacts02 .tel{
		height : calc( 80 * 100vw / 768 );
		width : calc( 390 * 100% / 624 );
		border : calc( 3 * 100vw / 768 ) solid #ccc;
		justify-content : center;
	}
	#nav .contacts02 .tel:before{
		width : calc( 26 * 100% / 384 );
		height : calc( 43 * 100vw / 768 );
		margin-right : calc( 18 * 100% / 384 );
	}
	#nav .contacts02 .tel span{
		font-size : 3.6rem;
	}
	#nav .contacts02 .contact{
		height : calc( 80 * 100vw / 768 );
		width : calc( 224 * 100% / 624 );
		font-size : 2.4rem;
	}
	#nav .contacts02 .contact:before{
		width : calc( 42 * 100% / 224 );
		height : calc( 28 * 100vw / 768 );
		margin-right : calc( 10 * 100% / 224 );
	}
	#nav .access{
		margin-top : calc( 38 * 100vw / 768 );
	}
	#nav .access h5{
		font-size : 3rem;
	}
	#nav .access p{
		margin-top : calc( 10 * 100vw / 768 );
		font-size : 3rem;
	}
	#nav .access a{
		border-width : calc( 3 * 100vw / 768 );
		width : calc( 90 * 100% / 624 );
		height : calc( 36 * 100vw / 768 );
		margin-left : calc( 13 * 100% / 624 );
		font-size : 1.8rem;
	}
	#nav .access + .group{
		margin-top : calc( ( 90 - 42 ) * 100vw / 768 );
	}
	#nav .group h5{
		font-size : 3rem;
		margin-top : calc( 64 * 100vw / 768 );
	}
	#nav .group + .contacts02{
		margin-top : calc( 56 * 100vw / 768 );
	}
	#nav #btnClose{
		width : calc( 53 * 100% / 624 );
		margin-top : calc( 76 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#nav{
		width : calc( 620px - 20px + ( ( 100% - 1140px ) / 2 ) );
	}
	#nav .box{
		padding-left : 40px;
		padding-right : 40px;
		padding-top : 40px;
		padding-bottom : 40px;
		width : 620px;
	}
	#nav h4{
		font-size : 1.8rem;
	}
	#nav h4 + .group{
		margin-top : 31px;
	}
	#nav .box01{
		display : flex;
		align-items : flex-start;
		margin-top : 24px;
	}
	#nav .banner{
		margin-top : 28px;
	}
	#nav .banner img{
		height : 80px;
	}
	#nav .cv{
		margin-top : 16px;
	}
	#nav .cv li{
		width : 265px;
		height : 60px;
	}
	#nav .cv a{
		font-size : 2rem;
	}
	#nav .cv + .contacts02{
		margin-top : 13px;
	}
	#nav .contacts02 h5{
		font-weight : 700;
		margin-bottom : 13px;
		font-size : 1.8rem;
	}
	#nav .contacts02 .tel:before{
		width : 26px;
		height : 43px;
		margin-right : 10px;
	}
	#nav .contacts02 .tel span{
		font-size : 3.2rem;
	}
	#nav .contacts02 .contact{
		width : 200px;
		height : 37px;
		font-size : 1.6rem;
	}
	#nav .contacts02 .contact:before{
		width : 31px;
		height : 21px;
		margin-right : 11px;
	}
	#nav .access{
		margin-top : 28px;
	}
	#nav .access h5{
		font-size : 1.8rem;
	}
	#nav .access p{
		margin-top : 10px;
		font-size : 1.8rem;
	}
	#nav .access a{
		border-width : 1px;
		width : 80px;
		height : 25px;
		margin-left : 12px;
	}
	#nav .access + .group{
		margin-top : 40px;
	}
	#nav .group{
		display : flex;
		justify-content : space-between;
		flex-direction : row-reverse;
	}
	#nav .group h5{
		font-size : 1.4rem;
	}
	#nav .group + .contacts02{
		margin-top : 20px;
	}
	#nav #btnClose{
		width : 41px;
		margin-top : 98px;
	}
}
#navGlobal a{
	display : flex;
}
#navGlobal span{
	letter-spacing : .1em;
	font-weight : 500;
}
@media screen and (max-width: 768px){
	#navGlobal li + li{
		margin-top : calc( 24 * 100vw / 768 );
	}
	#navGlobal picture{
		width : calc( 120 * 100% / 624 );
		flex-shrink : 0;
	}
	#navGlobal span{
		flex-grow : 1;
		font-size : 3rem;
		margin-left : calc( 16 * 100% / 624 );
		display : flex;
		align-items : center;
		padding-top : calc( 3 * 100vw / 768 );
		border-bottom : calc( 3 * 100vw / 768 ) solid #efefef;
	}
}
@media print,screen and (min-width: 769px){
	#navGlobal{
		width : 320px;
	}
	#navGlobal li + li{
		margin-top : 16px;
	}
	#navGlobal a{
		align-items : center;
	}
	#navGlobal picture{
		width : 72px;
	}
	#navGlobal span{
		font-size : 1.8rem;
		margin-left : 10px;
	}
}
#navSub a{
	font-weight : 500;
	letter-spacing : .05em;
}
@media screen and (max-width: 768px){
	#navSub{
		display : flex;
		justify-content : space-between;
		flex-wrap : wrap;
	}
	#navSub li{
		height : calc( 86 * 100vw / 768 );
		width : calc( 300 * 100% / 624 );
	}
	#navSub a{
		font-size : 2.8rem;
		padding-top : calc( 42 * 100vw / 768 );
		border-bottom : calc( 3 * 100vw / 768 ) solid #efefef;
		width : 100%;
		height : 100%;
		display : block;
		padding-left : calc( 10 * 100% / 300 );
		padding-right : calc( 10 * 100% / 300 );
	}
}
@media print,screen and (min-width: 769px){
	#navSub{
		border-left : 1px solid #e6e6e6;
		margin-top : 2px;
		padding-top : 10px;
		padding-bottom : 10px;
	}
	#navSub li + li{
		margin-top : 32px;
	}
	#navSub a{
		padding-left : 26px;
		font-size : 1.8rem;
	}
}
#navCommonlinks a{
	font-weight : 500;
}
@media screen and (max-width: 768px){
	#navCommonlinks{
		display : flex;
		justify-content : space-between;
		flex-wrap : wrap;
	}
	#navCommonlinks li{
		height : calc( 86 * 100vw / 768 );
		width : calc( 300 * 100% / 624 );
	}
	#navCommonlinks a{
		font-size : 2.8rem;
		padding-top : calc( 42 * 100vw / 768 );
		border-bottom : calc( 3 * 100vw / 768 ) solid #efefef;
		width : 100%;
		height : 100%;
		display : block;
		padding-left : calc( 10 * 100% / 300 );
		padding-right : calc( 10 * 100% / 300 );
	}
}
@media print,screen and (min-width: 769px){
	#navCommonlinks{
		flex-grow : 1;
		border-left : 1px solid #e6e6e6;
		padding-top : 2px;
		padding-bottom : 2px;
	}
	#navCommonlinks li + li{
		margin-top : 31px;
	}
	#navCommonlinks a{
		padding-left : 26px;
		font-size : 1.6rem;
	}
}
#navGroup a{
	display : -ms-grid;
	display :     grid;
}
#navGroup picture{
	-ms-grid-row : 1;
	-ms-grid-row-span : 3;
	    grid-row : 1/4;
	-ms-grid-column : 1;
	-ms-grid-column-span : 1;
	    grid-column : 1/2;
}
#navGroup h6{
	-ms-grid-row : 2;
	-ms-grid-row-span : 1;
	    grid-row : 2/3;
	-ms-grid-column : 2;
	-ms-grid-column-span : 1;
	    grid-column : 2/3;
	font-weight : 500;
	letter-spacing : .1em;
}
#navGroup p{
	-ms-grid-row : 3;
	-ms-grid-row-span : 1;
	    grid-row : 3/4;
	-ms-grid-column : 2;
	-ms-grid-column-span : 1;
	    grid-column : 2/3;
}
@media screen and (max-width: 768px){
	#navGroup{
		margin-top : calc( 28 * 100vw / 768 );
	}
	#navGroup li + li{
		margin-top : calc( 20 * 100vw / 768 );
	}
	#navGroup a{
		-ms-grid-columns : calc( 120 * 100% / 624 ) auto;
		grid-template-columns : calc( 120 * 100% / 624 ) auto;
	}
	#navGroup h6 , #navGroup p{
		padding-left : calc( 24 * 100% / 624 );
	}
	#navGroup h6{
		font-size : 3rem;
	}
	#navGroup p{
		padding-top : calc( 9 * 100vw / 768 );
		font-size : 2.2rem;
	}
}
@media print,screen and (min-width: 769px){
	#navGroup{
		width : 318px;
		margin-top : 19px;
	}
	#navGroup li + li{
		margin-top : 30px;
	}
	#navGroup a{
		-ms-grid-columns : 65px auto;
		grid-template-columns : 65px auto;
	}
	#navGroup h6 , #navGroup p{
		padding-left : 11px;
	}
	#navGroup h6{
		font-size : 1.8rem;
	}
	#navGroup p{
		padding-top : 7px;
		font-size : 1.2rem;
	}
}
/*--------------------------------------------
FOOTER
---------------------------------------------*/
@media print,screen and (min-width: 769px){
	#footer{
		display : flex;
		flex-direction : column;
	}
	#footer #footerAbout{
		order : 1;
	}
	#footer #footerContact{
		order : 2;
	}
	#footer #footerLinks{
		order : 3;
	}
}
#footerAbout .wrap{
	text-align : center;
}
#footerAbout h5:after{
	content : "";
	display : block;
	margin-left : auto;
	margin-right : auto;
}
#footerAbout p , #footerAbout li{
	letter-spacing : .1em;
	text-indent : .1em;
}
@media screen and (max-width: 768px){
	#footerAbout{
		background-repeat : no-repeat;
		background-size : cover;
		background-position : center;
		min-height : calc( 429 * 100vw / 768 );
		position : relative;
	}
	#footerAbout:before{
		content : "";
		display : block;
		width : 100%;
		height : 100%;
		position : absolute;
		top : 0;
		left : 0;
		background-color : rgba(0,0,0,.6);
	}
	#footerAbout .wrap{
		position : relative;
		color : #fff;
		padding-top : calc( 80 * 100vw / 768 );
		padding-bottom : calc( 80 * 100vw / 768 );
	}
	#footerAbout h5:after{
		width : calc( 220 * 100% / 720 );
		height : calc( 3 * 100vw / 768 );
		margin-top : calc( 22 * 100vw / 768 );
		background-color : #fff;
	}
	#footerAbout p , #footerAbout li{
		font-size : 2.4rem;
		line-height : 1.3;
	}
	#footerAbout p{
		margin-top : calc( ( 29 - 3.6 ) * 100vw / 768 );
	}
	#footerAbout ul{
		margin-top : calc( 8 * 100vw / 768 );
	}
	#footerAbout div.link{
		display: flex;
		margin-top : calc( ( 41 - 3.6 ) * 100vw / 768 );
		justify-content: center;
	}
	#footerAbout div.link a{
		align-items : center;
		text-align : center;
		background-color : #fff;
		font-size : 2.635rem;
		letter-spacing : .1em;
		text-indent : .1em;
		line-height: calc( 70 * 100vw / 768 );
		height : calc( 70 * 100vw / 768 );
		width : calc( 220 * 100% / 720 );
		border : calc( 2 * 100vw / 768 ) solid #666;
		margin: 0 calc( 5 * 100vw / 768 );
	}
	#footerAbout ul.sns {
		list-style: none;
		display: flex;
		align-items: center;
		justify-content: center;
		column-gap: calc( 24 * 100vw / 768 );
		margin-top: calc( 24 * 100vw / 768 );
	}
		#footerAbout ul.sns li {
		}
			#footerAbout ul.sns li img {
				width: calc( 80 * 100vw / 768 );
				height: auto;
			}
}
@media print,screen and (min-width: 769px){
	#footerAbout{
		background : url("../images/ui/icon/sakura.svg") top 112px left calc( 50% + 330px + 163.5px ) / auto 310px no-repeat rgba(252,236,240,.6);
	}
	#footerAbout .wrap{
		background-repeat : no-repeat;
		background-position : 40px top;
		background-size : auto 300px;
		min-height : 300px;
		padding-left : 550px;
		padding-right : 0;
		padding-top : 40px;
		padding-bottom: 40px;
	}
	#footerAbout h5:after{
		background-color : #f184a1;
		margin-top : 12px;
		width : 220px;
		height : 3px;
	}
	#footerAbout p{
		margin-top : calc( 29px - 4px );
	}
	#footerAbout p , #footerAbout li{
		font-size : 1.6rem;
		line-height : 1.5;
	}
	#footerAbout div.link{
		display: flex;
		margin-top : 20px;
		justify-content: center;
	}
	#footerAbout div.link a{
		color: #fff;
		align-items : center;
		justify-content : center;
		text-align : center;
		background-color : #f184a1;
		font-size : 1.8rem;
		letter-spacing : .1em;
		text-indent : .1em;
		width : 120px;
		line-height: 30px;
		height : 30px;
		margin-left : 5px;
		margin-right : 5px;
	}

	#footerAbout ul{
		margin-top : 8px;
	}
	#footerAbout ul.sns {
		list-style: none;
		display: flex;
		align-items: center;
		justify-content: center;
		column-gap: 10px;
		margin-top: 20px;
	}
		#footerAbout ul.sns li {
		}
			#footerAbout ul.sns li img {
				width: 40px;
				height: auto;
			}
}
#footerContact{
	background-color : #f184a1;
	color : #fff;
}
#footerContact ul{
	display : flex;
	justify-content : space-between;
}
#footerContact li a{
	width : 100%;
	height : 100%;
	line-height : 1.2;
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	letter-spacing : .1em;
	text-indent : .1em;
	background-color : #fff;
}
#footerContact .tel{
	letter-spacing : .1em;
	text-indent : .1em;
	color : #fff;
}
@media screen and (max-width: 768px){
	#footerContact .wrap{
		padding-top : calc( 66 * 100vw / 768 );
		padding-bottom : calc( 46 * 100vw / 768 );
		text-align : center;
		padding-left : calc( 48 * 100% / 768 );
		padding-right : calc( 48 * 100% / 768 );
	}
	#footerContact h5 img{
		height : calc( 48 * 100vw / 768 );
	}
	#footerContact ul{
		margin-top : calc( 50 * 100vw / 768 );
	}
	#footerContact li{
		width : calc( 222 * 100% / 672 );
		height : calc( 122 * 100vw / 768 );
	}
	#footerContact li a{
		font-size : 2.8rem;
	}
	#footerContact .tel{
		margin-top : calc( 3 * 100vw / 768 );
		width : 100%;
		height : calc( 122 * 100vw / 768 );
		border : calc( 4 * 100vw / 768 ) solid #fff;
		font-size : 3.2rem;
		display : flex;
		align-items : center;
		justify-content : center;
		text-align : center;
	}
}
@media print,screen and (min-width: 769px){
	#footerContact .wrap{
		display : -ms-grid;
		display :     grid;
		padding-top : 68px;
		padding-bottom : 52px;
		-ms-grid-columns : 450px 610px;
		grid-template-columns : 450px 610px;
	}
	#footerContact h5{
		-ms-grid-row : 1;
		-ms-grid-row-span : 1;
		    grid-row : 1/2;
		-ms-grid-column : 1;
		-ms-grid-column-span : 1;
		    grid-column : 1/2;
		text-align : center;
	}
	#footerContact h5 img{
		height : 29px;
	}
	#footerContact .tel{
		text-align : center;
		font-size : 3rem;
		-ms-grid-row : 2;
		-ms-grid-row-span : 1;
		    grid-row : 2/3;
		-ms-grid-column : 1;
		-ms-grid-column-span : 1;
		    grid-column : 1/2;
	}
	#footerContact ul{
		-ms-grid-row : 1;
		-ms-grid-row-span : 2;
		    grid-row : 1/3;
		-ms-grid-column : 2;
		-ms-grid-column-span : 1;
		    grid-column : 2/3;
	}
	#footerContact li{
		width : 200px;
		height : 80px;
	}
	#footerContact li a{
		font-size : 2rem;
	}
}
#footerLinks{
	background-color : #444;
	color : #fff;
}
#footerLinks a{
	color : #fff;
}
#footerLinks .links{
	display : flex;
}
#footerLinks ul:nth-of-type(1){
	border-right-style : solid;
	border-right-color : #fff;
}
#footerLinks ul:nth-of-type(1) a{
	display : -ms-grid;
	display :     grid;
	-ms-grid-rows : 1fr auto;
	grid-template-rows : 1fr auto;
}
#footerLinks ul:nth-of-type(1) picture{
	-ms-grid-row : 1;
	-ms-grid-row-span : 2;
	    grid-row : 1/3;
	-ms-grid-column : 1;
	-ms-grid-column-span : 1;
	    grid-column : 1/2;
}
#footerLinks ul:nth-of-type(1) h6{
	-ms-grid-row : 1;
	-ms-grid-row-span : 1;
	    grid-row : 1/2;
	-ms-grid-column : 2;
	-ms-grid-column-span : 1;
	    grid-column : 2/3;
	letter-spacing : .1em;
	display : flex;
	align-items : flex-end;
}
#footerLinks ul:nth-of-type(1) p{
	-ms-grid-row : 2;
	-ms-grid-row-span : 1;
	    grid-row : 2/3;
	-ms-grid-column : 2;
	-ms-grid-column-span : 1;
	    grid-column : 2/3;
}
#footerLinks .copyrights{
	width : 100%;
	border-top-style : solid;
	border-top-color : #fff;
	display : flex;
	align-items : center;
}
#footerLinks .links {
}

@media screen and (max-width: 768px){
	#footerLinks .wrap{
		padding-top : calc( 93 * 100vw / 768 );
		padding-bottom : calc( 112 * 100vw / 768 );
	}
	#footerLinks ul:nth-of-type(1){
		border-right-width : calc( 2 * 100vw / 768 );
		padding-left : calc( 26 * 100% / 720 );
		padding-top : calc( 22 * 100vw / 768 );
		width : calc( 457 * 100% / 720 );
	}
	#footerLinks ul:nth-of-type(1) li + li{
		margin-top : calc( 40 * 100vw / 768 );
	}
	#footerLinks ul:nth-of-type(1) a{
		-ms-grid-columns : calc( 90 * 100% / 426 ) 1fr;
		grid-template-columns : calc( 90 * 100% / 426 ) 1fr;
	}
	#footerLinks ul:nth-of-type(1) h6 , #footerLinks ul:nth-of-type(1) p{
		padding-left : calc( 16 * 100% / 426 );
	}
	#footerLinks ul:nth-of-type(1) h6{
		font-size : 2.8rem;
	}
	#footerLinks ul:nth-of-type(1) p{
		font-size : 1.8rem;
		padding-bottom : calc( 6 * 100vw / 768 );
		padding-top : calc( 13 * 100vw / 768 );
	}
	#footerLinks .links ul:nth-of-type(4){
		width : calc( 240 * 100% / 720 );
		padding-left : calc( 22 * 100% / 720 );
	}
	#footerLinks .links ul:nth-of-type(4) li + li{
		border-top : dotted  #8f8f8f calc( 2 * 100vw / 768 );
	}
	#footerLinks .links ul:nth-of-type(4) a{
		height : calc( 76 * 100vw / 768 );
		display : flex;
		align-items : center;
		justify-content : center;
		font-size : 2.4rem;
		line-height : 1.3333;
	}
	#footerLinks .copyrights{
		margin-top : calc( 44 * 100vw / 768 );
		border-top-width : calc( 2 * 100vw / 768 );
		padding-top : calc( 36 * 100vw / 768 );
	}
	#footerLinks h5 img{
		height : calc( 82 * 100vw / 768 );
	}
	#footerLinks .copyrights p{
		margin-left : calc( 52 * 100% / 720 );
		font-size : 2.2rem;
	}
    #footerLinks .links .kyokai {
        background: #444;
    }
    #footer .kyokai{
        padding-top: calc( 48 * 100vw / 768 );
        padding-left: calc( 24 * 100vw / 768 );
    }
        #footer .kyokai img{
            width: calc( 650 * 100vw / 720 );
            height: auto;
        }
}
@media print,screen and (min-width: 769px){
	#footerLinks .wrap{
		padding-top : 53px;
		padding-bottom : 15px;
	}
	#footerLinks ul:nth-of-type(1){
		padding-top : 14px;
		border-right-width : 1px;
	}
	#footerLinks ul:nth-of-type(1) li + li{
		margin-top : 30px;
	}
	#footerLinks ul:nth-of-type(1) a{
		-ms-grid-columns : 65px 1fr;
		grid-template-columns : 65px 1fr;
	}
	#footerLinks ul:nth-of-type(1) h6 , #footerLinks ul:nth-of-type(1) p{
		padding-left : 11px;
	}
	#footerLinks ul:nth-of-type(1) h6{
		font-size : 1.8rem;
	}
	#footerLinks ul:nth-of-type(1) p{
		font-size : 1.2rem;
		padding-bottom : 4px;
		padding-top : 8px;
	}
	#footerLinks ul:nth-of-type(2){
		padding-left : 40px;
	}
	#footerLinks ul:nth-of-type(2) a{
		font-size : 1.6rem;
		display : block;
	}
	#footerLinks .links ul:nth-of-type(1){
		width : 340px;
	}
	#footerLinks .links ul:nth-of-type(2) , #footerLinks .links ul:nth-of-type(3){
		width : 260px;
	}
	#footerLinks .links ul:nth-of-type(2){
		padding-top : calc( 32px - 8px );
		padding-bottom : calc( 32px - 8px );
	}
	#footerLinks .links ul:nth-of-type(2) li + li{
		margin-top : 15px;
	}
	#footerLinks .links ul:nth-of-type(2) a{
		line-height : 2;
	}
	#footerLinks .links ul:nth-of-type(n+3){
		padding-top : calc( 32px - 8px );
		padding-bottom : calc( 32px - 8px );
	}
	#footerLinks .links ul:nth-of-type(n+3) li + li{
		margin-top : 15px;
	}
	#footerLinks .links ul:nth-of-type(n+3) a{
		font-size : 1.6rem;
		line-height : 2;
		display : block;
	}
	#footerLinks .copyrights{
		border-top-width : 1px;
		padding-top : 25px;
	}
	#footerLinks h5 img{
		height : 57px;
	}
	#footerLinks .copyrights p{
		font-size : 2.2rem;
		margin-left : 206px;
	}
    #footerLinks .links .kyokai img{
        width: 300px;
        height: auto;
    }
#footerLinks .links .kyokai {
    padding-top:25px;
}    
}
/*--------------------------------------------
TO TOP
---------------------------------------------*/
#toTop{
	display : block;
	position : fixed;
	z-index : 10;
}
@media screen and (max-width: 768px){
	#toTop{
		width : calc( 60 * 100% / 768 );
		bottom : calc( 130 * 100vw / 768 );
		right : calc( 24 * 100% / 768 );
	}
	#toTop.is-pc{
		display : none;
	}
}
@media print,screen and (min-width: 769px){
	#toTop{
		width : 40px;
		bottom : 20px;
		left : calc( 50% + 470px );
	}
}
/*--------------------------------------------
TITLE
---------------------------------------------*/
#title{
	background-color : #fff2f2;
	overflow : hidden;
}
#title .wrap{
	position : relative;
}
#title h1{
	text-align : center;
	text-indent : .1em;
	letter-spacing : .1em;
}
#title h1:after{
	content : "";
	display : block;
	margin-left : auto;
	margin-right : auto;
	background-color : #f184a1;
}
@media screen and (max-width: 768px){
	#title .wrap{
		padding-top : calc( ( 113 - 2 ) * 100vw / 768 );
		padding-bottom : calc( 108 * 100vw / 768 );
	}
	#title h1{
		font-size : 4.8rem;
		line-height : 1.0833;
	}
	#title h1:after{
		margin-top : calc( ( 28 - 2 ) * 100vw / 768 );
		height : calc( 3 * 100vw / 768 );
		width : calc( 300 * 100% / 720 );
	}
}
@media print,screen and (min-width: 769px){
	#title .wrap{
		padding-top : 136px;
		padding-bottom : 93px;
	}
	#title h1{
		font-size : 3.6rem;
	}
	#title h1:after{
		margin-top : 32px;
		height : 3px;
		width : 500px;
	}
}
@media print,screen and (min-width: 769px){
	#breadcrumbs{
		width : 100%;
		display : flex;
		align-items : center;
		flex-wrap : wrap;
		position : absolute;
		top : calc( 20px - 7.6px );
		left : 40px;
	}
	#breadcrumbs li + li:before{
		content : "　／　";
		white-space : pre;
	}
	#breadcrumbs li , #breadcrumbs a{
		letter-spacing : .1em;
		color : #666;
	}
	#breadcrumbs li{
		font-size : 1.6rem;
		line-height : 1.95;
	}
}
#title02{
	background-color : #fff2f2;
	overflow : hidden;
}
#title02.no-color {
	background-color : #fff !important;
}
#title02 .wrap{
	position : relative;
}
#title02 h2{
	text-align : center;
	text-indent : .1em;
	letter-spacing : .1em;
}
#title02 h2:after{
	content : "";
	display : block;
	margin-left : auto;
	margin-right : auto;
	background-color : #f184a1;
}
@media screen and (max-width: 768px){
	#title02{
		margin-top : calc( 27 * 100vw / 768 );
	}
	#title02 .wrap{
		padding-top : calc( 68 * 100vw / 768 );
		padding-bottom : calc( 40 * 100vw / 768 );
	}
	#title02 h2{
		font-size : 4.8rem;
	}
	#title02 h2:after{
		margin-top : calc( ( 28 - 2 ) * 100vw / 768 );
		height : calc( 3 * 100vw / 768 );
		width : calc( 300 * 100% / 720 );
	}
}
@media print,screen and (min-width: 769px){
	#title02{
		margin-top : calc( 7pxpx - px );
	}
	#title02 .wrap{
		padding-top : 82px;
		padding-bottom : 45px;
	}
	#title02 h2{
		font-size : 3.6rem;
	}
	#title02 h2:after{
		margin-top : 32px;
		height : 3px;
		width : 500px;
	}
}
/*--------------------------------------------
COLUMNS
---------------------------------------------*/
@media print,screen and (min-width: 769px){
	#column02{
		display : flex;
		align-items : flex-start;
		justify-content : space-between;
	}
	#column02 > article{
		width : 790px;
		flex-shrink : 0;
	}
}
/*--------------------------------------------
SIDEBAR
---------------------------------------------*/
#sidebar ul{
	background-color : #fff2f2;
}
#sidebar li a{
	display : block;
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	#sidebar{
		margin-top : calc( 140 * 100vw / 768 );
	}
	#sidebar li a{
		font-size : 2.6rem;
		line-height : 1.3;
		padding-left : calc( 24 * 100vw / 768 );
		padding-right : calc( 24 * 100vw / 768 );
	}
	#sidebar ul{
		padding-bottom : calc( ( 41 - 3.9 ) * 100vw / 768 );
	}
	#sidebar .group{
		padding-top : calc( ( 29 - 3.9 ) * 100vw / 768 );
	}
	#sidebar .group li + li{
		margin-top : calc( 30 * 100vw / 768 );
	}
	#sidebar .year , #sidebar .tagcloud{
		padding-top : calc( ( 29 - 3.9 - 30 ) * 100vw / 768 );
		display : flex;
		flex-wrap : wrap;
	}
	#sidebar .year li , #sidebar .tagcloud li{
		margin-top : calc( 30 * 100vw / 768 );
	}
	#sidebar ul + h5{
		margin-top : calc( 30 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#sidebar{
		width : 245px;
	}
	#sidebar li a{
		font-size : 1.6rem;
		line-height : 1.4625;
		padding-left : 10px;
		padding-right : 10px;
	}
	#sidebar ul{
		padding-top : calc( 20px - 3.7px );
		padding-bottom : calc( 29px - 3.7px );
	}
	#sidebar li + li{
		margin-top : 10px;
	}
	#sidebar .tagcloud li + li{
		margin-top : 15px;
	}
	#sidebar ul + h5{
		margin-top : 30px;
	}
}
/*--------------------------------------------
BANNERS
---------------------------------------------*/
.list-banners01 a{
	display : block;
}
@media screen and (max-width: 768px){
	.list-banners01.column02 li + li{
		margin-top : calc( 73 * 100vw / 768 );
	}
	.list-banners01.column03{
		display : flex;
		flex-wrap : wrap;
		justify-content : center;
	}
	.list-banners01.column03 > li{
		width : calc( 348 * 100% / 720 );
	}
	.list-banners01.column03 > li:nth-child(even){
		margin-left : calc( 24 * 100% / 720 );
	}
	.list-banners01.column03 > li:nth-child(n+3){
		margin-top : calc( 24 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	.list-banners01{
		display : flex;
		flex-wrap : wrap;
		justify-content : center;
	}
        .list-banners01 li{
            margin-right: 20px;
        }
        .list-banners01 li:last-of-type{
            margin-right: 0px;
        }
	.list-banners01.pc-reverse{
		flex-direction : row-reverse;
	}
	.list-banners01.column02 li{
		width : 520px;
	}
	.list-banners01.column03 li{
		width : 340px;
	}
}
/*--------------------------------------------
VOICE
---------------------------------------------*/

@media screen and (max-width: 768px){
	#banner-voice .wrap{
		padding-top : calc( 100 * 100vw / 768 );
	}
	#banner-voice img{
		width : 100%;
		height : auto;
	}

}
@media print,screen and (min-width: 769px){
	#banner-voice .wrap{
		padding-top : 40px;
	}
	#banner-voice img{
		height : auto;
	}
}
/*--------------------------------------------
TOUR
---------------------------------------------*/
#banner-tour button{
	display : block;
	margin-left : auto;
	margin-right : auto;
}
@media screen and (max-width: 768px){
	#banner-tour .wrap:nth-of-type(1){
		padding-top : calc( 60 * 100vw / 768 );
		padding-bottom : calc( 30 * 100vw / 768 );
	}
	#banner-tour .wrap:nth-of-type(2){
		padding-top : 0;
		padding-bottom : calc( 112 * 100vw / 768 );
	}
	#banner-tour img{
		width : 100%;
		height : auto;
	}
	#banner-tour p{
		text-align : center;
		font-size : 2rem;
		margin-top : calc( 15 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#banner-tour .wrap:nth-of-type(1){
		padding-top : 40px;
		padding-bottom : 30px;
	}
	#banner-tour .wrap:nth-of-type(2){
		padding-top : 0px;
		padding-bottom : 110px;
	}
	#banner-tour img{
		height : 240px;
	}
	#banner-tour p{
		text-align : center;
		font-size : 1.6rem;
		margin-top : 16px;
	}
}
/*--------------------------------------------
VOICE
---------------------------------------------*/
#voice{
	background-color : rgba(241,158,180,.4);
}
#voice .hgroup{
	color : #fff;
	background-color : #f19eb4;
}
#voice .hgroup h3 , #voice .hgroup p{
	letter-spacing : .1em;
}
#voice .hgroup p{
	font-weight : 500;
}
#voice li a{
	display : flex;
	align-items : flex-start;
	background-color : #fff;
	position : relative;
}
#voice li a > div{
	flex-grow : 1;
}
#voice picture{
	flex-shrink : 0;
}
#voice h4{
	font-weight : 500;
	letter-spacing : .1em;
}
#voice .link-more03{
	position : absolute;
	z-index : 1;
}
#voice li p{
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	#voice{
		margin-top : calc( ( 124 + 35 ) * 100vw / 768 );
	}
	#voice .wrap{
		padding-bottom : calc( 60 * 100vw / 768 );
	}
	#voice .hgroup{
		padding-top : calc( 28 * 100vw / 768 );
		padding-bottom : calc( 21 * 100vw / 768 );
		padding-left : calc( 24 * 100% / 720 );
		padding-right : calc( 24 * 100% / 720 );
		top : calc( -35 * 100vw / 768 );
		position : relative;
	}
	#voice .hgroup h3{
		font-size : 5.6rem;
		margin-right : calc( 17 * 100% / 768 );
	}
	#voice .hgroup p{
		font-size : 2.4rem;
		margin-top : calc( 24 * 100vw / 768 );
	}
	#voice ul{
		margin-top : calc( 46 * 100vw / 768 );
	}
	#voice li + li{
		margin-top : calc( 51 * 100vw / 768 );
	}
	#voice picture{
		width : calc( 200 * 100% / 720 );
	}
	#voice a > div{
		padding-left : calc( 26 * 100% / 720 );
		padding-right : calc( 24 * 100% / 720 );
		padding-top : calc( ( 30 - 5 ) * 100vw / 768 );
	}
	#voice h4{
		font-size : 3rem;
		line-height : 1.3333;
	}
	#voice li p{
		font-size : 2.6rem;
		margin-top : calc( ( 20 + 4 ) * 100vw / 768 );
	}
	#voice .link-more03{
		right : calc( 24 * 100% / 720 );
		bottom : calc( -24 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#voice{
		margin-top : calc( 80px + 21px );
	}
	#voice .wrap{
		padding-bottom : 60px;
	}
	#voice .hgroup{
		display : inline-flex;
		align-items : center;
		padding-top : 34px;
		padding-bottom : 34px;
		padding-left : 25px;
		padding-right : 25px;
		margin-top : -21px;
	}
	#voice .hgroup h3{
		font-size : 4rem;
		margin-right : 17px;
	}
	#voice .hgroup p{
		font-size : 1.5rem;
		line-height : 1.3333;
	}
	#voice ul{
		display : flex;
		justify-content : center;
		margin-top : 51px;
	}
	#voice li{
		width : 520px;
	}
	#voice li + li{
		margin-left : 20px;
	}
	#voice picture{
		width : 120px;
	}
	#voice a > div{
		padding-left : 23px;
		padding-right : 19px;
		padding-top : calc( 30px - 8px );
	}
	#voice h4{
		font-size : 1.6rem;
		line-height : 1.5;
	}
	#voice li p{
		font-size : 1.6rem;
		margin-top : calc( 10px + 9px );
	}
	#voice .link-more03{
		right : 19px;
		bottom : -19px;
	}
}
/*--------------------------------------------
ROOM
---------------------------------------------*/
#room-main p{
	letter-spacing : .1em;
}
#room-main ul{
	display : flex;
	justify-content : center;
}
#room-main a{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	border-style : solid;
	border-color : #ccc;
	letter-spacing : .1em;
	text-indent : .1em;
	width : 100%;
}
@media screen and (max-width: 768px){
	#room-main .wrap{
		padding-top : calc( ( 50 - 13 ) * 100vw / 768 );
		padding-bottom : calc( 96 * 100vw / 768 );
		padding-left : calc( 48 * 100% / 768 );
		padding-right : calc( 48 * 100% / 768 );
	}
	#room-main p{
		font-size : 2.6rem;
		line-height : 2;
	}
	#room-main ul{
		margin-top : calc( ( 61 - 13 ) * 100vw / 768 );
		justify-content : space-between;
	}
	#room-main li{
		width : calc( 324 * 100% / 672 );
	}
	#room-main a{
		padding-top : calc( 6 * 100vw / 768 );
		flex-direction : column;
		border-width : calc( 4 * 100vw / 768 );
		height : calc( 100 * 100vw / 768 );
		font-size : 2.6rem;
	}
	#room-main a:after{
		content : "";
		display : block;
		background : url("../images/ui/parts/down01.png") 0 0 / contain no-repeat;
		flex-shrink : 0;
		width : calc( 15 * 100% / 324 );
		height : calc( 10 * 100vw / 768 );
		margin-top : calc( 17 * 100vw / 768 );
		flex-shrink : 0;
	}
}
@media print,screen and (min-width: 769px){
	#room-main .wrap{
		padding-top : calc( 30px - 8px );
		padding-bottom : 57px;
	}
	#room-main p{
		width : 832px;
		margin-left : auto;
		margin-right : auto;
		font-size : 1.8rem;
		line-height : 1.8889;
	}
	#room-main ul{
		margin-top : calc( 59px - 8px );
	}
	#room-main li{
		width : 260px;
	}
	#room-main li + li{
		margin-left : 60px;
	}
	#room-main a{
		border-width : 1px;
		height : 60px;
		font-size : 1.8rem;
	}
	#room-main a:before{
		content : "";
		display : block;
		background : url("../images/ui/parts/down01.png") 0 0 / contain no-repeat;
		flex-shrink : 0;
		width : 15px;
		height : 10px;
		margin-right : 7px;
		flex-shrink : 0;
	}
}
#rooms .titles h2 , #room .titles h2{
	letter-spacing : .1em;
}
#rooms .titles h2 span , #room .titles h2 span{
	letter-spacing : .1em;
}
#rooms .titles h2:after , #room .titles h2:after{
	content : "";
	display : block;
	background-color : #f184a1;
}
#rooms .titles ul , #room .titles ul{
	display : flex;
}
#rooms .titles ul a , #rooms .titles ul span , #room .titles ul a , #room .titles ul span{
	color : #fff;
	letter-spacing : .1em;
	text-indent : .1em;
	width : 100%;
}
#rooms .titles ul span , #room .titles ul span{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	height : 100%;
}
#rooms .titles ul a , #room .titles ul a{
	display : flex;
	align-items : baseline;
	justify-content : center;
}
#rooms .titles .pink , #room .titles .pink{
	background-color : #f184a1;
}
#rooms .titles .orange , #room .titles .orange{
	background-color : #f90;
}
#rooms .titles .green , #room .titles .green{
	background-color : #9c0;
}
#rooms .iframe-container , #room .iframe-container{
	margin-left : auto;
	margin-right : auto;
}
#rooms .iframe-container iframe , #room .iframe-container iframe{
	width : 100%;
	height : 100%;
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	bottom : 0;
	margin : auto;
}
#rooms h3 , #room h3{
	letter-spacing : .1em;
}
#rooms .facility ul , #room .facility ul{
	display : flex;
	flex-wrap : wrap;
}
#rooms .facility li , #room .facility li{
	display : flex;
	align-items : baseline;
	color : #fff;
}
#rooms .facility .orange li , #room .facility .orange li{
	background-color : #f90;
}
#rooms .facility .green li , #room .facility .green li{
	background-color : #9c0;
}
#rooms .facility .blue li , #room .facility .blue li{
	background-color : #9cc;
}
#rooms .facility p , #room .facility p{
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	#rooms .wrap01 , #room .wrap01{
		padding-top : calc( 119 * 100vw / 768 );
		padding-bottom : calc( 31 * 100vw / 768 );
		padding-left : calc( 48 * 100% / 768 );
		padding-right : calc( 48 * 100% / 768 );
	}
	#rooms .sp-pink , #room .sp-pink{
		background-color : #f184a1;
	}
	#rooms .sp-orange , #room .sp-orange{
		background-color : #f90;
	}
	#rooms .sp-green , #room .sp-green{
		background-color : #9c0;
	}
	#rooms .titles h2 , #room .titles h2{
		font-size : 4.6rem;
	}
	#rooms .titles h2 span , #room .titles h2 span{
		font-size : 2.4rem;
	}
	#rooms .titles h2:after , #room .titles h2:after{
		width : calc( 300 * 100% / 672 );
		height : calc( 3 * 100vw / 768 );
		margin-top : calc( 34 * 100vw / 768 );
	}
	#rooms .titles ul , #room .titles ul{
		margin-top : calc( 24 * 100vw / 768 );
	}
	#rooms .titles li , #room .titles li{
		height : calc( 58 * 100vw / 768 );
	}
	#rooms .titles li + li , #room .titles li + li{
		margin-left : calc( 10 * 100% / 768 );
	}
	#rooms .titles a , #room .titles a{
		font-size : 3rem;
		padding-top : calc( 14 * 100vw / 768 );
		padding-bottom : calc( 14 * 100vw / 768 );
		padding-left : calc( 16 * 100vw / 768 );
		padding-right : calc( 16 * 100vw / 768 );
	}
	#rooms .titles a span , #room .titles a span{
		font-size : 1.8rem;
	}
	#rooms .titles li > span , #room .titles li > span{
		font-size : 2.4rem;
		padding-left : calc( 30 * 100vw / 768 );
		padding-right : calc( 30 * 100vw / 768 );
	}
	#rooms .titles + .iframe-container , #room .titles + .iframe-container{
		margin-top : calc( 31 * 100vw / 768 );
	}
	#rooms .iframe-container , #room .iframe-container{
		height : calc( 850 * 100vw / 768 );
	}
	#rooms .slider , #rooms .slider02 , #room .slider , #room .slider02{
		margin-top : calc( 41 * 100vw / 768 );
	}
	#rooms .slider img , #rooms .slider02 img , #room .slider img , #room .slider02 img{
		height : calc( 400 * 100vw / 768 );
	}
	#rooms .slider div.slick-slide , #rooms .slider02 div.slick-slide , #room .slider div.slick-slide , #room .slider02 div.slick-slide{
		margin-left : calc( 5 * 100vw / 768 );
		margin-right : calc( 5 * 100vw / 768 );
	}
	#rooms .wrap02 , #room .wrap02{
		padding-left : 0;
		padding-right : 0;
	}
	#rooms h3 , #room h3{
		font-size : 3rem;
		margin-top : calc( 20 * 100vw / 768 );
		margin-bottom : calc( ( 18 - 9 ) * 100vw / 768 );
	}
	#rooms .facility picture , #room .facility picture{
		text-align : center;
	}
	#rooms .facility picture img , #room .facility picture img{
		height : auto;
	}
	#rooms .facility ul , #room .facility ul{
		margin-left : calc( -9 * 100% / 672 );
	}
	#rooms .facility li , #room .facility li{
		font-size : 2.6rem;
		padding-left : calc( 8 * 100% / 681 );
		padding-right : calc( 8 * 100% / 681 );
		padding-top : calc( 5 * 100vw / 768 );
		padding-bottom : calc( 5 * 100vw / 768 );
		margin-left : calc( 9 * 100% / 681 );
		margin-top : calc( 9 * 100vw / 768 );
	}
	#rooms .facility li span , #room .facility li span{
		font-size : 2.2rem;
	}
	#rooms .facility p , #room .facility p{
		font-size : 2.6rem;
		line-height : 2;
		margin-top : calc( ( 29 - 13 ) * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#rooms .wrap01 , #room .wrap01{
		padding-top : 94px;
		padding-bottom : 21px;
	}
	#rooms .pc-pink , #room .pc-pink{
		background-color : #f184a1;
	}
	#rooms .pc-orange , #room .pc-orange{
		background-color : #f90;
	}
	#rooms .pc-green , #room .pc-green{
		background-color : #9c0;
	}
	#rooms .titles , #room .titles{
		display : flex;
		align-items : flex-start;
		justify-content : space-between;
	}
	#rooms .titles h2 , #room .titles h2{
		margin-top : 2px;
		font-size : 3.6rem;
		padding-left : 60px;
	}
	#rooms .titles h2 span , #room .titles h2 span{
		font-size : 2.4rem;
	}
	#rooms .titles h2:after , #room .titles h2:after{
		width : 320px;
		height : 2px;
		margin-top : 16px;
	}
	#rooms .titles li , #room .titles li{
		height : 58px;
	}
	#rooms .titles li + li , #room .titles li + li{
		margin-left : 10px;
	}
	#rooms .titles a , #room .titles a{
		padding-left : 13px;
		padding-right : 13px;
		font-size : 3rem;
		padding-top : 14px;
		padding-bottom : 14px;
	}
	#rooms .titles a span , #room .titles a span{
		font-size : 1.8rem;
	}
	#rooms .titles li > span , #room .titles li > span{
		padding-left : 16px;
		padding-right : 16px;
		font-size : 2rem;
	}
	#rooms .titles + .iframe-container , #room .titles + .iframe-container{
		margin-top : 21px;
	}
	#rooms .iframe-container , #room .iframe-container{
		height : 550px;
	}
	#rooms .slider , #rooms .slider02 , #room .slider , #room .slider02{
		margin-top : 20px;
	}
	#rooms .slider img , #rooms .slider02 img , #room .slider img , #room .slider02 img{
		height : 250px;
	}
	#rooms .slider div.slick-slide , #rooms .slider02 div.slick-slide , #room .slider div.slick-slide , #room .slider02 div.slick-slide{
		margin-left : 5px;
		margin-right : 5px;
	}
	#rooms h3 , #room h3{
		font-size : 2rem;
		margin-top : 5px;
		margin-bottom : calc( 14px - 9px );
	}
	#rooms .facility , #room .facility{
		display : flex;
		align-items : flex-start;
		justify-content : center;
	}
	#rooms .facility picture , #room .facility picture{
		flex-shrink : 0;
		margin-right : 30px;
	}
	#rooms .facility picture img , #room .facility picture img{
		height : auto;
	}
	#rooms .facility > div , #room .facility > div{
		width : 520px;
	}
	#rooms .facility ul , #room .facility ul{
		margin-left : -5px;
	}
	#rooms .facility li , #room .facility li{
		font-size : 1.6rem;
		padding-left : 6px;
		padding-right : 6px;
		padding-top : 8px;
		padding-bottom : 8px;
		margin-left : 5px;
		margin-top : 9px;
	}
	#rooms .facility li span , #room .facility li span{
		font-size : 1.4rem;
	}
	#rooms .facility dl , #room .facility dl{
		margin-top : calc( 31px - 8px );
	}
	#rooms .facility dl > div , #room .facility dl > div{
		display : flex;
		align-items : flex-start;
	}
	#rooms .facility dt , #rooms .facility dd , #room .facility dt , #room .facility dd{
		font-size : 1.8rem;
		line-height : 1.8889;
		letter-spacing : .1em;
	}
	#rooms .facility dt , #room .facility dt{
		flex-shrink : 0;
		width : 5.5em;
	}
	#rooms .facility dd , #room .facility dd{
		flex-grow : 1;
	}
	#rooms .facility ul + p , #room .facility ul + p{
		margin-top : calc( 18px - 8px );
	}
	#rooms .facility dl + p , #room .facility dl + p{
		margin-top : calc( 30px - 8px - 8px );
	}
	#rooms .facility p , #room .facility p{
		font-size : 1.8rem;
		line-height : 1.8889;
	}
}
#room{
	position : relative;
}
@media screen and (max-width: 768px){
	#room:not(.sp-nobg){
		position : relative;
	}
	#room:not(.sp-nobg):before{
		content : "";
		display : block;
		background-color : #fef4f7;
		position : absolute;
		left : 0;
		top : 0;
		position : absolute;
		width : 100%;
		z-index : -1;
		height : calc( 360 * 100vw / 768 );
	}
	#room .facilities{
		margin-top : calc( 59 * 100vw / 768 );
	}
	#room .facilities > li + li{
		margin-top : calc( 103 * 100vw / 768 );
	}
	#room .wrap:not(.wrap01){
		padding-left : 0;
		padding-right : 0;
	}
	#room .facilities .titles{
		padding-left : calc( 48 * 100% / 768 );
		padding-right : calc( 48 * 100% / 768 );
	}
	#room .facility{
		padding-left : calc( 48 * 100% / 768 );
		padding-right : calc( 48 * 100% / 768 );
	}
	#room .titles + .facility{
		margin-top : calc( 33 * 100vw / 768 );
	}
	#room .slick-dots{
		padding-left : calc( 24 * 100% / 768 );
		padding-right : calc( 24 * 100% / 768 );
		display : flex;
		align-items : center;
		width : 100%;
	}
	#room .slick-dots li + li{
		margin-left : calc( 10 * 100% / 720 );
	}
	#room .slick-dots li{
		width : calc( 70 * 100% / 720 );
	}
	#room .slick-dots button{
		background-color : #ccc;
		font-size : 0;
		position : relative;
		display : block;
		height : calc( 4 * 100vw / 768 );
		width : 100%;
	}
	#room .slick-dots button:before{
		content : "";
		display : block;
		position : absolute;
		left : 0;
		top : 0;
		max-width : 0;
		width : 100%;
		height : 100%;
		background-color : #999;
	}
	#room .slick-dots .slick-active button:before{
		animation : progressbar 5s 0s forwards;
	}
	#room .slider .slick-dots{
		position : absolute;
		right : 0;
		justify-content : flex-end;
		bottom : calc( 44 * 100vw / 768 );
	}
	#room .slider02 .slick-dots{
		justify-content : center;
		margin-top : calc( 20 * 100vw / 768 );
		margin-bottom : calc( 20 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#room .wrap01{
		padding-top : 95px;
	}
	#room:not(.pc-nobg):before{
		content : "";
		display : block;
		position : absolute;
		left : 0;
		top : 0;
		width : 100%;
		z-index : -1;
		background-color : #fef4f7;
		height : 488px;
	}
	#room .facilities{
		margin-top : 59px;
	}
	#room .facilities > li + li{
		margin-top : 75px;
	}
	#room .facilities .titles h2:after{
		margin-left : -10px;
	}
	#room .titles + .facility{
		margin-top : 24px;
	}
	#room .wrap02{
		padding-top : 49px;
	}
}
#rooms > li{
	position : relative;
}
#rooms > li:before{
	content : "";
	display : block;
	position : absolute;
	left : 0;
	top : 0;
	width : 100%;
	z-index : -1;
	background-color : #fef4f7;
}
@media screen and (max-width: 768px){
	#rooms{
		margin-bottom : calc( ( 160 - 13 ) * 100vw / 768 );
	}
	#rooms > li:before{
		height : calc( 360 * 100vw / 768 );
	}
	#rooms > li + li{
		margin-top : calc( ( 112 - 13 ) * 100vw / 768 );
	}
	#rooms .facility{
		margin-top : calc( 14 * 100vw / 768 );
	}
	#rooms .facility > div{
		padding-left : calc( 48 * 100% / 768 );
		padding-right : calc( 48 * 100% / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#rooms{
		margin-bottom : calc( 98px - 8px );
	}
	#rooms > li:before{
		height : 488px;
	}
	#rooms > li + li{
		margin-top : calc( 88px - 8px );
	}
	#rooms .facility{
		margin-top : 47px;
	}
}
/*--------------------------------------------
LAYOUT
---------------------------------------------*/
@keyframes progressbar{
	0%{
		max-width : 0;
	}
	100%{
		max-width : 100%;
	}
}
.sp-mv01 img{
	width : 100%;
	height : auto;
}
.pc-mv01{
	overflow : hidden;
	max-width : 1260px;
	margin-left : auto;
	margin-right : auto;
}
.pc-mv01 picture{
	text-align : center;
}
.pc-lede01 p , .sp-lede01 p{
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	.sp-lede01{
		margin-top : calc( ( 50 - 13 ) * 100vw / 768 );
		margin-bottom : calc( ( 116 - 13 ) * 100vw / 768 );
	}
	.sp-lede01 .wrap{
		padding-left : calc( 48 * 100% / 768 );
		padding-right : calc( 48 * 100% / 768 );
	}
	.sp-lede01 p{
		font-size : 2.6rem;
		line-height : 2;
	}
}
@media print,screen and (min-width: 769px){
	.pc-lede01{
		margin-top : calc( 30px - 8px );
		margin-bottom : calc( 67px - 8px );
	}
	.pc-lede01 p{
		font-size : 1.8rem;
		line-height : 1.8889;
		width : 830px;
		margin-left : auto;
		margin-right : auto;
	}
}
.pc-lede02 p , .sp-lede02 p{
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	.sp-lede02{
		margin-top : calc( ( 46 - 13 ) * 100vw / 768 );
		margin-bottom : calc( ( 143 - 13 ) * 100vw / 768 );
	}
	.sp-lede02 .wrap{
		padding-left : calc( 48 * 100% / 768 );
		padding-right : calc( 48 * 100% / 768 );
	}
	.sp-lede02 p{
		font-size : 2.6rem;
		line-height : 2;
	}
}
@media print,screen and (min-width: 769px){
	.pc-lede02{
		margin-top : calc( 65px - 8px );
		margin-bottom : calc( 53px - 8px );
	}
	.pc-lede02 p{
		font-size : 1.8rem;
		line-height : 1.8889;
		width : 730px;
		margin-left : auto;
		margin-right : auto;
	}
}
.pc-lede03 p , .sp-lede03 p{
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	.sp-lede03{
		margin-top : calc( ( 45 - 13 ) * 100vw / 768 );
		margin-bottom : calc( ( 113 - 13 ) * 100vw / 768 );
	}
	.sp-lede03 .wrap{
		padding-left : calc( 48 * 100% / 768 );
		padding-right : calc( 48 * 100% / 768 );
	}
	.sp-lede03 p{
		font-size : 2.6rem;
		line-height : 2;
	}
}
@media print,screen and (min-width: 769px){
	.pc-lede03{
		margin-top : calc( 65px - 8px );
		margin-bottom : calc( 79px - 8px );
	}
	.pc-lede03 p{
		font-size : 1.8rem;
		line-height : 1.8889;
		width : 730px;
		margin-left : auto;
		margin-right : auto;
	}
}
.pc-layout01 picture img , .sp-layout01 picture img{
	height : auto;
}
.pc-layout01 .title , .sp-layout01 .title{
	letter-spacing : .1em;
	color : #f16d90;
}
.pc-layout01 .title[data-no] , .sp-layout01 .title[data-no]{
	display : flex;
	align-items : baseline;
}
.pc-layout01 .title[data-no]:before , .sp-layout01 .title[data-no]:before{
	content : attr(data-no);
	color : #ccc;
	letter-spacing : 0;
	font-family : "Noto Serif JP", serif;
}
.pc-layout01 .text , .sp-layout01 .text{
	letter-spacing : .1em;
}
.pc-layout01 .slider , .sp-layout01 .slider{
	font-size : 0;
}
.pc-layout01 .slider img , .sp-layout01 .slider img{
	width : 100%;
	height : auto;
}
.pc-layout01 .slick-dots , .sp-layout01 .slick-dots{
	display : flex;
	align-items : center;
	position : absolute;
	top : 100%;
	width : 100%;
}
.pc-layout01 .slick-dots button , .sp-layout01 .slick-dots button{
	background-color : #ccc;
	font-size : 0;
	position : relative;
	display : block;
}
.pc-layout01 .slick-dots button:before , .sp-layout01 .slick-dots button:before{
	content : "";
	display : block;
	position : absolute;
	left : 0;
	top : 0;
	max-width : 0;
	width : 100%;
	height : 100%;
	background-color : #999;
}
.pc-layout01 .slick-dots .slick-active button:before , .sp-layout01 .slick-dots .slick-active button:before{
	animation : progressbar 5s 0s forwards;
}
.pc-layout01 .pictures , .sp-layout01 .pictures{
	position : relative;
}
.pc-layout01 .pictures li , .sp-layout01 .pictures li{
	z-index : 1;
}
.pc-layout01 .gallery , .sp-layout01 .gallery{
	position : relative;
}
.pc-layout01 .gallery img , .sp-layout01 .gallery img{
	width : 100%;
	height : auto;
}
@media screen and (max-width: 768px){
	.sp-layout01 .wrap{
		padding-left : 0;
		padding-right : 0;
	}
	.sp-layout01 .wrap > picture img{
		width : 100%;
	}
	.sp-layout01 .box , .sp-layout01 .box-gallery{
		padding-left : calc( 51 * 100% / 768 );
		padding-right : calc( 51 * 100% / 768 );
		padding-bottom : calc( 40 * 100vw / 768 );
	}
	.sp-layout01 .title{
		font-size : 4.6rem;
		line-height : 1.1304;
	}
	.sp-layout01 .title[data-no]{
		margin-top : calc( -17 * 100vw / 768 );
	}
	.sp-layout01 .title[data-no]:before{
		font-size : 8rem;
		margin-right : calc( 10 * 100% / 666 );
		margin-left : calc( 6 * 100% / 666 );
	}
	.sp-layout01 .title + .text{
		margin-top : calc( 10 * 100vw / 768 );
	}
	.sp-layout01 .text{
		font-size : 2.6rem;
		line-height : 2;
	}
	.sp-layout01 .title[data-no] + .text{
		padding-left : calc( 67 * 100% / 666 );
	}
	.sp-layout01 .link-more02 , .sp-layout01 .link-more03{
		margin-left : auto;
	}
	.sp-layout01 .text + .link-more02 , .sp-layout01 .text + .link-more03{
		margin-top : calc( ( 30 - 13 ) * 100vw / 768 );
	}
	.sp-layout01 .slick-dots{
		padding-left : calc( 24 * 100% / 768 );
		padding-right : calc( 24 * 100% / 768 );
		bottom : calc( -14 * 100vw / 768 );
		justify-content : flex-end;
		align-items : flex-end;
	}
	.sp-layout01 .slick-dots li{
		width : calc( 70 * 100% / 720 );
	}
	.sp-layout01 .slick-dots li + li{
		margin-left : calc( 10 * 100% / 720 );
	}
	.sp-layout01 .slick-dots button{
		height : calc( 4 * 100vw / 768 );
		width : 100%;
	}
	.sp-layout01 .pictures > picture img{
		width : 100%;
		height : auto;
	}
	.sp-layout01 .pictures ul{
		display : flex;
		align-items : flex-start;
		justify-content : flex-end;
		margin-top : calc( -86 * 100vw / 768 );
		padding-left : calc( 24 * 100% / 768 );
		padding-right : calc( 24 * 100% / 768 );
	}
	.sp-layout01 .pictures li + li{
		margin-left : calc( 24 * 100% / 720 );
	}
	.sp-layout01 .pictures ul img{
		height : calc( 157 * 100vw / 768 );
	}
	.sp-layout01 .pictures li:nth-last-child(2){
		margin-top : calc( 36 * 100vw / 768 );
	}
	.sp-layout01 .pictures li:nth-last-child(3){
		margin-top : calc( 72 * 100vw / 768 );
	}
	.sp-layout01 .gallery{
		display : -ms-grid;
		display :     grid;
	}
	.sp-layout01 .gallery-pattern01{
		-ms-grid-columns : calc( 335 * 100% / 768 ) calc( 8 * 100% / 768 ) calc( 178 * 100% / 768 ) calc( 9 * 100% / 768 ) calc( 217 * 100% / 768 ) 1fr;
		grid-template-columns : calc( 335 * 100% / 768 ) calc( 8 * 100% / 768 ) calc( 178 * 100% / 768 ) calc( 9 * 100% / 768 ) calc( 217 * 100% / 768 ) 1fr;
		-ms-grid-rows : calc( 34 * 100vw / 768 ) calc( 175 * 100vw / 768 ) calc( 9 * 100vw / 768 ) calc( 176 * 100vw / 768 ) 1fr;
		grid-template-rows : calc( 34 * 100vw / 768 ) calc( 175 * 100vw / 768 ) calc( 9 * 100vw / 768 ) calc( 176 * 100vw / 768 ) 1fr;
	}
	.sp-layout01 .gallery-pattern01 li:nth-child(1){
		-ms-grid-row : 1;
		-ms-grid-row-span : 3;
		    grid-row : 1/4;
		-ms-grid-column : 1;
		-ms-grid-column-span : 1;
		    grid-column : 1/2;
	}
	.sp-layout01 .gallery-pattern01 li:nth-child(2){
		-ms-grid-row : 2;
		-ms-grid-row-span : 1;
		    grid-row : 2/3;
		-ms-grid-column : 3;
		-ms-grid-column-span : 1;
		    grid-column : 3/4;
	}
	.sp-layout01 .gallery-pattern01 li:nth-child(3){
		-ms-grid-row : 2;
		-ms-grid-row-span : 1;
		    grid-row : 2/3;
		-ms-grid-column : 5;
		-ms-grid-column-span : 1;
		    grid-column : 5/6;
	}
	.sp-layout01 .gallery-pattern01 li:nth-child(4){
		-ms-grid-row : 4;
		-ms-grid-row-span : 1;
		    grid-row : 4/5;
		-ms-grid-column : 3;
		-ms-grid-column-span : 1;
		    grid-column : 3/4;
	}
	.sp-layout01 .gallery-pattern01 li:nth-child(5){
		-ms-grid-row : 4;
		-ms-grid-row-span : 2;
		    grid-row : 4/6;
		-ms-grid-column : 5;
		-ms-grid-column-span : 2;
		    grid-column : 5/7;
	}
	.sp-layout01 .wrap > picture + .box , .sp-layout01 .wrap > picture + .box-gallery{
		padding-top : calc( ( 45 - 3 ) * 100vw / 768 );
	}
	.sp-layout01 .slider + .box{
		padding-top : calc( ( 62 - 3 ) * 100vw / 768 );
	}
	.sp-layout01 .pictures + .box{
		padding-top : calc( ( 47 - 3 ) * 100vw / 768 );
	}
	.sp-layout01 .gallery + .box{
		padding-top : calc( ( 16 - 3 ) * 100vw / 768 );
	}
	.sp-layout01:not(.sp-gallery).reverse .wrap , .sp-layout01.sp-bg .wrap{
		background-color : #fef4f7;
	}
	.sp-layout01.sp-bg .slick-dots{
		justify-content : flex-start;
	}
	.sp-layout01.sp-gallery{
		position : relative;
	}
	.sp-layout01.sp-gallery:before{
		background-color : #fef4f7;
		content : "";
		display : block;
		position : absolute;
		left : 0;
		width : calc( 648 * 100% / 768 );
		height : calc( 536 * 100vw / 768 );
		z-index : -1;
		top : calc( 336 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	.pc-layout01{
		margin-top : 40px;
		margin-bottom : 40px;
	}
	.pc-layout01 .wrap{
		display : flex;
		align-items : center;
		justify-content : space-between;
	}
	.pc-layout01 picture{
		flex-shrink : 0;
		width : 620px;
	}
	.pc-layout01 .wrap > picture{
		text-align : center;
	}
	.pc-layout01 .wrap > picture img{
		max-width : 100%;
	}
	.pc-layout01 .box{
		flex-grow : 1;
	}
	.pc-layout01 .title{
		font-size : 3rem;
		line-height : 1.04;
	}
	.pc-layout01 .title[data-no]{
		margin-top : calc( -60px + 31.2px );
	}
	.pc-layout01 .title[data-no]:before{
		margin-left : -18px;
		margin-right : 6px;
		font-size : 6rem;
	}
	.pc-layout01 .text{
		font-size : 1.8rem;
		line-height : 1.8889;
	}
	.pc-layout01 .title + .text{
		margin-top : 10px;
	}
	.pc-layout01 .text + .link-more02 , .pc-layout01 .text + .link-more03{
		margin-top : calc( 19px - 8px );
		margin-left : auto;
	}
	.pc-layout01 .slider{
		width : 620px;
		flex-shrink : 0;
		font-size : 0;
	}
	.pc-layout01 .slick-dots{
		padding-left : 10px;
		padding-right : 10px;
		margin-top : 10px;
	}
	.pc-layout01 .slick-dots li + li{
		margin-left : 10px;
	}
	.pc-layout01 .slick-dots button{
		height : 2px;
		width : 70px;
	}
	.pc-layout01 .pictures{
		width : 620px;
		flex-shrink : 0;
	}
	.pc-layout01 .pictures li{
		position : absolute;
	}
	.pc-layout01 .pictures li img{
		height : 118px;
	}
	.pc-layout01 .pictures li:nth-child(1){
		top : 410px;
		right : 314px;
	}
	.pc-layout01 .pictures li:nth-child(2){
		top : 390px;
		right : 171px;
	}
	.pc-layout01 .pictures li:nth-child(3){
		top : 370px;
		right : 20px;
	}
	.pc-layout01 .gallery{
		flex-shrink : 0;
	}
	.pc-layout01 .gallery li{
		position : absolute;
	}
	.pc-layout01 .gallery-pattern01{
		width : calc( 648px - ( 430px - 344px ) );
		min-height : 430px;
	}
	.pc-layout01 .gallery-pattern01 > li:nth-child(1){
		top : 0;
		left : -86px;
		width : 283px;
	}
	.pc-layout01 .gallery-pattern01 > li:nth-child(2){
		top : 28px;
		left : 204px;
		width : 149px;
	}
	.pc-layout01 .gallery-pattern01 > li:nth-child(3){
		top : 28px;
		left : 361px;
		width : 183px;
	}
	.pc-layout01 .gallery-pattern01 > li:nth-child(4){
		top : 184px;
		left : 204px;
		width : 149px;
	}
	.pc-layout01 .gallery-pattern01 > li:nth-child(5){
		top : 184px;
		left : 361px;
		width : 201px;
	}
	.pc-layout01.pc-overflow{
		overflow : hidden;
	}
	.pc-layout01 .box-gallery{
		margin-left : 30px;
		flex-grow : 1;
		position : relative;
		-ms-grid-row-align : stretch;
		align-self : stretch;
		padding-top : calc( 67px - 4.5px );
	}
	.pc-layout01 .box-gallery .title{
		flex : 3rem 1;
		line-height : 1.3;
	}
	.pc-layout01 .box-gallery .title + .text{
		margin-top : 10px;
	}
	.pc-layout01 .box-gallery .text{
		font-size : 1.8rem;
		line-height : 1.8889;
	}
	.pc-layout01 .box-gallery li{
		position : absolute;
		bottom : 0;
	}
	.pc-layout01 .box-gallery li:nth-child(1){
		width : 161px;
		left : -17px;
		bottom : 2px;
	}
	.pc-layout01 .box-gallery li:nth-child(2){
		width : 159px;
		left : 137px;
		bottom : 3px;
	}
	.pc-layout01 .box-gallery li:nth-child(3){
		width : 160px;
		left : 289px;
		bottom : 3px;
	}
	.pc-layout01:not(.reverse):not(.pc-reverse) .wrap{
		padding-right : 40px;
		padding-left : 0;
	}
	.pc-layout01:not(.reverse):not(.pc-reverse) .box{
		margin-left : 31px;
	}
	.pc-layout01:not(.reverse):not(.pc-reverse) .gallery + .box{
		margin-left : 69px;
	}
	.pc-layout01.reverse , .pc-layout01.pc-reverse{
		position : relative;
	}
	.pc-layout01.reverse:not(.pc-nobg):before , .pc-layout01.pc-reverse:not(.pc-nobg):before{
		content : "";
		display : block;
		position : absolute;
		left : 0;
		width : 100%;
		background-color : #fef4f7;
		height : calc( 100% - 20px );
		top : 10px;
		z-index : -1;
	}
	.pc-layout01.reverse .wrap , .pc-layout01.pc-reverse .wrap{
		flex-direction : row-reverse;
		padding-left : 40px;
		padding-right : 0;
	}
	.pc-layout01.reverse .box , .pc-layout01.pc-reverse .box{
		margin-right : 28px;
	}
	.pc-layout01.pc-bg{
		position : relative;
	}
	.pc-layout01.pc-bg:before{
		content : "";
		display : block;
		position : absolute;
		left : 0;
		width : 100%;
		background-color : #fef4f7;
		height : calc( 100% - 20px );
		top : 10px;
		z-index : -1;
	}
}
.pc-layout02 .title , .sp-layout02 .title{
	letter-spacing : .1em;
	color : #f16d90;
}
.pc-layout02 .title[data-no] , .sp-layout02 .title[data-no]{
	display : flex;
	align-items : baseline;
}
.pc-layout02 .title[data-no]:before , .sp-layout02 .title[data-no]:before{
	content : attr(data-no);
	color : #ccc;
	letter-spacing : 0;
	font-family : "Noto Serif JP", serif;
}
.pc-layout02 .text , .sp-layout02 .text{
	letter-spacing : .1em;
}
@media print,screen and (min-width: 769px){
	.pc-layout02 .wrap{
		padding-left : 0;
		padding-right : 0;
		padding-top : 33px;
		padding-bottom : calc( 67px - 4px );
	}
	.pc-layout02 .box{
		padding-left : 200px;
		padding-right : 200px;
		padding-top : calc( 31px - 1px );
	}
	.pc-layout02 .title{
		font-size : 3rem;
		line-height : 1.0667;
	}
	.pc-layout02 .text{
		font-size : 1.8rem;
		line-height : 1.8889;
	}
	.pc-layout02 .title + .text{
		margin-top : 10px;
	}
}
.pc-layout03 picture img , .sp-layout03 picture img{
	height : auto;
}
.pc-layout03 .title , .sp-layout03 .title{
	letter-spacing : .1em;
	color : #f16d90;
}
.pc-layout03 .title[data-no] , .sp-layout03 .title[data-no]{
	display : flex;
	align-items : baseline;
}
.pc-layout03 .title[data-no]:before , .sp-layout03 .title[data-no]:before{
	content : attr(data-no);
	color : #ccc;
	letter-spacing : 0;
	font-family : "Noto Serif JP", serif;
}
.pc-layout03 .text , .sp-layout03 .text{
	letter-spacing : .1em;
}
.pc-layout03 dt , .pc-layout03 dd , .sp-layout03 dt , .sp-layout03 dd{
	letter-spacing : .1em;
}
.pc-layout03 dl div:not(.flex) dt , .pc-layout03 dl div:not(.flex) dd , .sp-layout03 dl div:not(.flex) dt , .sp-layout03 dl div:not(.flex) dd{
	display : inline;
}
.pc-layout03 dl div:not(.flex) ul , .pc-layout03 dl div:not(.flex) li , .sp-layout03 dl div:not(.flex) ul , .sp-layout03 dl div:not(.flex) li{
	display : inline;
}
.pc-layout03 dl .flex , .sp-layout03 dl .flex{
	display : flex;
	align-items : flex-start;
}
.pc-layout03 dl .flex dt , .sp-layout03 dl .flex dt{
	flex-shrink : 0;
}
.pc-layout03 dd li:not(:last-child):after , .sp-layout03 dd li:not(:last-child):after{
	content : "、";
}
.pc-layout03 .slider , .sp-layout03 .slider{
	font-size : 0;
}
.pc-layout03 .slider img , .sp-layout03 .slider img{
	width : 100%;
	height : auto;
}
.pc-layout03 .slick-dots , .sp-layout03 .slick-dots{
	display : flex;
	align-items : center;
	position : absolute;
	top : 100%;
	width : 100%;
}
.pc-layout03 .slick-dots button , .sp-layout03 .slick-dots button{
	background-color : #ccc;
	font-size : 0;
	position : relative;
	display : block;
}
.pc-layout03 .slick-dots button:before , .sp-layout03 .slick-dots button:before{
	content : "";
	display : block;
	position : absolute;
	left : 0;
	top : 0;
	max-width : 0;
	width : 100%;
	height : 100%;
	background-color : #999;
}
.pc-layout03 .slick-dots .slick-active button:before , .sp-layout03 .slick-dots .slick-active button:before{
	animation : progressbar 5s 0s forwards;
}
.pc-layout03 .pictures , .sp-layout03 .pictures{
	position : relative;
}
.pc-layout03 .pictures li , .sp-layout03 .pictures li{
	z-index : 1;
}
.pc-layout03 .gallery , .sp-layout03 .gallery{
	position : relative;
}
.pc-layout03 .gallery img , .sp-layout03 .gallery img{
	width : 100%;
	height : auto;
}
@media screen and (max-width: 768px){
	.sp-layout03 .wrap{
		padding-left : 0;
		padding-right : 0;
	}
	.sp-layout03 .wrap > picture{
		width : calc( 620 * 100% / 768 );
	}
	.sp-layout03 .wrap > picture img{
		width : 100%;
	}
	.sp-layout03 .box{
		width : calc( 670 * 100% / 768 );
	}
	.sp-layout03 .title{
		font-size : 4.6rem;
		line-height : 1.1304;
	}
	.sp-layout03 .title[data-no]{
		margin-top : calc( -17 * 100vw / 768 );
	}
	.sp-layout03 .title[data-no]:before{
		font-size : 8rem;
		margin-right : calc( 10 * 100% / 666 );
		margin-left : calc( 6 * 100% / 666 );
	}
	.sp-layout03 .title + .text{
		margin-top : calc( 10 * 100vw / 768 );
	}
	.sp-layout03 .text{
		font-size : 2.6rem;
		line-height : 2;
	}
	.sp-layout03 .title[data-no] + .text{
		padding-left : calc( 67 * 100% / 666 );
	}
	.sp-layout03 dt , .sp-layout03 dd{
		font-size : 2.6rem;
		line-height : 2;
	}
	.sp-layout03 .link-more02{
		margin-left : auto;
	}
	.sp-layout03 .text + .link-more02{
		margin-top : calc( ( 30 - 13 ) * 100vw / 768 );
	}
	.sp-layout03 .slider{
		width : calc( 620 * 100% / 768 );
	}
	.sp-layout03 .slider.dots-sp-left .slick-dots{
		justify-content : flex-start;
	}
	.sp-layout03 .slick-dots{
		padding-left : calc( 10 * 100% / 620 );
		padding-right : calc( 10 * 100% / 620 );
		bottom : calc( -14 * 100vw / 768 );
		align-items : flex-end;
	}
	.sp-layout03 .slick-dots li{
		width : calc( 70 * 100% / 600 );
	}
	.sp-layout03 .slick-dots li + li{
		margin-left : calc( 10 * 100% / 720 );
	}
	.sp-layout03 .slick-dots button{
		height : calc( 4 * 100vw / 768 );
		width : 100%;
	}
	.sp-layout03 .pictures > picture img{
		width : 100%;
		height : auto;
	}
	.sp-layout03 .pictures ul{
		display : flex;
		align-items : flex-start;
		justify-content : flex-end;
		margin-top : calc( -86 * 100vw / 768 );
		padding-left : calc( 24 * 100% / 768 );
		padding-right : calc( 24 * 100% / 768 );
	}
	.sp-layout03 .pictures li + li{
		margin-left : calc( 24 * 100% / 720 );
	}
	.sp-layout03 .pictures ul img{
		height : calc( 157 * 100vw / 768 );
	}
	.sp-layout03 .pictures li:nth-last-child(2){
		margin-top : calc( 36 * 100vw / 768 );
	}
	.sp-layout03 .pictures li:nth-last-child(3){
		margin-top : calc( 72 * 100vw / 768 );
	}
	.sp-layout03 .gallery{
		display : -ms-grid;
		display :     grid;
	}
	.sp-layout03 .gallery-pattern01{
		-ms-grid-columns : calc( 335 * 100% / 768 ) calc( 8 * 100% / 768 ) calc( 178 * 100% / 768 ) calc( 9 * 100% / 768 ) calc( 217 * 100% / 768 ) 1fr;
		grid-template-columns : calc( 335 * 100% / 768 ) calc( 8 * 100% / 768 ) calc( 178 * 100% / 768 ) calc( 9 * 100% / 768 ) calc( 217 * 100% / 768 ) 1fr;
		-ms-grid-rows : calc( 34 * 100vw / 768 ) calc( 175 * 100vw / 768 ) calc( 9 * 100vw / 768 ) calc( 176 * 100vw / 768 ) 1fr;
		grid-template-rows : calc( 34 * 100vw / 768 ) calc( 175 * 100vw / 768 ) calc( 9 * 100vw / 768 ) calc( 176 * 100vw / 768 ) 1fr;
	}
	.sp-layout03 .gallery-pattern01 li:nth-child(1){
		-ms-grid-row : 1;
		-ms-grid-row-span : 3;
		    grid-row : 1/4;
		-ms-grid-column : 1;
		-ms-grid-column-span : 1;
		    grid-column : 1/2;
	}
	.sp-layout03 .gallery-pattern01 li:nth-child(2){
		-ms-grid-row : 2;
		-ms-grid-row-span : 1;
		    grid-row : 2/3;
		-ms-grid-column : 3;
		-ms-grid-column-span : 1;
		    grid-column : 3/4;
	}
	.sp-layout03 .gallery-pattern01 li:nth-child(3){
		-ms-grid-row : 2;
		-ms-grid-row-span : 1;
		    grid-row : 2/3;
		-ms-grid-column : 5;
		-ms-grid-column-span : 1;
		    grid-column : 5/6;
	}
	.sp-layout03 .gallery-pattern01 li:nth-child(4){
		-ms-grid-row : 4;
		-ms-grid-row-span : 1;
		    grid-row : 4/5;
		-ms-grid-column : 3;
		-ms-grid-column-span : 1;
		    grid-column : 3/4;
	}
	.sp-layout03 .gallery-pattern01 li:nth-child(5){
		-ms-grid-row : 4;
		-ms-grid-row-span : 2;
		    grid-row : 4/6;
		-ms-grid-column : 5;
		-ms-grid-column-span : 2;
		    grid-column : 5/7;
	}
	.sp-layout03 .wrap > picture + .box{
		padding-top : calc( ( 45 - 3 ) * 100vw / 768 );
	}
	.sp-layout03 .slider + .box{
		padding-top : calc( ( 62 - 3 ) * 100vw / 768 );
	}
	.sp-layout03 .pictures + .box{
		padding-top : calc( ( 47 - 3 ) * 100vw / 768 );
	}
	.sp-layout03 .gallery + .box{
		padding-top : calc( ( 16 - 3 ) * 100vw / 768 );
	}
	.sp-layout03:not(.sp-nobg){
		position : relative;
	}
	.sp-layout03:not(.sp-nobg):before{
		content : "";
		display : block;
		background-color : #fef4f7;
		position : absolute;
		top : 50%;
		z-index : -1;
	}
	.sp-layout03:not(.reverse):not(.sp-reverse):not(.sp-nobg):before{
		width : calc( 648 * 100% / 768 );
		height : calc( 536.5 * 100vw / 768 );
		right : 0;
		top : calc( 200 * 100vw / 768 );
	}
	.sp-layout03:not(.reverse):not(.sp-reverse) .wrap > picture{
		margin-left : calc( 24 * 100% / 768 );
	}
	.sp-layout03:not(.reverse):not(.sp-reverse) .slider{
		margin-left : calc( 24 * 100% / 768 );
	}
	.sp-layout03:not(.reverse):not(.sp-reverse) .box{
		margin-left : calc( 48 * 100% / 768 );
	}
	.sp-layout03.reverse:not(.sp-nobg):before , .sp-layout03.sp-reverse:not(.sp-nobg):before{
		top : calc( 200 * 100vw / 768 );
		left : 0;
		width : calc( 648 * 100% / 768 );
		height : calc( 536.5 * 100vw / 768 );
	}
	.sp-layout03.reverse .wrap > picture , .sp-layout03.sp-reverse .wrap > picture{
		margin-left : auto;
		margin-right : calc( 24 * 100% / 768 );
	}
	.sp-layout03.reverse .slider , .sp-layout03.sp-reverse .slider{
		margin-left : auto;
		margin-right : calc( 24 * 100% / 768 );
	}
	.sp-layout03.reverse .slick-dots , .sp-layout03.sp-reverse .slick-dots{
		justify-content : flex-end;
	}
	.sp-layout03.reverse .box , .sp-layout03.sp-reverse .box{
		margin-left : auto;
		margin-right : calc( 24 * 100% / 768 );
	}
}
@media print,screen and (min-width: 769px){
	.pc-layout03{
		margin-top : 40px;
		margin-bottom : 40px;
	}
	.pc-layout03 .wrap{
		display : flex;
		align-items : center;
		justify-content : space-between;
	}
	.pc-layout03 .wrap > picture{
		width : 620px;
		text-align : center;
		flex-shrink : 0;
	}
	.pc-layout03 .wrap > picture img{
		max-width : 100%;
	}
	.pc-layout03 .box{
		flex-grow : 1;
	}
	.pc-layout03 .title{
		font-size : 3rem;
		line-height : 1.04;
	}
	.pc-layout03 .title[data-no]{
		margin-top : calc( -60px + 31.2px );
	}
	.pc-layout03 .title[data-no]:before{
		margin-left : -18px;
		margin-right : 6px;
		font-size : 6rem;
	}
	.pc-layout03 .text{
		font-size : 1.8rem;
		line-height : 1.8889;
	}
	.pc-layout03 dt , .pc-layout03 dd{
		font-size : 1.8rem;
		line-height : 1.8889;
	}
	.pc-layout03 .title + .text{
		margin-top : 10px;
	}
	.pc-layout03 .slider{
		width : 620px;
		flex-shrink : 0;
		font-size : 0;
	}
	.pc-layout03 .slick-dots{
		padding-left : 10px;
		padding-right : 10px;
		margin-top : 10px;
	}
	.pc-layout03 .slick-dots li + li{
		margin-left : 10px;
	}
	.pc-layout03 .slick-dots button{
		height : 2px;
		width : 70px;
	}
	.pc-layout03:not(.reverse):not(.pc-reverse) .wrap{
		padding-right : 40px;
		padding-left : 0;
	}
	.pc-layout03:not(.reverse):not(.pc-reverse) .box{
		margin-left : 30px;
	}
	.pc-layout03:not(.reverse):not(.pc-reverse) .gallery + .box{
		margin-left : 69px;
	}
	.pc-layout03.reverse .wrap , .pc-layout03.pc-reverse .wrap{
		flex-direction : row-reverse;
		padding-left : 40px;
		padding-right : 0;
	}
	.pc-layout03.reverse .box , .pc-layout03.pc-reverse .box{
		margin-right : 30px;
	}
	.pc-layout03.pc-bg{
		position : relative;
	}
	.pc-layout03.pc-bg:before{
		content : "";
		display : block;
		position : absolute;
		left : 0;
		width : 100%;
		background-color : #fef4f7;
		height : calc( 100% - 50px );
		top : 25px;
		z-index : -1;
	}
}
.sp-layout04 .slider , .pc-layout04 .slider{
	font-size : 0;
}
.sp-layout04 .slider img , .pc-layout04 .slider img{
	width : 100%;
	height : auto;
}
.sp-layout04 .slick-dots , .pc-layout04 .slick-dots{
	display : flex;
	align-items : center;
	position : absolute;
	top : 100%;
	width : 100%;
}
.sp-layout04 .slick-dots button , .pc-layout04 .slick-dots button{
	background-color : #ccc;
	font-size : 0;
	position : relative;
	display : block;
}
.sp-layout04 .slick-dots button:before , .pc-layout04 .slick-dots button:before{
	content : "";
	display : block;
	position : absolute;
	left : 0;
	top : 0;
	max-width : 0;
	width : 100%;
	height : 100%;
	background-color : #999;
}
.sp-layout04 .slick-dots .slick-active button:before , .pc-layout04 .slick-dots .slick-active button:before{
	animation : progressbar 5s 0s forwards;
}
.sp-layout04 .text , .pc-layout04 .text{
	letter-spacing : .1em;
}
.sp-layout04 .open , .pc-layout04 .open{
	border-style : solid;
	border-color : #feeaef;
}
.sp-layout04 .open h2 , .pc-layout04 .open h2{
	border-bottom-style : solid;
	border-bottom-color : #f184a1;
	font-weight : 500;
	letter-spacing : .1em;
}
.sp-layout04 .open dl > div , .pc-layout04 .open dl > div{
	display : flex;
	align-items : baseline;
}
.sp-layout04 .open dt , .sp-layout04 .open dd , .pc-layout04 .open dt , .pc-layout04 .open dd{
	letter-spacing : .1em;
}
.sp-layout04 .open p , .pc-layout04 .open p{
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	.sp-layout04{
		position : relative;
	}
	.sp-layout04:before{
		content : "";
		display : block;
		height : calc( 536 * 100vw / 768 );
		width : calc( 648 * 100% / 768 );
		position : absolute;
		left : 0;
		top : calc( 186 * 100vw / 768 );
		background-color : #fef4f7;
		z-index : -1;
	}
	.sp-layout04 .wrap{
		padding-left : 0;
		padding-right : 0;
	}
	.sp-layout04 .slider{
		width : calc( 620 * 100vw / 768 );
		margin-left : auto;
		margin-right : calc( 24 * 100% / 768 );
	}
	.sp-layout04 .slick-dots{
		padding-left : calc( 10 * 100% / 620 );
		padding-right : calc( 10 * 100% / 620 );
		margin-top : calc( 10 * 100vw / 768 );
		justify-content : flex-end;
	}
	.sp-layout04 .slick-dots li + li{
		margin-left : calc( 10 * 100% / 768 );
	}
	.sp-layout04 .slick-dots button{
		height : calc( 2 * 100vw / 768 );
		width : calc( 70 * 100vw / 768 );
	}
	.sp-layout04 .box{
		width : calc( 672 * 100% / 768 );
		margin-left : auto;
		margin-right : auto;
	}
	.sp-layout04 .slider + .box{
		margin-top : calc( ( 54 - 13 ) * 100vw / 768 );
	}
	.sp-layout04 .text{
		font-size : 2.6rem;
		line-height : 2;
	}
	.sp-layout04 .text + .open{
		margin-top : calc( ( 46 - 13 ) * 100vw / 768 );
	}
	.sp-layout04 .open{
		border-width : calc( 8 * 100vw / 768 );
		width : 100%;
		padding-left : calc( ( 30 - 8 ) * 100% / 768 );
		padding-right : calc( ( 30 - 8 ) * 100% / 768 );
		padding-top : calc( ( 40 - 8 ) * 100vw / 768 );
		padding-bottom : calc( ( 49 - 13 - 8 ) * 100vw / 768 );
	}
	.sp-layout04 .open h2{
		font-size : 3rem;
		border-bottom-width : calc( 3 * 100vw / 768 );
		padding-bottom : calc( 18 * 100vw / 768 );
	}
	.sp-layout04 .open dl{
		margin-top : calc( 15 * 100vw / 768 );
	}
	.sp-layout04 .open dt , .sp-layout04 .open dd{
		font-size : 2.6rem;
		line-height : 2;
	}
	.sp-layout04 .open p{
		font-size : 2.6rem;
		line-height : 2;
	}
}
@media print,screen and (min-width: 769px){
	.pc-layout04{
		margin-top : 40px;
		margin-bottom : 40px;
	}
	.pc-layout04 .wrap{
		display : flex;
		justify-content : space-between;
	}
	.pc-layout04 .slider{
		width : 620px;
		flex-shrink : 0;
		font-size : 0;
	}
	.pc-layout04 .slick-dots{
		padding-left : 10px;
		padding-right : 10px;
		margin-top : 10px;
	}
	.pc-layout04 .slick-dots li + li{
		margin-left : 10px;
	}
	.pc-layout04 .slick-dots button{
		height : 2px;
		width : 70px;
	}
	.pc-layout04 .box{
		flex-grow : 1;
	}
	.pc-layout04 .slider + .box{
		display : flex;
		flex-direction : column;
		justify-content : flex-end;
	}
	.pc-layout04 .text{
		font-size : 1.8rem;
		line-height : 1.8889;
	}
	.pc-layout04 .text + .open{
		margin-top : calc( 28px - 8px );
	}
	.pc-layout04 .open{
		border-width : 5px;
		width : 340px;
		padding-left : calc( 20px - 5px );
		padding-right : calc( 20px - 5px );
		padding-top : calc( 24px - 5px );
		padding-bottom : calc( 30px - 5px - 5px );
	}
	.pc-layout04 .open h2{
		font-size : 2.2rem;
		border-bottom-width : 3px;
		padding-bottom : 10px;
	}
	.pc-layout04 .open dl{
		margin-top : 7px;
	}
	.pc-layout04 .open dt , .pc-layout04 .open dd{
		font-size : 1.8rem;
		line-height : 1.8889;
	}
	.pc-layout04 .open p{
		font-size : 1.4rem;
		line-height : 1.7143;
	}
	.pc-layout04:not(.reverse) .wrap{
		padding-left : 0;
		padding-right : 40px;
	}
	.pc-layout04:not(.reverse) .box{
		margin-left : 30px;
	}
}
.pc-layout05 .wrap > picture img , .sp-layout05 .wrap > picture img{
	width : 100%;
	height : auto;
}
.pc-layout05 .title , .sp-layout05 .title{
	color : #f16d90;
	letter-spacing : .1em;
}
.pc-layout05 .text , .sp-layout05 .text{
	letter-spacing : .1em;
}
.pc-layout05 dl , .sp-layout05 dl{
	display : flex;
	align-items : baseline;
}
.pc-layout05 dt , .pc-layout05 dd , .sp-layout05 dt , .sp-layout05 dd{
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	.sp-layout05{
		margin-top : calc( 148 * 100vw / 768 );
		margin-bottom : calc( 90 * 100vw / 768 );
		background-color : #fef4f7;
	}
	.sp-layout05 .wrap{
		padding-top : calc( 60 * 100vw / 768 );
		padding-bottom : calc( ( 50 - 13 ) * 100vw / 768 );
		padding-left : calc( 64 * 100% / 768 );
		padding-right : calc( 64 * 100% / 768 );
	}
	.sp-layout05 .title{
		font-size : 4.6rem;
		text-align : center;
		text-indent : .1em;
	}
	.sp-layout05 picture{
		width : calc( 500 * 100% / 640 );
		margin-left : auto;
		margin-right : auto;
		margin-top : calc( 50 * 100vw / 768 );
	}
	.sp-layout05 picture + .box{
		margin-left : calc( 20 * 100% / 768 );
	}
	.sp-layout05 .box{
		margin-top : calc( ( 29 - 13 ) * 100vw / 768 );
	}
	.sp-layout05 .text{
		font-size : 2.6rem;
		line-height : 2;
	}
	.sp-layout05 dl{
		justify-content : flex-end;
	}
	.sp-layout05 dt , .sp-layout05 dd{
		font-size : 2.6rem;
		line-height : 2;
	}
}
@media print,screen and (min-width: 769px){
	.pc-layout05{
		margin-top : 40px;
		margin-bottom : 40px;
		background-color : #fef4f7;
	}
	.pc-layout05 .wrap{
		display : -ms-grid;
		display :     grid;
		-ms-grid-columns : 340px 20px 1fr;
		grid-template-columns : 340px 20px 1fr;
	}
	.pc-layout05 .title{
		font-size : 3rem;
		line-height : 1.3;
		-ms-grid-row : 2;
		-ms-grid-row-span : 1;
		    grid-row : 2/3;
		-ms-grid-column : 3;
		-ms-grid-column-span : 1;
		    grid-column : 3/4;
	}
	.pc-layout05 picture{
		-ms-grid-row : 1;
		-ms-grid-row-span : 4;
		    grid-row : 1/5;
		-ms-grid-column : 1;
		-ms-grid-column-span : 1;
		    grid-column : 1/2;
	}
	.pc-layout05 .box{
		flex-grow : 1;
		-ms-grid-row : 3;
		-ms-grid-row-span : 1;
		    grid-row : 3/4;
		-ms-grid-column : 3;
		-ms-grid-column-span : 1;
		    grid-column : 3/4;
	}
	.pc-layout05 .text{
		padding-top : calc( 42px - 4.5px - 8px );
		font-size : 1.8rem;
		line-height : 1.8889;
	}
	.pc-layout05 .text + dl{
		margin-top : 15px;
	}
	.pc-layout05 dt , .pc-layout05 dd{
		font-size : 1.8rem;
		line-height : 1.8889;
	}
}
.sp-layout-gallery , .pc-layout-gallery{
	position : relative;
	overflow : hidden;
}
.sp-layout-gallery:before , .pc-layout-gallery:before{
	content : "";
	display : block;
	background-color : #fef4f7;
	width : 100%;
	position : absolute;
	top : 0;
	left : 0;
	z-index : -1;
}
.sp-layout-gallery .title , .pc-layout-gallery .title{
	letter-spacing : .1em;
	text-indent : .1em;
	color : #f16d90;
	text-align : center;
}
.sp-layout-gallery .text , .pc-layout-gallery .text{
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	.sp-layout-gallery{
		margin-top : calc( 175 * 100vw / 768 );
		margin-bottom : 116px;
	}
	.sp-layout-gallery:before{
		height : calc( 480 * 100vw / 768 );
	}
	.sp-layout-gallery .wrap{
		padding-top : calc( ( 103 - 3 ) * 100vw / 768 );
		padding-left : 0;
		padding-right : 0;
	}
	.sp-layout-gallery .title{
		font-size : 4.6rem;
		line-height : 1.1304;
		padding-left : calc( 48 * 100% / 768 );
		padding-right : calc( 48 * 100% / 768 );
	}
	.sp-layout-gallery .text{
		margin-top : calc( 10 * 100vw / 768 );
		font-size : 2.6rem;
		line-height : 2;
		padding-left : calc( 48 * 100% / 768 );
		padding-right : calc( 48 * 100% / 768 );
	}
	.sp-layout-gallery ul{
		display : -ms-grid;
		display :     grid;
		margin-top : calc( ( 95 - 13 ) * 100vw / 768 );
	}
	.sp-layout-gallery ul img{
		width : 100%;
		height : auto;
	}
	.sp-layout-gallery .gallery01{
		-ms-grid-columns : calc( 13 * 100% / 768 ) calc( 58 * 100% / 768 ) calc( 222 * 100% / 768 ) calc( 11 * 100% / 768 ) calc( 144 * 100% / 768 ) calc( 7 * 100% / 768 ) calc( 236 * 100% / 768 ) calc( 63 * 100% / 768 ) 1fr;
		grid-template-columns : calc( 13 * 100% / 768 ) calc( 58 * 100% / 768 ) calc( 222 * 100% / 768 ) calc( 11 * 100% / 768 ) calc( 144 * 100% / 768 ) calc( 7 * 100% / 768 ) calc( 236 * 100% / 768 ) calc( 63 * 100% / 768 ) 1fr;
		-ms-grid-rows : calc( 195 * 100vw / 768 ) calc( 11 * 100vw / 768 ) calc( 105 * 100vw / 768 ) calc( 13 * 100vw / 768 ) calc( 103 * 100vw / 768 ) calc( 10 * 100vw / 768 ) calc( 186 * 100vw / 768 ) calc( 9 * 100vw / 768 ) calc( 224 * 100vw / 768 ) calc( 7 * 100vw / 768 ) calc( 68 * 100vw / 768 ) calc( 135 * 100vw / 768 );
		grid-template-rows : calc( 195 * 100vw / 768 ) calc( 11 * 100vw / 768 ) calc( 105 * 100vw / 768 ) calc( 13 * 100vw / 768 ) calc( 103 * 100vw / 768 ) calc( 10 * 100vw / 768 ) calc( 186 * 100vw / 768 ) calc( 9 * 100vw / 768 ) calc( 224 * 100vw / 768 ) calc( 7 * 100vw / 768 ) calc( 68 * 100vw / 768 ) calc( 135 * 100vw / 768 );
	}
	.sp-layout-gallery .gallery01 li:nth-child(1){
		-ms-grid-row : 1;
		-ms-grid-row-span : 1;
		    grid-row : 1/2;
		-ms-grid-column : 1;
		-ms-grid-column-span : 3;
		    grid-column : 1/4;
	}
	.sp-layout-gallery .gallery01 li:nth-child(2){
		-ms-grid-row : 1;
		-ms-grid-row-span : 3;
		    grid-row : 1/4;
		-ms-grid-column : 5;
		-ms-grid-column-span : 4;
		    grid-column : 5/9;
	}
	.sp-layout-gallery .gallery01 li:nth-child(3){
		-ms-grid-row : 3;
		-ms-grid-row-span : 2;
		    grid-row : 3/5;
		-ms-grid-column : 3;
		-ms-grid-column-span : 1;
		    grid-column : 3/4;
	}
	.sp-layout-gallery .gallery01 li:nth-child(4){
		-ms-grid-row : 5;
		-ms-grid-row-span : 2;
		    grid-row : 5/7;
		-ms-grid-column : 5;
		-ms-grid-column-span : 4;
		    grid-column : 5/9;
	}
	.sp-layout-gallery .gallery01 li:nth-child(5){
		-ms-grid-row : 7;
		-ms-grid-row-span : 1;
		    grid-row : 7/8;
		-ms-grid-column : 2;
		-ms-grid-column-span : 2;
		    grid-column : 2/4;
	}
	.sp-layout-gallery .gallery01 li:nth-child(7){
		-ms-grid-row : 9;
		-ms-grid-row-span : 3;
		    grid-row : 9/12;
		-ms-grid-column : 1;
		-ms-grid-column-span : 5;
		    grid-column : 1/6;
	}
	.sp-layout-gallery .gallery01 li:nth-child(8){
		-ms-grid-row : 9;
		-ms-grid-row-span : 1;
		    grid-row : 9/10;
		-ms-grid-column : 7;
		-ms-grid-column-span : 2;
		    grid-column : 7/9;
	}
	.sp-layout-gallery .gallery01 li:nth-child(9){
		-ms-grid-row : 11;
		-ms-grid-row-span : 1;
		    grid-row : 11/12;
		-ms-grid-column : 7;
		-ms-grid-column-span : 1;
		    grid-column : 7/8;
	}
}
@media print,screen and (min-width: 769px){
	.pc-layout-gallery{
		margin-top : 40px;
		margin-bottom : 40px;
	}
	.pc-layout-gallery:before{
		height : 400px;
	}
	.pc-layout-gallery .wrap{
		padding-top : calc( 94px - 4.5px );
		padding-left : 0;
		padding-right : 0;
	}
	.pc-layout-gallery .title{
		font-size : 3rem;
		line-height : 1.3;
	}
	.pc-layout-gallery .text{
		text-indent : .1em;
		text-align : center;
		font-size : 1.8rem;
		line-height : 1.8889;
		margin-top : 10px;
	}
	.pc-layout-gallery ul{
		position : relative;
		margin-top : calc( 76px - 8px );
	}
	.pc-layout-gallery li{
		position : absolute;
	}
	.pc-layout-gallery .gallery01{
		height : 740px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(1){
		top : 62px;
		left : -102px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(1) img{
		height : 195px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(2){
		top : 0;
		left : 202px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(2) img{
		height : 257px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(3){
		top : 0;
		left : 580px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(3) img{
		height : 221px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(4){
		top : 117px;
		left : 811px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(4) img{
		height : 300px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(5){
		top : 231px;
		left : 521px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(5) img{
		height : 187px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(6){
		top : 267px;
		left : -102px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(6) img{
		height : 300px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(7){
		top : 427px;
		left : 269px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(7) img{
		height : 266px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(8){
		top : 427px;
		left : 675px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(8) img{
		height : 312px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(9){
		top : 427px;
		left : 1101px;
	}
	.pc-layout-gallery .gallery01 li:nth-child(9) img{
		height : 149px;
	}
}
.sp-layout-price .text , .sp-layout-price li , .sp-layout-price dt , .sp-layout-price dd , .pc-layout-price .text , .pc-layout-price li , .pc-layout-price dt , .pc-layout-price dd{
	letter-spacing : .1em;
}
.sp-layout-price .dot , .pc-layout-price .dot{
	display : flex;
	flex-wrap : wrap;
}
.sp-layout-price .dot > li , .pc-layout-price .dot > li{
	width : 50%;
	display : flex;
	align-items : flex-start;
}
.sp-layout-price .dot > li:before , .pc-layout-price .dot > li:before{
	content : "・";
	flex-shrink : 0;
	width : 1em;
	text-align : center;
}
.sp-layout-price .no > li , .pc-layout-price .no > li{
	position : relative;
	padding-left : 1.25em;
}
.sp-layout-price .no > li:before , .pc-layout-price .no > li:before{
	position : absolute;
	top : 0;
	left : 0;
	display : block;
}
.sp-layout-price .no > li:nth-child(1):before , .pc-layout-price .no > li:nth-child(1):before{
	content : "①";
}
.sp-layout-price .no > li:nth-child(2):before , .pc-layout-price .no > li:nth-child(2):before{
	content : "②";
}
.sp-layout-price .no > li:nth-child(3):before , .pc-layout-price .no > li:nth-child(3):before{
	content : "③";
}
.sp-layout-price .no > li:nth-child(4):before , .pc-layout-price .no > li:nth-child(4):before{
	content : "④";
}
.sp-layout-price .no > li:nth-child(5):before , .pc-layout-price .no > li:nth-child(5):before{
	content : "⑤";
}
.sp-layout-price .no > li:nth-child(6):before , .pc-layout-price .no > li:nth-child(6):before{
	content : "⑥";
}
.sp-layout-price .no > li:nth-child(7):before , .pc-layout-price .no > li:nth-child(7):before{
	content : "⑦";
}
.sp-layout-price .no > li:nth-child(8):before , .pc-layout-price .no > li:nth-child(8):before{
	content : "⑧";
}
.sp-layout-price .no > li:nth-child(9):before , .pc-layout-price .no > li:nth-child(9):before{
	content : "⑨";
}
.sp-layout-price .no > li:nth-child(10):before , .pc-layout-price .no > li:nth-child(10):before{
	content : "⑩";
}
.sp-layout-price .no span , .pc-layout-price .no span{
	display : block;
	letter-spacing : .1em;
}
.sp-layout-price .sp-tab-controller a , .pc-layout-price .sp-tab-controller a{
	font-weight : 500;
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	width : 100%;
}
.sp-layout-price .sp-tab p , .pc-layout-price .sp-tab p{
	letter-spacing : .1em;
}
.sp-layout-price table , .pc-layout-price table{
	width : 100%;
}
.sp-layout-price tbody th , .sp-layout-price tbody td , .pc-layout-price tbody th , .pc-layout-price tbody td{
	letter-spacing : .1em;
}
.sp-layout-price tbody th , .pc-layout-price tbody th{
	display : flex;
	justify-content : space-between;
}
.sp-layout-price tbody td , .pc-layout-price tbody td{
	text-align : center;
	text-indent : .1em;
}
.sp-layout-price .table01 thead th > span , .pc-layout-price .table01 thead th > span{
	background-color : #d0d0c6;
	width : 100%;
	display : flex;
	align-items : center;
}
.sp-layout-price .table01 thead th:first-of-type > span , .pc-layout-price .table01 thead th:first-of-type > span{
	justify-content : space-between;
}
.sp-layout-price .table01 thead th:first-of-type span span , .pc-layout-price .table01 thead th:first-of-type span span{
	white-space : nowrap;
}
.sp-layout-price .table01 thead th:first-of-type span span:first-of-type , .pc-layout-price .table01 thead th:first-of-type span span:first-of-type{
	letter-spacing : .1em;
	text-indent : .1em;
}
.sp-layout-price .table01 thead th:not(:first-of-type) > span , .pc-layout-price .table01 thead th:not(:first-of-type) > span{
	justify-content : center;
	letter-spacing : .1em;
	text-indent : .1em;
}
.sp-layout-price .table01 tbody tr:nth-of-type(even) th , .sp-layout-price .table01 tbody tr:nth-of-type(even) td , .pc-layout-price .table01 tbody tr:nth-of-type(even) th , .pc-layout-price .table01 tbody tr:nth-of-type(even) td{
	background-color : rgba(245,244,233,.4);
}
.sp-layout-price .table02 thead th span , .pc-layout-price .table02 thead th span{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	background-color : #d0d0c6;
}
.sp-layout-price .table02 tbody tr:nth-of-type(odd) th , .sp-layout-price .table02 tbody tr:nth-of-type(odd) td , .pc-layout-price .table02 tbody tr:nth-of-type(odd) th , .pc-layout-price .table02 tbody tr:nth-of-type(odd) td{
	background-color : rgba(245,244,233,.4);
}
.sp-layout-price .type , .pc-layout-price .type{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	letter-spacing : .1em;
	text-indent : .1em;
	flex-shrink : 0;
}
.sp-layout-price .type-r , .pc-layout-price .type-r{
	background-color : #f93;
}
.sp-layout-price .type-s2 , .pc-layout-price .type-s2{
	background-color : #cf3;
}
.sp-layout-price .type-s , .pc-layout-price .type-s{
	background-color : #9c0;
}
.sp-layout-price figure figcaption , .pc-layout-price figure figcaption{
	letter-spacing : .1em;
}
.sp-layout-price figure dl > div , .pc-layout-price figure dl > div{
	display : flex;
	align-items : flex-start;
}
.sp-layout-price figure dd , .pc-layout-price figure dd{
	letter-spacing : .1em;
}
.sp-layout-price .box .dl03 > div , .pc-layout-price .box .dl03 > div{
	border-top-style : dotted;
	border-top-color : #ccc;
}
.sp-layout-price .box02 , .pc-layout-price .box02{
	border-style : dotted;
	border-color : #f184a1;
}
.sp-layout-price .box02 h3 , .pc-layout-price .box02 h3{
	text-align : center;
	letter-spacing : .1em;
	text-indent : .1em;
}
.sp-layout-price .box02 dl > div , .pc-layout-price .box02 dl > div{
	display : flex;
	align-items : flex-start;
}
.sp-layout-price .box02 dt , .sp-layout-price .box02 dd , .pc-layout-price .box02 dt , .pc-layout-price .box02 dd{
	letter-spacing : .1em;
}
.sp-layout-price .dl02 > div + div , .pc-layout-price .dl02 > div + div{
	border-top-style : dotted;
	border-top-color : #ccc;
}
.sp-layout-price .dl02 dt , .sp-layout-price .dl02 dd , .sp-layout-price .dl02 p , .pc-layout-price .dl02 dt , .pc-layout-price .dl02 dd , .pc-layout-price .dl02 p{
	letter-spacing : .1em;
}
.sp-layout-price .dl02 dl > div , .pc-layout-price .dl02 dl > div{
	display : flex;
	align-items : flex-start;
}
@media screen and (max-width: 768px){
	.sp-layout-price .text , .sp-layout-price .box li , .sp-layout-price .box dt , .sp-layout-price .box dd{
		font-size : 2.6rem;
		line-height : 2;
	}
	.sp-layout-price .title05{
		margin-bottom : calc( ( 29 - 13 ) * 100vw / 768 );
	}
	.sp-layout-price .title05 + .text{
		padding-left : calc( 24 * 100% / 720 );
		padding-right : calc( 24 * 100% / 720 );
	}
	.sp-layout-price.pc-column02 .wrap > div:nth-of-type(n+3){
		margin-top : calc( ( 66 - 8 ) * 100vw / 768 );
	}
	.sp-layout-price .no span{
		font-size : 2.6rem;
		line-height : 2;
	}
	.sp-layout-price .box + .box{
		margin-top : calc( ( 113 - 13 ) * 100vw / 768 );
	}
	.sp-layout-price .box ul , .sp-layout-price .box > p , .sp-layout-price .box dl > div{
		padding-left : calc( 24 * 100% / 720 );
		padding-right : calc( 24 * 100% / 720 );
	}
	.sp-layout-price .box dt span{
		font-size : 2.6rem;
		line-height : 2;
	}
	.sp-layout-price .box .dl01 dt , .sp-layout-price .box .dl01 dd{
		display : inline;
	}
	.sp-layout-price .box .dl01 dd{
		padding-left : 1em;
	}
	.sp-layout-price .box .text + .dl03{
		margin-top : calc( ( 50 - 13 ) * 100vw / 768 );
	}
	.sp-layout-price .box .dl03 > div{
		padding-top : calc( ( 48 - 13 ) * 100vw / 768 );
		border-top-width : calc( 3 * 100vw / 768 );
	}
	.sp-layout-price .box .dl03 > div + div{
		margin-top : calc( ( 48 -13 ) * 100vw / 768 );
	}
	.sp-layout-price .box .dl03 dt{
		font-weight : 700;
	}
	.sp-layout-price .sp-tab-controller{
		margin-top : calc( ( 42 - 13 ) * 100vw / 768 );
		display : flex;
		justify-content : center;
	}
	.sp-layout-price .sp-tab-controller > li{
		width : calc( 325 * 100% / 720 );
	}
	.sp-layout-price .sp-tab-controller a{
		font-size : 2.2rem;
		height : calc( 60 * 100vw / 768 );
	}
	.sp-layout-price .sp-tab-controller li.is-active a{
		color : #fff;
		background-color : #f184a1;
	}
	.sp-layout-price .sp-tab-controller li.is-active a:before{
		content : "";
		display : block;
		background : url("../images/ui/icon/check02.png") 0 0  / contain no-repeat;
		margin-right : 13px;
		flex-shrink : 0;
		width : 24px;
		height : 19px;
	}
	.sp-layout-price .sp-tab-controller li:not(.is-active) a{
		background-color : #f5f4e9;
		color : #999;
	}
	.sp-layout-price .sp-tab{
		margin-top : calc( 36 * 100vw / 768 );
	}
	.sp-layout-price .sp-tab > li:not(.is-active){
		display : none;
	}
	.sp-layout-price .sp-tab p{
		text-indent : .1em;
		font-size : 2.6rem;
		margin-top : calc( 14 * 100vw / 768 );
		padding-left : calc( 24 * 100% / 720 );
		padding-right : calc( 24 * 100% / 720 );
		text-align: right;
	}
	.sp-layout-price .table01 thead th:first-of-type{
		width : calc( 160 * 100% / 720 );
	}
	.sp-layout-price .table01 thead th:first-of-type > span{
		padding-left : calc( 22 * 100% / 160 );
		padding-right : calc( 6 * 100% / 160 );
	}
	.sp-layout-price .table01 thead th:first-of-type span span:first-of-type{
		font-size : 2.6rem;
	}
	.sp-layout-price .table01 thead th:first-of-type span span:nth-of-type(2){
		font-size : 1.6rem;
	}
	.sp-layout-price .table01 thead th:nth-of-type(2){
		width : calc( 145 * 100% / 720 );
		padding-left : calc( 10 * 100% / 720 );
		padding-right : calc( 5 * 100% / 720 );
	}
	.sp-layout-price .table01 thead th:nth-of-type(3) , .sp-layout-price .table01 thead th:nth-of-type(4){
		width : calc( 140 * 100% / 720 );
		padding-left : calc( 5 * 100% / 720 );
		padding-right : calc( 5 * 100% / 720 );
	}
	.sp-layout-price .table01 thead th:last-of-type{
		width : calc( 135 * 100% / 720 );
		padding-left : calc( 5 * 100% / 720 );
	}
	.sp-layout-price .table01 thead th > span{
		height : calc( 60 * 100vw / 768 );
		border-radius : calc( 6 * 100vw / 768 );
	}
	.sp-layout-price .table02 thead th span{
		height : calc( 60 * 100vw / 768 );
		font-size : 2.6rem;
		border-radius : calc( 6 * 100vw / 768 );
	}
	.sp-layout-price .table02 thead th:nth-of-type(1){
		padding-right : calc( 3 * 100% / 720 );
		width : calc( 260 * 100% / 720 );
	}
		.sp-layout-price.pricetype02 .table02 thead th:nth-of-type(1){
			padding-right : calc( 3 * 100% / 720 );
			width : calc( 450 * 100% / 720 );
		}
	.sp-layout-price .table02 thead th:nth-of-type(2){
		padding-left : calc( 3 * 100% / 720 );
	}
	.sp-layout-price tbody th , .sp-layout-price tbody td{
		padding-top : calc( 16.5 * 100vw / 768 );
		padding-bottom : calc( 16.5 * 100vw / 768 );
		font-size : 2.3rem;
		letter-spacing:0 !important;
	}
	.sp-layout-price tbody th{
		padding-right : calc( 15 * 100% / 160 );
	}
	.sp-layout-price tbody td{
		border-left : calc( 1 * 100% / 768 ) solid #ccc;
	}
	.sp-layout-price .type{
		width : 2rem;
		width : calc( 30 * 100vw / 768 );
		height : calc( 30 * 100vw / 768 );
	}
	.sp-layout-price figure{
		margin-top : calc( 24 * 100vw / 768 );
		padding-left : calc( 24 * 100% / 720 );
		padding-right : calc( 24 * 100% / 720 );
	}
	.sp-layout-price figure figcaption{
		font-size : 2.4rem;
	}
	.sp-layout-price figure dl{
		margin-top : calc( 24 * 100vw / 768 );
	}
	.sp-layout-price figure dl > div + div{
		margin-top : calc( 7 * 100vw / 768 );
	}
	.sp-layout-price figure dt{
		flex-shrink : 0;
		margin-right : calc( 7 * 100% / 672 );
	}
	.sp-layout-price figure dd{
		font-size : 2.4rem;
		line-height : 1.25;
	}
	.sp-layout-price .box02{
		margin-top : calc( ( 51 - 3 ) * 100vw / 768 );
		border-width : calc( 3 * 100vw / 768 );
		padding-top : calc( 42 * 100vw / 768 );
		padding-bottom : calc( 41 * 100vw / 768 );
	}
	.sp-layout-price .box02 h3{
		font-size : 3rem;
	}
	.sp-layout-price .box02 h3 span{
		display : block;
		text-align : center;
		font-size : 3rem;
		margin-top : calc( ( 15 + 22 ) * 100vw / 768 );
	}
	.sp-layout-price .box02 dl{
	}
	.sp-layout-price .box02 dl > div{
		margin-top : calc( 22 * 100% / 768 );
		justify-content : center;
	}
	.sp-layout-price .box02 dt , .sp-layout-price .box02 dd{
		font-size : 3rem;
	}
	.sp-layout-price .dl02{
		margin-top : calc( ( 50 - 13 - 13 ) * 100vw / 768 );
		padding-left : calc( 24 * 100% / 768 );
		padding-right : calc( 24 * 100% / 768 );
	}
	.sp-layout-price .dl02 dt , .sp-layout-price .dl02 dd , .sp-layout-price .dl02 p{
		font-size : 2.6rem;
		line-height : 2;
	}
	.sp-layout-price .dl02 > div + div{
		border-top-width : calc( 3 * 100vw / 768 );
		margin-top : calc( ( 40 - 13 ) * 100vw / 768 );
		padding-top : calc( ( 40 - 13 ) * 100vw / 768 );
	}
	.sp-layout-price .dl02 > div > dt{
		font-weight : 700;
	}
	.sp-layout-price .dl02 .pc-flex dl{
		padding-left : 1.2em;
		position : relative;
	}
	.sp-layout-price .dl02 .pc-flex dl:before{
		position : absolute;
		left : 0;
		top : 0;
	}
	.sp-layout-price .dl02 .pc-flex dl div + div{
		padding-left : 1em;
	}
	.sp-layout-price .dl02 .pc-flex div , .sp-layout-price .dl02 .pc-flex dt , .sp-layout-price .dl02 .pc-flex dd{
		display : inline;
	}
	.sp-layout-price .dl02 .pc-flex dt , .sp-layout-price .dl02 .pc-flex dd{
		line-height : 1;
	}
}
@media print,screen and (min-width: 769px){
	.pc-layout-price{
		margin-top : 72px;
		margin-bottom : 72px;
	}
	.pc-layout-price .text , .pc-layout-price .box li , .pc-layout-price .box dt , .pc-layout-price .box dd{
		font-size : 1.8rem;
		line-height : 1.8889;
	}
	.pc-layout-price .text.pc-center{
		text-align : center;
		text-indent : .1em;
	}
	.pc-layout-price .title05{
		margin-bottom : calc( 20px - 7.5px );
	}
	.pc-layout-price.pc-column02 .wrap{
		display : flex;
		flex-wrap : wrap;
		justify-content : space-between;
	}
	.pc-layout-price.pc-column02 .wrap > div:nth-of-type(n+3){
		margin-top : calc( 66px - 8px );
	}
	.pc-layout-price.pc-column02 .box{
		width : 520px;
	}
	.pc-layout-price .no span{
		font-size : 1.4rem;
		line-height : 1.8571;
	}
	.pc-layout-price .box dl > div{
		display : flex;
	}
	.pc-layout-price .box .dl01 dt , .pc-layout-price .box .dl01 dd{
		width : 50%;
	}
	.pc-layout-price .box .dl01 dt span{
		font-size : 1.4rem;
		line-height : 1.8571;
	}
	.pc-layout-price .box .dl01 dd{
		padding-left : 1em;
	}
	.pc-layout-price .box .text + .dl03{
		margin-top : calc( 17px - 8px );
	}
	.pc-layout-price .box .dl03 > div{
		border-top-width : 1px;
		padding-top : calc( 15px - 4.5px );
		padding-bottom : calc( 15px - 4.5px );
	}
	.pc-layout-price .box .dl03 dt , .pc-layout-price .box .dl03 dd{
		line-height : 1.5;
	}
	.pc-layout-price .box .dl03 dt{
		flex-shrink : 0;
		width : 192px;
	}
	.pc-layout-price .sp-tab-controller{
		margin-top : calc( 36px - 8px );
		display : flex;
		justify-content : space-between;
	}
	.pc-layout-price .sp-tab-controller > li{
		width : 520px;
	}
	.pc-layout-price .sp-tab-controller a{
		font-size : 2.2rem;
	}
	.pc-layout-price .sp-tab-controller a:before , .pc-layout-price .sp-tab-controller a:after{
		content : " － ";
		flex-shrink : 0;
	}
	.pc-layout-price .sp-tab{
		margin-top : 28px;
		display : flex;
		justify-content : space-between;
	}
	.pc-layout-price .sp-tab > li{
		width : 520px;
	}
	.pc-layout-price .sp-tab p{
		text-align : center;
		text-indent : .1em;
		font-size : 1.8rem;
		margin-top : 14px;
	}
	.pc-layout-price thead th{
		padding-bottom : 4px;
	}
	.pc-layout-price tbody th , .pc-layout-price tbody td{
		padding-top : 14px;
		padding-bottom : 14px;
		font-size : 1.6rem;
	}
	.pc-layout-price tbody th{
		padding-left : 6px;
		padding-right : 14px;
	}
	.pc-layout-price tbody td{
		border-left : 1px solid #ccc;
	}
		.pc-layout-price tbody td.name{
			border-left : none !important;
			font-weight: 500;
		}
	.pc-layout-price .table01 thead th:first-of-type{
		width : 126px;
		padding-right : 6px;
	}
	.pc-layout-price .table01 thead th:first-of-type > span{
		padding-left : 30px;
		padding-right : 8px;
	}
	.pc-layout-price .table01 thead th:first-of-type span span:first-of-type{
		font-size : 1.4rem;
	}
	.pc-layout-price .table01 thead th:first-of-type span span:nth-of-type(2){
		font-size : 1rem;
	}
	.pc-layout-price .table01 thead th:not(:first-of-type){
		width : 97px;
		padding-left : 6px;
		padding-right : 6px;
	}
	.pc-layout-price .table01 thead th > span{
		height : 30px;
		border-radius : 6px;
	}
	.pc-layout-price .table02 thead span{
		height : 30px;
		border-radius : 6px;
	}
	.pc-layout-price .table02 thead th:nth-of-type(1){
		padding-right : 8px;
		width : 200px;
	}
		.sp-layout-price.pricetype02 .table02 thead th:nth-of-type(1){
			padding-right : 8px;
			width : 320px;
		}	
	.pc-layout-price .table02 thead th + th{
		padding-left : 8px;
	}
	.pc-layout-price .type{
		width : 1.4rem;
		width : 30px;
		height : 22px;
	}
	.pc-layout-price figure{
		margin-top : 28px;
		display : flex;
		align-items : flex-start;
	}
	.pc-layout-price figure figcaption{
		font-size : 1.4rem;
		margin-right : 14px;
		flex-shrink : 0;
		margin-top : 4px;
	}
	.pc-layout-price figure dl{
		flex-grow : 1;
		display : flex;
		flex-wrap : wrap;
	}
	.pc-layout-price figure dl > div:first-of-type{
		width : 100%;
		margin-bottom : 5px;
	}
	.pc-layout-price figure dl > div:nth-of-type(3){
		margin-left : 8px;
	}
	.pc-layout-price figure dt{
		flex-shrink : 0;
		margin-right : 12px;
	}
	.pc-layout-price figure dd{
		font-size : 1.4rem;
		padding-top : 4px;
	}
	.pc-layout-price .box02{
		margin-top : 40px;
		border-width : 1px;
		padding-top : 40px;
		padding-bottom : 34px;
	}
	.pc-layout-price .box02 dl{
		display : flex;
		justify-content : center;
	}
	.pc-layout-price .box02 h3{
		font-size : 2.2rem;
	}
	.pc-layout-price .box02 dl{
		margin-top : 22px;
	}
	.pc-layout-price .box02 dl > div + div{
		margin-left : 22px;
	}
	.pc-layout-price .box02 dt , .pc-layout-price .box02 dd{
		font-size : 2.2rem;
	}
	.pc-layout-price .dl02{
		margin-top : calc( 35px - 8px - 4.5px );
	}
	.pc-layout-price .dl02 dt , .pc-layout-price .dl02 dd , .pc-layout-price .dl02 p{
		font-size : 1.8rem;
		line-height : 1.5;
	}
	.pc-layout-price .dl02 > div{
		display : flex;
		align-items : flex-start;
	}
	.pc-layout-price .dl02 > div + div{
		border-top-width : 1px;
		margin-top : calc( 18px - 4.5px );
		padding-top : calc( 18px - 4.5px );
	}
	.pc-layout-price .dl02 > div > dt{
		flex-wrap : 0;
		width : 210px;
	}
	.pc-layout-price .dl02 .pc-flex{
		display : flex;
		align-items : flex-start;
	}
	.pc-layout-price .dl02 .pc-flex p{
		margin-right : 1em;
		flex-shrink : 0;
	}
	.pc-layout-price .dl02 .pc-flex dl{
		display : flex;
		align-items : flex-start;
	}
	.pc-layout-price .dl02 .pc-flex dl div + div:before{
		content : "、";
	}
}
.sp-layout-comment , .pc-layout-comment{
	position : relative;
}
.sp-layout-comment:before , .pc-layout-comment:before{
	content : "";
	display : block;
	position : absolute;
	background-color : #fef4f7;
	z-index : -1;
}
.sp-layout-comment .title , .sp-layout-comment .text , .pc-layout-comment .title , .pc-layout-comment .text{
	letter-spacing : .1em;
}
.sp-layout-comment .title , .pc-layout-comment .title{
	color : #f16d90;
}
@media screen and (max-width: 768px){
	.sp-layout-comment{
		margin-top : calc( 55 * 100vw / 768 );
		margin-bottom : calc( ( 138 - 13 ) * 100vw / 768 );
	}
	.sp-layout-comment:before{
		height : calc( 536 * 100vw / 768 );
		left : calc( 24 * 100% / 768 );
		top : calc( 262 * 100vw / 768 );
		width : calc( 648 * 100% / 768 );
	}
	.sp-layout-comment picture{
		width : calc( 613 * 100% / 720 );
		margin-left : auto;
	}
	.sp-layout-comment .box{
		padding-left : calc( 24 * 100% / 720 );
		padding-right : calc( 24 * 100% / 720 );
		margin-top : calc( ( 34 - 3 ) * 100vw / 768 );
	}
	.sp-layout-comment .title{
		font-size : 4.6rem;
		line-height : 1.1304;
	}
	.sp-layout-comment .text{
		font-size : 2.6rem;
		line-height : 2;
	}
	.sp-layout-comment .title + .text{
		margin-top : calc( 10 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	.pc-layout-comment{
		margin-top : calc( 58px - .6px );
		margin-bottom : calc( 69px - 6px );
	}
	.pc-layout-comment:before{
		width : 100%;
		height : 410px;
		top : 50%;
		margin-top : -205px;
		left : 0;
	}
	.pc-layout-comment .wrap{
		display : flex;
		align-items : center;
		flex-direction : row-reverse;
		padding-left : 60px;
		padding-right : 0;
	}
	.pc-layout-comment .title{
		font-size : 3rem;
		line-height : 1.04;
	}
	.pc-layout-comment .text{
		font-size : 1.8rem;
		line-height : 1.8889;
	}
	.pc-layout-comment .title + .text{
		margin-top : 10px;
	}
	.pc-layout-comment picture{
		flex-shrink : 0;
		width : 501px;
		margin-left : 31px;
	}
}
/*--------------------------------------------
APPLY
---------------------------------------------*/
#apply-ledes p{
	letter-spacing : .1em;
}
#apply-ledes a{
	text-decoration : underline;
}
@media screen and (max-width: 768px){
	#apply-ledes .wrap{
		padding-top : calc( ( 34 - 13 ) * 100vw / 768 );
		padding-bottom : calc( ( 88 - 13 ) * 100vw / 768 );
		padding-left : calc( 48 * 100% / 768 );
		padding-right : calc( 48 * 100% / 768 );
	}
	#apply-ledes p{
		font : 2.6rem;
		line-height : 2;
	}
	#apply-ledes p + p{
		margin-top : calc( ( 35 - 13 - 13 ) * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#apply-ledes .wrap{
		padding-top : calc( 28px - 6px );
		padding-bottom : calc( 20px - 6px );
	}
	#apply-ledes p{
		text-align : center;
		font : 1.6rem;
		line-height : 1.75;
		text-indent : .1em;
	}
	#apply-ledes p + p{
		margin-top : calc( 28px - 6px - 6px );
	}
}
@media screen and (max-width: 768px){
	#apply .wrap{
		padding-bottom : calc( 117 * 100vw / 768 );
	}
	#apply .fieldset01{
		padding-bottom : calc( 120 * 100vw / 768 );
	}
	#apply .fieldset02{
		padding-bottom : calc( 110 * 100vw / 768 );
	}
	#apply .fieldset03{
		padding-bottom : calc( 146 * 100vw / 768 );
	}
	#apply .fieldset04{
		padding-bottom : calc( 68 * 100vw / 768 );
	}
	#apply .fieldset05{
		padding-bottom : calc( 137 * 100vw / 768 );
	}
	#apply .fieldset06{
		padding-bottom : calc( 129 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#apply .wrap{
		padding-bottom : 76px;
	}
	#apply .fieldset01{
		padding-bottom : calc( 106px - 20px );
	}
	#apply .fieldset02{
		padding-bottom : calc( 89px - 20px );
	}
	#apply .fieldset03{
		padding-bottom : calc( 89px - 20px );
	}
	#apply .fieldset04{
		padding-bottom : calc( 85px - 20px );
	}
	#apply .fieldset05{
		padding-bottom : calc( 105px - 20px );
	}
	#apply .fieldset06{
		padding-bottom : 73px;
	}
}
/*--------------------------------------------
CONTACT
---------------------------------------------*/
#apply-ledes .tel-contact li {
	align-items: center;
	display: flex;
	letter-spacing: .15em;
}
#apply-ledes .tel-contact li:before {
	content: '';
}
#apply-ledes .tel-contact a {
	text-decoration: none;
}
@media screen and (max-width: 768px){
	#apply-ledes .tel-contact {
		margin: calc( 30 * 100vw / 768 ) 0;
	}
	#apply-ledes .tel-contact li {
		font-size: 6.88rem;
	}
	#apply-ledes .tel-contact li + li {
		margin-top: calc( 10 * 100vw / 768 );
	}
	#apply-ledes .tel-contact li:before {
		margin-right: calc( 20 * 100vw / 768 );
	}
	#apply-ledes .tel-contact .tel:before {
		background: url(/assets/images/ui/icon/tel01.png) no-repeat center center/ contain;
		height: calc( 49 * 100vw / 768 );
		width: calc( 50 * 100% / 672 );
	}
	#apply-ledes .tel-contact .fax:before {
		background: url(/assets/images/ui/icon/fax01.png) no-repeat center center/ contain;
		height: calc( 49 * 100vw / 768 );
		width: calc( 50 * 100% / 672 );
	}
}
@media print,screen and (min-width: 769px){
	#apply-ledes .tel-contact {
		display: flex;
		justify-content: center;
		margin: 30px 0 25px;
	}
	#apply-ledes .tel-contact li {
		font-size: 4rem;
	}
	#apply-ledes .tel-contact li + li {
		margin-left: 35px;
	}
	#apply-ledes .tel-contact li:before {
		margin-right: 10px;
	}
	#apply-ledes .tel-contact .tel:before {
		background: url(/assets/images/ui/icon/tel01.png) no-repeat 0 0/ contain;
		height: 32px;
		width: 24px;
	}
	#apply-ledes .tel-contact .fax:before {
		background: url(/assets/images/ui/icon/fax01.png) no-repeat 0 0/ contain;
		height: 32px;
		width: 32px;
	}
}
/*--------------------------------------------
MAILFORMPRO
---------------------------------------------*/
#mailformpro legend{
	background-color : #fff2f2;
	font-family : "FOT-スーラ Pro M";
	width : 100%;
}
#mailformpro dl > div + div{
	border-top-style : dotted;
	border-top-color : #ccc;
}
#mailformpro dt label{
	letter-spacing : .1em;
	display : flex;
	align-items : center;
}
#mailformpro dt label:after{
	flex-shrink : 0;
	letter-spacing : .1em;
	text-indent : .1em;
	height : 100%;
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	color : #fff;
}
#mailformpro dt label.required:after{
	content : "必須";
	background-color : #eb6877;
}
#mailformpro dt label.none:after{
	content : "";
	background-color : #fff;
}
#mailformpro dt label:not(.required):not(.none):after{
	content : "任意";
	background-color : #448aca;
}
#mailformpro input[type="text"] , #mailformpro input[type="email"] , #mailformpro input[type="tel"] , #mailformpro textarea{
	background-color : #eee;
	border : 0;
}
#mailformpro input[type="text"]:-ms-input-placeholder , #mailformpro input[type="email"]:-ms-input-placeholder , #mailformpro input[type="tel"]:-ms-input-placeholder , #mailformpro textarea:-ms-input-placeholder{
	color : #ccc;
}
#mailformpro input[type="text"]::placeholder , #mailformpro input[type="email"]::placeholder , #mailformpro input[type="tel"]::placeholder , #mailformpro textarea::placeholder{
	color : #ccc;
}
#mailformpro select{
	border-style : solid;
	border-color : #ccc;
	-webkit-appearance : none;
	        appearance : none;
	background-repeat : no-repeat;
}
#mailformpro .address01 label{
	letter-spacing : .1em;
}
#mailformpro .address01 a{
	text-decoration : underline;
}
#mailformpro .emails01 p{
	letter-spacing : .1em;
}
#mailformpro .workplace01 label , #mailformpro .contactinfo01 label , #mailformpro .contactinfo02 label , #mailformpro .admission01 label{
	letter-spacing : .1em;
}
#mailformpro .type01 li > label{
	letter-spacing : .1em;
	display : block;
}
#mailformpro .type01 li > div{
	display : flex;
	flex-wrap : wrap;
}
#mailformpro .type01 p{
	letter-spacing : .1em;
}
#mailformpro .radios label{
	position : relative;
	display : flex;
	align-items : center;
}
#mailformpro .radios label input{
	display : none;
}
#mailformpro .radios label span{
	display : flex;
	align-items : center;
	cursor : pointer;
}
#mailformpro .radios label span::before{
	content : "";
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	border-radius : 50%;
}
#mailformpro .radios label input:checked ~ span:after{
	content : "";
	display : block;
	position : absolute;
	border-radius : 50%;
}
#mailformpro .radios span{
	letter-spacing : .1em;
}
#mailformpro .radios span:before{
	border-radius : 50%;
	background-color : #cecece;
	flex-shrink : 0;
}
	#mailformpro .radios .manshitsu span:before , #mailformpro .radios .toiawase span:before{
		border-radius : 50%;
		background-color : #eee;
		flex-shrink : 0;
	}
#mailformpro .radios input:not([disabled]):checked ~ span:after{
	background-color : #eb6877;
	border-radius : 50%;
}
#mailformpro .radios input[disabled] + span{
	text-decoration : line-through;
	color : #cecece;
}


#mailformpro .radios .manshitsu:after , #mailformpro .radios .toiawase:after , #mailformpro .radios .fully:after , #mailformpro .radios .confirm:after{
	letter-spacing : .1em;
}
#mailformpro .radios .manshitsu:after , #mailformpro .radios .fully:after{
	content : "[満室]";
	color : #930606;
}
#mailformpro .radios .toiawase:after , #mailformpro .radios .confirm:after{
	content : "[要問合せ]";
	color : #448aca;
}
#mailformpro .eat01 .box{
	display : flex;
	align-items : flex-start;
}
#mailformpro .interview01 .box{
	display : flex;
	align-items : flex-start;
}
#mailformpro .interview01 .box p{
	letter-spacing : .1em;
}
#mailformpro .pamphlet01 .box label {
	line-height: 1.3;
}
#mailformpro .pamphlet01 .box label + label{
	margin-top: 1rem;
}
#mailformpro .dd02-text p{
	letter-spacing : .1em;
}
#mailformpro .agree p{
	letter-spacing : .1em;
}
#mailformpro .checkbox{
	display : flex;
}
#mailformpro .checkbox span{
	cursor : pointer;
	display : flex;
	align-items : center;
}
#mailformpro .checkbox span:before{
	content : "";
	flex-shrink : 0;
}
#mailformpro .checkbox input[type="checkbox"]{
	opacity : 0;
	position : absolute;
	visibility : hidden;
}
#mailformpro .checkbox span:before{
	border-style : solid;
	border-color : #a7a2a2;
}
#mailformpro .checkbox span{
	letter-spacing : .1em;
	position : relative;
}
#mailformpro .checkbox input[type="checkbox"]:checked ~ span:after{
	content : "";
	display : block;
	position : absolute;
	background : url("../images/ui/icon/check03.png") 0 0 / contain no-repeat;
}
#mailformpro .mfp_buttons input[type="submit"]{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	letter-spacing : .1em;
	text-indent : .1em;
	background-color : #f184a1;
	color : #fff;
}
@media screen and (max-width: 768px){
	#mailformpro legend{
		font-size : 3.4rem;
		line-height : 1.1471;
		padding-top : calc( ( 20.5 - 2.5 ) * 100vw / 768 );
		padding-bottom : calc( ( 20.5 - 2.5 ) * 100vw / 768 );
		padding-left : calc( 24 * 100% / 720 );
		padding-right : calc( 24 * 100% / 720 );
		margin-bottom : calc( 54 * 100vw / 768 );
	}
	#mailformpro dl{
		width : calc( 672 * 100% / 720 );
		margin-left : auto;
		margin-right : auto;
	}
	#mailformpro dl > div + div{
		margin-top : calc( 50 * 100vw / 768 );
		padding-top : calc( 47 * 100vw / 768 );
		border-top-width : calc( 3 * 100vw / 768 );
	}
	#mailformpro dt label{
		font-size : 2.6rem;
		height : calc( 40 * 100vw / 768 );
		display : flex;
	}
	#mailformpro dt label:after{
		margin-left : calc( 26 * 100% / 720 );
		width : calc( 115 * 100% / 768 );
		font-size : 2.2rem;
	}
	#mailformpro dd:nth-of-type(1){
		font-size : 2.6rem;
		letter-spacing : .1em;
		margin-top : calc( 28 * 100vw / 768 );
	}
	#mailformpro input[type="text"] , #mailformpro input[type="email"] , #mailformpro input[type="tel"]{
		font-size : 2.6rem;
		width : 100%;
		height : calc( 80 * 100vw / 768 );
		padding-left : calc( 28 * 100vw / 768 );
		padding-right : calc( 28 * 100vw / 768 );
	}
	#mailformpro select{
		font-size : 2.6rem;
		border-width : calc( 3 * 100vw / 768 );
		height : calc( 80 * 100vw / 768 );
		padding-left : calc( 30 * 100vw / 768 );
		padding-right : calc( 30 * 100vw / 768 );
		background-image : url("../images/ui/parts/spin01_sp.png");
		background-size : auto calc( 22 * 100vw / 768 );
		background-position : right calc( 19 * 100vw / 768 ) top 50%;
	}
	#mailformpro textarea{
		width : 100%;
		height : calc( 160 * 100vw / 768 );
	}
	#mailformpro .dob01{
		justify-content : space-between;
		display : flex;
	}
	#mailformpro .dob01 select{
		width : calc( 240 * 100% / 672 );
	}
	#mailformpro .dob01 select + select{
		width : calc( 200 * 100% / 672 );
	}
	#mailformpro .address01 .box label{
		font-size : 2.6rem;
		display : block;
		margin-bottom : calc( 19 * 100vw / 768 );
	}
	#mailformpro .address01 .box ~ .box{
		margin-top : calc( 50 * 100vw / 768 );
	}
	#mailformpro .address01 input[type="tel"]{
		width : calc( 326 * 100% / 672 );
		margin-right : calc( 26 * 100% / 672 );
	}
	#mailformpro .address01 select{
		width : 100%;
	}
	#mailformpro .address01 input[type="text"]{
		width : 100%;
	}
	#mailformpro .emails01 .box p{
		font-size : 2.6rem;
		margin-top : calc( 27 * 100vw / 768 );
		margin-bottom : calc( 10 * 100vw / 768 );
	}
	#mailformpro .emails01 > p{
		margin-top : calc( ( 42 - 6.5 ) * 100vw / 768 );
		font-size : 2.6rem;
		line-height : 1.5;
		padding-left : calc( 20 * 100% / 768 );
		padding-right : calc( 20 * 100% / 768 );
	}
	#mailformpro .contactinfo01 .box ~ .box{
		margin-top : calc( 35 * 100vw / 768 );
	}
	#mailformpro .contactinfo01 label{
		font-size : 2.6rem;
		margin-bottom : calc( 10 * 100vw / 768 );
		display : block;
	}
	#mailformpro .contactinfo02 .box ~ .box , #mailformpro .admission01 .box ~ .box{
		margin-top : calc( 38 * 100vw / 768 );
	}
	#mailformpro .contactinfo02 label , #mailformpro .admission01 label{
		font-size : 2.6rem;
		display : block;
		margin-bottom : calc( 10 * 100vw / 768 );
	}
	#mailformpro .contactinfo02 select , #mailformpro .admission01 select{
		width : 100%;
	}
	#mailformpro .workplace01 .box ~ .box{
		margin-top : calc( 35 * 100vw / 768 );
	}
	#mailformpro .workplace01 label{
		display : block;
		font-size : 2.6rem;
		margin-bottom : calc( 11 * 100vw / 768 );
	}
	#mailformpro .from01 select{
		width : calc( 240 * 100% / 672 );
		margin-top : calc( 28 * 100vw / 768 );
	}
	#mailformpro .years01 select , #mailformpro .way01 select{
		width : 100%;
	}
	#mailformpro .type01 li + li{
		margin-top : calc( 42 * 100vw / 768 );
	}
	#mailformpro .type01 li > label{
		font-size : 2.6rem;
		margin-bottom : calc( ( 34 - 29 ) * 100vw / 768 );
	}
	#mailformpro .type01 li > div{
		margin-left : calc( ( 39 - 57 ) * 100% / 672 );
	}
	#mailformpro .type01 li > div label{
		margin-left : calc( 57 * 100vw / 768 );
		margin-top : calc( 29 * 100vw / 768 );
	}
	#mailformpro .type01 p{
		font-size : 2.6rem;
		line-height : 1.8846;
		margin-top : calc( ( 49 - 6.5 ) * 100vw / 768 );
	}
	#mailformpro .radios span:before{
		width : calc( 40 * 100vw / 768 );
		height : calc( 40 * 100vw / 768 );
		margin-right : calc( 18 * 100vw / 768 );
	}
	#mailformpro .radios span{
		font-size : 2.6rem;
	}
	#mailformpro .radios input:checked ~ span:after{
		width : calc( 24 * 100vw / 768 );
		height : calc( 24 * 100vw / 768 );
		left : calc( 8 * 100vw / 768 );
		top: 50%;
		transform: translateY(-50%);
	}
	#mailformpro .radios input[disabled] + span:before{
		background-color : #fff;
		border : calc( 3 * 100vw / 768 ) solid #ccc;
	}
	#mailformpro .radios .manshitsu:after , #mailformpro .radios .toiawase:after{
		font-size : 2.6rem;
	}
	#mailformpro .eat01 label + label{
		margin-left : calc( 48 * 100% / 672 );
	}
	#mailformpro .interview01 label + label{
		margin-left : calc( 48 * 100% / 672 );
	}
	#mailformpro .interview01 p{
		font-size : 2.6rem;
		margin-top : calc( 34 * 100vw / 768 );
	}
	#mailformpro .choice01 select{
		width : 100%;
	}
	#mailformpro .choice01 select:nth-of-type(2){
		margin-top : calc( 20 * 100vw / 768 );
	}
	#mailformpro .dd02-text{
		width : 100%;
		border-top : calc( 3 * 100vw / 768 ) dotted #ccc;
		margin-top : calc( 63 * 100vw / 768 );
		padding-top : calc( ( 57 - 6.5 ) * 100vw / 768 );
	}
	#mailformpro .dd02-text p{
		font-size : 2.6rem;
		line-height : 1.5;
	}
	#mailformpro .checkbox span{
		font-size : 2.6rem;
		line-height : 1.5;
	}
	#mailformpro .checkbox span:before{
		width : calc( 37 * 100vw / 768 );
		height : calc( 37 * 100vw / 768 );
		border-width : calc( 3 * 100vw / 768 );
		border-radius : calc( 6 * 100vw / 768 );
		margin-right : calc( 11 * 100vw / 768 );
	}
	#mailformpro .checkbox input[type="checkbox"]:checked ~ span:after{
		width : calc( 44 * 100vw / 768 );
		height : calc( 33 * 100vw / 768 );
		top : 0;
		left : calc( -2 * 100vw / 768 );
	}
	#mailformpro .agree p{
		font-size : 2.6rem;
		line-height : 1.5;
		padding-left : calc( 24 * 100% / 720 );
		padding-right : calc( 24 * 100% / 720 );
	}
	#mailformpro .agree label{
		margin-left : calc( 24 * 100% / 720 );
	}
	#mailformpro .agree p + label{
		margin-top : calc( ( 46 - 6.5 ) * 100vw / 768 );
	}
	#mailformpro .agree label + label{
		margin-top : calc( ( 41 - 6.5 ) * 100vw / 768 );
	}
	#mailformpro .mfp_buttons{
		display : flex;
		flex-direction : column;
		align-items : center;
	}
	#mailformpro .mfp_buttons input[type="submit"]{
		width : calc( 600 * 100vw / 768 );
		height : calc( 120 * 100vw / 768 );
		font-size : 3.2rem;
	}
}
@media print,screen and (min-width: 769px){
	#mailformpro legend{
		font-size : 2.4rem;
		line-height : 1.625;
		padding-top : calc( 19px - 7.5px );
		padding-bottom : calc( 19px - 7.5px );
		padding-left : 29px;
		padding-right : 29px;
		margin-bottom : 20px;
	}
	#mailformpro dl{
		width : 900px;
		margin-left : auto;
		margin-right : auto;
	}
	#mailformpro dl > div{
		display : flex;
		flex-wrap : wrap;
		border-bottom-width : 1px;
		padding-bottom : 20px;
		padding-top : 20px;
	}
	#mailformpro dl > div + div{
		border-top-width : 1px;
	}
	#mailformpro dt{
		flex-shrink : 0;
		width : 233px;
		margin-right : 17px;
		padding-top : 9px;
	}
	#mailformpro dt label{
		font-size : 1.6rem;
		height : 23px;
		display : flex;
		justify-content : flex-end;
	}
	#mailformpro dt label:after{
		margin-left : 40px;
		width : 48px;
		font-size : 1.2rem;
	}
	#mailformpro dd:nth-of-type(1){
		width : 650px;
		flex-shrink : 0;
		font-size : 1.6rem;
		letter-spacing : .1em;
	}
	#mailformpro input[type="text"] , #mailformpro input[type="email"] , #mailformpro input[type="tel"]{
		width : 430px;
		height : 41px;
		padding-left : 8px;
		padding-right : 8px;
	}
	#mailformpro select{
		border-width : 1px;
		height : 36px;
		padding-left : 14px;
		padding-right : 14px;
		background-size : auto 13px;
		background-image : url("../images/ui/parts/spin01_pc.png");
		background-position : right 11px top 50%;
	}
	#mailformpro textarea{
		width : 500px;
		height : 100px;
	}
	#mailformpro .dob01 select{
		width : 155px;
	}
	#mailformpro .dob01 select + select{
		margin-left : 13px;
	}
	#mailformpro .address01 .box label{
		font-size : 1.6rem;
		margin-right : 34px;
	}
	#mailformpro .address01 .box{
		display : flex;
		align-items : center;
	}
	#mailformpro .address01 .box ~ .box{
		margin-top : 15px;
	}
	#mailformpro .address01 input[type="tel"]{
		width : 200px;
		margin-right : 17px;
	}
	#mailformpro .address01 select{
		width : 300px;
	}
	#mailformpro .address01 input[type="text"]{
		width : 430px;
	}
	#mailformpro .emails01 .box p{
		font-size : 1.6rem;
		margin-top : 13px;
		margin-bottom : 13px;
		padding-left : 14px;
	}
	#mailformpro fieldset dl div dd p{
		margin-top : calc( 10px );
		font-size : 1.6rem;
		line-height : 1.75;
	}
	#mailformpro .contactinfo01 .box{
		display : flex;
		align-items : center;
	}
	#mailformpro .contactinfo01 .box ~ .box{
		margin-top : 11px;
	}
	#mailformpro .contactinfo01 label{
		font-size : 1.6rem;
		flex-shrink : 0;
		width : 116px;
		padding-left : 0;
	}
	#mailformpro .contactinfo02 .box , #mailformpro .admission01 .box{
		display : flex;
		align-items : center;
	}
	#mailformpro .contactinfo02 .box ~ .box , #mailformpro .admission01 .box ~ .box{
		margin-top : 10px;
	}
	#mailformpro .contactinfo02 label , #mailformpro .admission01 label{
		font-size : 1.6rem;
		flex-shrink : 0;
		width : 102px;
	}
	#mailformpro .contactinfo02 label.sizeL , #mailformpro .admission01 label.sizeL{
		width : 300px;
	}
	#mailformpro .contactinfo02 select , #mailformpro .admission01 select{
		width : 155px;
	}
	#mailformpro .workplace01 .box{
		display : flex;
		align-items : center;
	}
	#mailformpro .workplace01 .box ~ .box{
		margin-top : 11px;
	}
	#mailformpro .workplace01 label{
		font-size : 1.6rem;
		flex-shrink : 0;
		width : 116px;
	}
	#mailformpro .years01 select , #mailformpro .way01 select{
		width : 300px;
	}
	#mailformpro .type01{
		padding-top : calc( 9px + 3.5px );
	}
	#mailformpro .type01 li + li{
		margin-top : 25px;
	}
	#mailformpro .type01 li > label{
		font-size : 1.6rem;
		margin-bottom : 22px;
	}
	#mailformpro .type01 li > div{
		padding-left : 36px;
	}
	#mailformpro .type01 label + label{
		margin-left : 18px;
	}
	#mailformpro .type01 p{
		font-size : 1.6rem;
		line-height : 1.75;
		margin-top : calc( 34px - 6px );
	}
	#mailformpro .type01 p span{
		padding-left : 1em;
	}
	#mailformpro .radios span:before{
		width : 20px;
		height : 20px;
		margin-right : 6px;
	}
	#mailformpro .radios span{
		font-size : 1.6rem;
	}
	#mailformpro .radios input:checked ~ span:after{
		width : 12px;
		height : 12px;
		top : 4px;
		left : 4px;
	}
	#mailformpro .radios .manshitsu:after , #mailformpro .radios .toiawase:after{
		font-size : 1.6rem;
	}
	#mailformpro .eat01{
		padding-top : calc( 9px + 1.5px );
	}
	#mailformpro .eat01 label + label{
		margin-left : 38px;
	}
	#mailformpro .interview01{
		padding-top : calc( 9px + 1.5px );
	}
	#mailformpro .interview01 label + label{
		margin-left : 68px;
	}
	#mailformpro .interview01 p{
		font-size : 1.6rem;
		margin-top : 29px;
	}
	#mailformpro .choice01 select:nth-of-type(1){
		width : 300px;
	}
	#mailformpro .choice01 select:nth-of-type(2){
		width : 136px;
		margin-left : 29px;
	}
	#mailformpro .dd02-text{
		width : 100%;
		padding-left : 100px;
		padding-right : 100px;
		border-top : 1px dotted #ccc;
		margin-left : auto;
		margin-right : auto;
		margin-top : 23px;
		padding-top : calc( 26px - 6px );
	}
	#mailformpro .dd02-text p{
		font-size : 1.6rem;
		line-height : 1.75;
	}
	#mailformpro .checkbox span{
		font-size : 1.6rem;
	}
	#mailformpro .checkbox span:before{
		width : 24px;
		height : 24px;
		border-width : 1px;
		border-radius : 3px;
		margin-right : 9px;
	}
	#mailformpro .checkbox input[type="checkbox"]:checked ~ span:after{
		width : 32px;
		height : 23px;
		top : 2px;
		left : -4px;
	}
	#mailformpro .agree p{
		font-size : 1.6rem;
        line-height: 1.5;
		text-align : left;
	}
	#mailformpro .agree label{
		margin-left : 313px;
	}
	#mailformpro .agree p + label{
		margin-top : 52px;
	}
	#mailformpro .agree label + label{
		margin-top : 25px;
	}
	#mailformpro .mfp_buttons{
		display : flex;
		justify-content : center;
	}
	#mailformpro .mfp_buttons input[type="submit"]{
		width : 320px;
		height : 80px;
		font-size : 2.2rem;
	}
	#mailformpro .agree .mfp_err{
		margin-left : 313px;
	}
}
#mfp_phase_confirm_inner h4{
	background-color : #fff2f2;
	font-family : "FOT-スーラ Pro M";
	width : 100%;
}
#mfp_phase_confirm_inner th , #mfp_phase_confirm_inner td{
	border-bottom-style : dotted;
	border-bottom-color : #ccc;
	letter-spacing : .1em;
	text-align : left;
	vertical-align : top;
}
#mfp_phase_confirm_inner .mfp_buttons{
	display : flex;
}
#mfp_phase_confirm_inner #mfp_button_send , #mfp_phase_confirm_inner #mfp_button_cancel{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	letter-spacing : .1em;
	text-indent : .1em;
}
#mfp_phase_confirm_inner #mfp_button_send{
	background-color : #f184a1;
	color : #fff;
}
#mfp_phase_confirm_inner #mfp_button_cancel{
	background-color : #fff;
	border-style : solid;
	border-color : currentColor;
}
@media screen and (max-width: 768px){
	#mfp_phase_confirm_inner{
		padding-bottom : calc( 117 * 100vw / 768 );
	}
	#mfp_phase_confirm_inner h4{
		font-size : 2.4rem;
		line-height : 1.625;
		padding-top : calc( 19px - 7.5px );
		padding-bottom : calc( 19px - 7.5px );
		padding-left : 29px;
		padding-right : 29px;
		margin-bottom : 20px;
	}
	#mfp_phase_confirm_inner table , #mfp_phase_confirm_inner tr , #mfp_phase_confirm_inner th , #mfp_phase_confirm_inner td , #mfp_phase_confirm_inner tbody{
		display : block;
	}
	#mfp_phase_confirm_inner th{
		font-size : 2.6rem;
		line-height : 2;
		padding-left : calc( 24 * 100% / 720 );
		padding-right : calc( 24 * 100% / 720 );
		font-weight : 500;
	}
	#mfp_phase_confirm_inner td{
		font-size : 2.6rem;
		line-height : 2;
		margin-top : calc( 16 * 100vw / 768 );
		padding-left : calc( 48 * 100% / 720 );
		padding-right : calc( 48 * 100% / 720 );
	}
	#mfp_phase_confirm_inner tr + tr{
		margin-top : calc( 32 * 100vw / 768 );
		padding-top : calc( 32 * 100vw / 768 );
		border-top : dotted calc( 3 * 100vw / 768 ) #ccc;
	}
	#mfp_phase_confirm_inner .mfp_buttons{
		justify-content : center;
		align-items : center;
		margin-top : calc( 129 * 100vw / 768 );
		flex-direction : column-reverse;
	}
	#mfp_phase_confirm_inner #mfp_button_send , #mfp_phase_confirm_inner #mfp_button_cancel{
		width : calc( 600 * 100vw / 768 );
		height : calc( 120 * 100vw / 768 );
	}
	#mfp_phase_confirm_inner #mfp_button_send{
		font-size : 3.2rem;
		margin-top : calc( 36 * 100vw / 768 );
	}
	#mfp_phase_confirm_inner #mfp_button_cancel{
		font-size : 3rem;
		border-width : calc( 3 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#mfp_phase_confirm_inner{
		padding-bottom : 76px;
	}
	#mfp_phase_confirm_inner h4{
		font-size : 2.4rem;
		line-height : 1.625;
		padding-top : calc( 19px - 7.5px );
		padding-bottom : calc( 19px - 7.5px );
		padding-left : 29px;
		padding-right : 29px;
		margin-bottom : 20px;
	}
	#mfp_phase_confirm_inner table{
		width : 900px;
		margin-left : auto;
		margin-right : auto;
	}
	#mfp_phase_confirm_inner th , #mfp_phase_confirm_inner td{
		border-bottom-width : 1px;
		padding-top : 20px;
		padding-bottom : 20px;
	}
	#mfp_phase_confirm_inner th{
		width : 233px;
		padding-right : 17px;
		font-size : 1.6rem;
		line-height : 1.75;
	}
	#mfp_phase_confirm_inner td{
		font-size : 1.6rem;
		line-height : 1.75;
	}
	#mfp_phase_confirm_inner .mfp_buttons{
		justify-content : center;
		margin-top : 72px;
		flex-direction : row-reverse;
	}
	#mfp_phase_confirm_inner #mfp_button_send , #mfp_phase_confirm_inner #mfp_button_cancel{
		width : 320px;
		height : 80px;
		font-size : 2.2rem;
	}
	#mfp_phase_confirm_inner #mfp_button_send{
		font-size : 2.2rem;
	}
	#mfp_phase_confirm_inner #mfp_button_cancel{
		font-size : 2rem;
		margin-right : 32px;
		border-width : 1px;
	}
}


@media screen and (max-width: 768px){
	.other-link {
		padding:  calc( 50 * 100vw / 768 ) 0;
	}
		.other-link .wrap {
		}
			.other-link .wrap ul {
				display: flex;
				justify-content: center;
			}
				.other-link .wrap ul li {
					width: calc( 300 * 100vw / 768 );
					height: calc( 60 * 100vw / 768 );
						margin: 0 calc( 20 * 100vw / 768 );
				}
					.other-link .wrap ul li a {
						width: calc( 300 * 100vw / 768 );
						height: calc( 60 * 100vw / 768 );
						display: flex;
						border-bottom: calc( 8 * 100vw / 768 ) solid #f184a1;
						align-items: center;
						font-size: 3rem;
					}
					.other-link .wrap ul li picture {
					}
					.other-link .wrap ul li span {
						padding-left: calc( 20 * 100vw / 768 );;
					}

}

@media print,screen and (min-width: 769px){
	.other-link {
		padding:  50px 0;
	}
		.other-link .wrap {
		}
			.other-link .wrap ul {
				display: flex;
				justify-content: center;
			}
				.other-link .wrap ul li {
					width: 350px;
					height: 60px;
						margin: 0 30px;
				}
					.other-link .wrap ul li a {
					width: 350px;
					height: 60px;
						display: flex;
						border-bottom: 3px solid #f184a1;
						align-items: center;
					}
					.other-link .wrap ul li picture {
					}
					.other-link .wrap ul li span {
						padding-left: 10px;
					}

}

