@charset "UTF-8";
/*--------------------------------------------
DATA TEXT
---------------------------------------------*/
[data-before]:before{
	content : attr( data-before );
}
[data-after]:after{
	content : attr( data-after );
}
/*--------------------------------------------
MAP
---------------------------------------------*/
.map-container , .iframe-container{
	position : relative;
}
.map-container > #map , .map-container > iframe , .iframe-container > #map , .iframe-container > iframe{
	width : 100%;
	height : 100%;
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	bottom : 0;
	margin : auto;
}
@media print,screen and (min-width: 769px){
	.is-sp{
		display : none;
	}
}
@media screen and (max-width: 768px){
	.is-pc{
		display : none;
	}
}
/*--------------------------------------------
COLOR
---------------------------------------------*/
.red{
	color : #b20000;
}
/*--------------------------------------------
FONTS
---------------------------------------------*/
.en , .tel{
        font-family: var(--fontMin);
}
a{
	backface-visibility : hidden;
	will-change : opacity;
	transition : opacity .3s ease-in;
}
a:hover{
	opacity : .7;
}
/*--------------------------------------------
ANIMATION
---------------------------------------------*/
.effect{
	backface-visibility : hidden;
	will-change : opacity;
	transition : opacity 1s ease-in;
	opacity : 0;
}
.effect.is-effect{
	opacity : 1;
}
/*--------------------------------------------
PARAGRAPH
---------------------------------------------*/
p{
	line-height : 1.8;
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	p{
		font-size : calc( 24 * 100vw / 768 );
	}
}
@media screen and (min-width: 769px) and (max-width:1279px){
	p{
		font-size : calc( 16 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 1280px) and (max-width:1379px){
	p{
		font-size : calc( 16 * 100vw / 1280 );
	}
}
@media print,screen and (min-width: 1380px){
	p{
		font-size : 16px;
	}
}
.p-big{
	text-align : center;
	line-height : 1.8;
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	.p-big{
		font-size : calc( 34 * 100vw / 768 );
	}
}
@media screen and (min-width: 769px) and (max-width:1279px){
	.p-big{
		font-size : calc( 24 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 1280px) and (max-width:1379px){
	.p-big{
		font-size : calc( 24 * 100vw / 1280 );
	}
}
@media print,screen and (min-width: 1380px){
	.p-big{
		font-size : 24px;
	}
}
/*--------------------------------------------
TEXT CONTENTS
---------------------------------------------*/
.text-contents01 picture img , .text-contents02 picture img{
	width : 100%;
	height : auto;
}
@media screen and (max-width: 768px){
	.text-contents01 picture , .text-contents02 picture{
		margin-top : calc( ( 24 - 8.6 ) * 100vw / 768 );
		width : 100%;
	}
	.text-contents01 picture img , .text-contents02 picture img{
		width : 100%;
	}
	.text-contents01 p , .text-contents02 p{
		margin-top : calc( 20 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	.text-contents01 , .text-contents02{
		display : flex;
	}
	.text-contents01 > div , .text-contents02 > div{
		flex-grow : 1;
	}
	.text-contents01 picture , .text-contents02 picture{
		flex-shrink : 0;
	}
	.text-contents01 picture img , .text-contents02 picture img{
		width : 100%;
		height : auto;
	}
}
@media screen and (min-width: 769px) and (max-width:1279px){
	.text-contents01 picture , .text-contents02 picture{
		width : calc( 520 * 100% / 1080 );
	}
	.text-contents01 > div , .text-contents02 > div{
		padding-left : calc( 20 * 100% / 1080 );
		padding-right : calc( 20 * 100% / 1080 );
	}
	.text-contents01 p , .text-contents02 p{
		margin-top : calc( 20 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 1280px) and (max-width:1379px){
	.text-contents01 picture , .text-contents02 picture{
		width : calc( 520 * 100% / 1080 );
	}
	.text-contents01 > div , .text-contents02 > div{
		padding-left : calc( 20 * 100% / 1080 );
		padding-right : calc( 20 * 100% / 1080 );
	}
	.text-contents01 p , .text-contents02 p{
		margin-top : calc( 20 * 100vw / 1280 );
	}
}
@media print,screen and (min-width: 1380px){
	.text-contents01 picture , .text-contents02 picture{
		width : 520px;
	}
	.text-contents01 > div , .text-contents02 > div{
		padding-left : 20px;
		padding-right : 20px;
	}
	.text-contents01 p , .text-contents02 p{
		margin-top : 20px;
	}
}
.text-contents01{
	flex-direction : row-reverse;
}
@media print,screen and (min-width: 1280px){
	.text-contents03{
		width : 800px;
		margin-left : auto;
		margin-right : auto;
	}
}
/*--------------------------------------------
TITLE
---------------------------------------------*/
.section-title01{
	letter-spacing : .1em;
	text-align : center;
	color : var(--title);
    font-weight: 500;
}
.section-title01:after{
	content : "";
	display : block;
	margin-left : auto;
	margin-right : auto;
	background-color : var(--bg);
}
@media screen and (max-width: 768px){
	.section-title01{
		font-size : calc( 40 * 100vw / 768 );
	}
	.section-title01:after{
		width : calc( 2 * 100vw / 768 );
		height : calc( 40 * 100vw / 768 );
		margin-top : calc( 12 * 100vw / 768 );
	}
}
@media screen and (min-width: 769px) and (max-width:1279px){
	.section-title01{
		font-size : calc( 30 * 100vw / 768 );
	}
	.section-title01:after{
		width : calc( 2 * 100vw / 768 );
		height : calc( 40 * 100vw / 768 );
		margin-top : calc( 7 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 1280px) and (max-width:1379px){
	.section-title01{
		font-size : calc( 30 * 100vw / 1280 );
	}
	.section-title01:after{
		width : calc( 2 * 100vw / 1280 );
		height : calc( 40 * 100vw / 1280 );
		margin-top : calc( 7 * 100vw / 1280 );
	}
}
@media print,screen and (min-width: 1380px){
	.section-title01{
		font-size : 30px;
	}
	.section-title01:after{
		width : 2px;
		height : 40px;
		margin-top : 7px;
	}
}
.title-st01{
	font-weight : 500;
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	.title-st01{
		font-size : calc( 30 * 100vw / 768 );
		line-height : 1.3;
	}
}
@media print,screen and (min-width: 769px){
	.title-st01{
		line-height : 1.2;
	}
}
@media screen and (min-width: 769px) and (max-width:1279px){
	.title-st01{
		font-size : calc( 20 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 1280px) and (max-width:1379px){
	.title-st01{
		font-size : calc( 20 * 100vw / 1280 );
	}
}
@media print,screen and (min-width: 1380px){
	.title-st01{
		font-size : 20px;
	}
}
.sub-title01{
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	.sub-title01{
		font-size : calc( 30 * 100vw / 768 );
	}
}
@media screen and (min-width: 769px) and (max-width:1279px){
	.sub-title01{
		font-size : calc( 20 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 1280px) and (max-width:1379px){
	.sub-title01{
		font-size : calc( 20 * 100vw / 1280 );
	}
}
@media print,screen and (min-width: 1380px){
	.sub-title01{
		font-size : 20px;
	}
}
/*--------------------------------------------
LINK
---------------------------------------------*/
.link01{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	color : #fff;
	background-color : var(--bg);
	font-weight : 500;
	letter-spacing : .06em;
}
@media screen and (max-width: 768px){
	.link01{
		font-size : calc( 24 * 100vw / 768 );
	}
}
@media screen and (min-width: 769px) and (max-width:1279px){
	.link01{
		font-size : calc( 16 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 1280px) and (max-width:1379px){
	.link01{
		font-size : calc( 16 * 100vw / 1280 );
	}
}
@media print,screen and (min-width: 1380px){
	.link01{
		font-size : 16px;
	}
}
.link02{
	border-style : solid;
	border-color : #666;
	margin-left : auto;
	margin-right : auto;
	color : #221815;
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
}
@media screen and (max-width: 768px){
	.link02{
		border-width : calc( 2 * 100vw / 768 );
		font-size : calc( 26 * 100vw / 768 );
		width : calc( 350 * 100vw / 768 );
		height : calc( 70 * 100vw / 768 );
	}
}
@media screen and (min-width: 769px) and (max-width:1279px){
	.link02{
		border-width : calc( 2 * 100vw / 768 );
		font-size : calc( 16 * 100vw / 768 );
		width : calc( 160 * 100vw / 768 );
		height : calc( 40 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 1280px) and (max-width:1379px){
	.link02{
		border-width : calc( 2 * 100vw / 1240 );
		font-size : calc( 16 * 100vw / 1240 );
		width : calc( 160 * 100vw / 1240 );
		height : calc( 40 * 100vw / 1240 );
	}
}
@media print,screen and (min-width: 1380px){
	.link02{
		border-width : 2px;
		font-size : 16px;
		width : 160px;
		height : 40px;
	}
}
/*--------------------------------------------
SLICK DOTS
---------------------------------------------*/
.slick-dots{
	display : flex;
	justify-content : center;
	align-items : center;
	z-index : 5;
	position : relative;
}
.slick-dots li{
	font-size : 0;
}
.slick-dots button{
	color : transparent;
	font-size : 0;
	cursor : pointer;
}
.slick-dots button{
	background-color : #fff;
	backface-visibility : hidden;
	will-change : background-color;
}
.slick-dots .slick-active button{
	background-color : #fc0;
}
@media screen and (max-width: 768px){
	.slick-dots li + li{
		margin-left : calc( 8 * 100vw / 768 );
	}
	.slick-dots button{
		width : calc( 12 * 100vw / 768 );
		height : calc( 12 * 100vw / 768 );
	}
}
@media screen and (min-width: 769px) and (max-width:1279px){
	.slick-dots li + li{
		margin-left : calc( 5 * 100vw / 768 );
	}
	.slick-dots button{
		width : calc( 15 * 100vw / 768 );
		height : calc( 15 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 1280px) and (max-width:1379px){
	.slick-dots li + li{
		margin-left : calc( 5 * 100vw / 1280 );
	}
	.slick-dots button{
		width : calc( 15 * 100vw / 1280 );
		height : calc( 15 * 100vw / 1280 );
	}
}
@media print,screen and (min-width: 1380px){
	.slick-dots li + li{
		margin-left : 5px;
	}
	.slick-dots button{
		width : 15px;
		height : 15px;
	}
}
/*--------------------------------------------
SLIDE LINE
---------------------------------------------*/
.slide-line{
	font-size : 0;
}
.slide-line .slide-arrow{
	position : absolute;
	z-index : 5;
	cursor : pointer;
	top : 50%;
	transform : translateY(-50%);
}
@media screen and (max-width: 768px){
	.slide-line .slick-arrow{
		height : calc( 82 * 100vw / 768 );
	}
	.slide-line .prev-arrow{
		left : calc( 7 * 100vw / 768 );
	}
	.slide-line .next-arrow{
		right : calc( 7 * 100vw / 768 );
	}
}
@media screen and (min-width: 769px) and (max-width:1279px){
	.slide-line .slick-arrow{
		height : calc( 53 * 100vw / 768 );
	}
	.slide-line .prev-arrow{
		left : calc( 20 * 100vw / 768 );
	}
	.slide-line .next-arrow{
		right : calc( 20 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 1280px) and (max-width:1379px){
	.slide-line .slick-arrow{
		height : calc( 53 * 100vw / 1280 );
	}
	.slide-line .prev-arrow{
		left : calc( 20 * 100vw / 1280 );
	}
	.slide-line .next-arrow{
		right : calc( 20 * 100vw / 1280 );
	}
}
@media print,screen and (min-width: 1380px){
	.slide-line .slick-arrow{
		height : 53px;
	}
	.slide-line .prev-arrow{
		left : 20px;
	}
	.slide-line .next-arrow{
		right : 20px;
	}
}
/*--------------------------------------------
LIST
---------------------------------------------*/
.list-price .title{
	font-weight : 500;
	letter-spacing : .1em;
	border-bottom : solid 1px #ccc;
	line-height : 1.3;
	padding-bottom : .2em;
}
.list-price .title:before{
	margin-right : .5em;
}
.list-price .title:after{
	margin-left : .5em;
}
.list-price .title span{
	font-weight : 300;
	font-size : smaller;
}
.list-price dl > div{
	display : flex;
	flex-wrap : wrap;
}
.list-price dt , .list-price dd{
	letter-spacing : .1em;
}
.list-price dd:nth-of-type(1){
	flex-grow : 1;
	font-weight : 500;
}
.list-price dd:nth-of-type(2){
	width : 100%;
	line-height : 1.54;
	color : #666;
}
@media screen and (max-width: 768px){
	.list-price .title{
		font-size : calc( 30 * 100vw / 768 );
	}
	.list-price li + li{
		margin-top : calc( ( 80 - 4 ) * 100vw / 768 );
	}
	.list-price dl{
		margin-top : calc( 34 * 100vw / 768 );
	}
	.list-price dl > div + div{
		margin-top : calc( 30 * 100vw / 768 );
	}
	.list-price dt , .list-price dd:nth-of-type(1){
		font-size : calc( 26 * 100vw / 768 );
		line-height : 1.31;
	}
	.list-price dt{
		flex-grow : 1;
	}
	.list-price dd:nth-of-type(1){
		text-align : right;
	}
	.list-price dd:nth-of-type(2){
		font-size : calc( 22 * 100vw / 768 );
		line-height : 1.55;
	}
}
@media print,screen and (min-width: 769px){
	.list-price dt , .list-price dd:nth-of-type(1){
		line-height : 1.25;
	}
	.list-price dt{
		flex-shrink : 1;
	}
	.list-price dd:nth-of-type(1){
		flex-grow : 1;
	}
	.list-price dd:nth-of-type(2){
		line-height : 1.54;
	}
}
@media screen and (min-width: 769px) and (max-width:1279px){
	.list-price .title{
		font-size : calc( 20 * 100vw / 768 );
	}
	.list-price li + li{
		margin-top : calc( ( 47 - 2 ) * 100vw / 768 );
	}
	.list-price dl{
		margin-top : calc( ( 20 - 2 ) * 100vw / 768 );
	}
	.list-price dl > div + div{
		margin-top : calc( 20 * 100vw / 768 );
	}
	.list-price dt , .list-price dd{
		font-size : calc( 16 * 100vw / 768 );
	}
	.list-price dt{
		width : calc( 520 * 100% / 800 );
	}
	.list-price dd:nth-of-type(1){
		padding-left : calc( 30 * 100% / 800 );
	}
	.list-price dd:nth-of-type(2){
		font-size : calc( 13 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 1280px) and (max-width:1379px){
	.list-price .title{
		font-size : calc( 20 * 100vw / 1280 );
	}
	.list-price li + li{
		margin-top : calc( ( 47 - 2 ) * 100vw / 1280 );
	}
	.list-price dl{
		margin-top : calc( ( 20 - 2 ) * 100vw / 1280 );
	}
	.list-price dl > div + div{
		margin-top : calc( 20 * 100vw / 1280 );
	}
	.list-price dt , .list-price dd{
		font-size : calc( 16 * 100vw / 1280 );
	}
	.list-price dt{
		width : calc( 520 * 100% / 800 );
	}
	.list-price dd:nth-of-type(1){
		padding-left : calc( 30 * 100% / 800 );
	}
	.list-price dd:nth-of-type(2){
		font-size : calc( 13 * 100vw / 1280 );
	}
}
@media print,screen and (min-width: 1380px){
	.list-price .title{
		font-size : 20px;
	}
	.list-price li + li{
		margin-top : calc( 47px - 2px );
	}
	.list-price dl{
		margin-top : calc( 20px - 2px );
	}
	.list-price dl > div + div{
		margin-top : 20px;
	}
	.list-price dt , .list-price dd{
		font-size : 16px;
	}
	.list-price dt{
		width : 520px;
	}
	.list-price dt span{
		font-size : 13px;
	}
	.list-price dd:nth-of-type(1){
		padding-left : 30px;
	}
	.list-price dd:nth-of-type(2){
		font-size : 13px;
	}
}
.list-staff picture img{
	width : 100%;
	height : 100%;
	object-fit: cover;
}
.list-staff .title{
	letter-spacing : .1em;
}
.list-staff .title span{
	font-weight : 400;
	margin-left : 1em;
}
.list-staff .title span:before , .list-staff .title span:after{
	content : "－";
}
.list-staff .title span:before{
	margin-right : .25em;
}
.list-staff .title span:after{
	margin-left : .25em;
}
.list-staff .links{
	display : flex;
	flex-wrap : wrap;
}
.list-staff .links a{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	border-color : #666;
	border-style : solid;
	color : #221815;
	padding : .3em 1em;
	border-width : 1px;
	line-height : 1.8;
}
@media screen and (max-width: 768px){
	.list-staff > li + li{
		margin-top : calc( ( 104 - 8.6 ) * 100vw / 768 );
	}
	.list-staff picture{
		width : calc( 500 * 100vw / 736 );
		height : calc( 500 * 100vw / 736 );
		margin-left : auto;
		margin-right : auto;
	}
	.list-staff .title{
		text-align : center;
		font-size : calc( 36 * 100vw / 768 );
		margin-top : calc( 30 * 100vw / 768 );
	}
	.list-staff .title span{
		display : block;
		font-size : calc( 24 * 100vw / 768 );
		margin-top : calc( 5 * 100vw / 768 );
	}
	.list-staff p{
		margin-top : calc( 16 * 100vw / 768 );
	}
	.list-staff .links{
		margin-top : calc( ( 20 - 12 ) * 100vw / 768 );
		margin-left : calc( -12 * 100vw / 768 );
	}
	.list-staff .links > li{
		margin-top : calc( 12 * 100vw / 768 );
		margin-left : calc( 12 * 100vw / 768 );
	}
	.list-staff .links a{
		font-size : calc( 24 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	.list-staff > li{
		display : flex;
		align-items : flex-start;
	}
	section.voice-index .list-staff li{
		display : block;
	}
	section.voice-index .list-staff li a{
		display : flex;
		align-items : flex-start;
	}
	.list-staff picture{
		flex-shrink : 0;
	}
	.list-staff > li > div{
		flex-grow : 1;
	}
	.list-staff .title{
		display : flex;
		align-items : flex-end;
		font-weight : 500;
	}
}
@media screen and (min-width: 769px) and (max-width:1279px){
	.list-staff > li + li{
		margin-top : calc( 50 * 100vw / 768 );
	}
	.list-staff picture{
		width : calc( 300 * 100% / 1080 );
		height : calc( 300 * 100% / 1080 );
		margin-right : calc( 24 * 100% / 1080 );
	}
	.list-staff .title{
		font-size : calc( 24 * 100vw / 768 );
	}
	.list-staff .title span{
		font-size : calc( 16 * 100vw / 768 );
	}
	.list-staff p{
		margin-top : calc( 20 * 100vw / 768 );
	}
	.list-staff .links{
		margin-top : calc( ( 20 - 12 ) * 100vw / 768 );
		margin-left : calc( -12 * 100vw / 768 );
	}
	.list-staff .links > li{
		margin-top : calc( 12 * 100vw / 768 );
		margin-left : calc( 12 * 100vw / 768 );
	}
	.list-staff .links a{
		font-size : calc( 16 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 1280px) and (max-width:1379px){
	.list-staff > li + li{
		margin-top : calc( 50 * 100vw / 1280 );
	}
	.list-staff picture{
		width : calc( 300 * 100% / 1080 );
		height : calc( 300 * 100% / 1080 );
		margin-right : calc( 24 * 100% / 1080 );
	}
	.list-staff > li > div{
		padding-top : calc( 46 * 100vw / 1280 );
	}
	.list-staff .title{
		font-size : calc( 24 * 100vw / 1280 );
	}
	.list-staff .title span{
		font-size : calc( 16 * 100vw / 1280 );
	}
	.list-staff p{
		margin-top : calc( 20 * 100vw / 1280 );
	}
	.list-staff .links{
		margin-top : calc( ( 20 - 12 ) * 100vw / 1280 );
		margin-left : calc( -12 * 100vw / 1280 );
	}
	.list-staff .links > li{
		margin-top : calc( 12 * 100vw / 1280 );
		margin-left : calc( 12 * 100vw / 1280 );
	}
}
@media print,screen and (min-width: 1380px){
	.list-staff > li + li{
		margin-top : 50px;
	}
	.list-staff picture{
		width : 300px;
		height: 300px;
		margin-right : 24px;
	}
	.list-staff > li > div{
		padding-top : 46px;
	}
	.list-staff .title{
		font-size : 24px;
	}
	.list-staff .title span{
		font-size : 16px;
	}
	.list-staff p{
		margin-top : 20px;
	}
	.list-staff .links{
		margin-top : calc( 20px - 12px );
		margin-left : -12px;
	}
	.list-staff .links > li{
		margin-top : 12px;
		margin-left : 12px;
	}
}
/*--------------------------------------------
MAP CONTAINER
---------------------------------------------*/
.map-container{
	width : 100%;
	position : relative;
}
.map-container > #map , .map-container > iframe{
	width : 100%;
	height : 100%;
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	bottom : 0;
	margin : auto;
}
@media screen and (max-width: 768px){
	.map-container{
		height : calc( 692 * 100vw / 768 );
	}
}
@media screen and (min-width: 769px) and (max-width:1279px){
	.map-container{
		height : calc( 500 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 1280px) and (max-width:1379px){
	.map-container{
		height : calc( 500 * 100vw / 1280 );
	}
}
@media print,screen and (min-width: 1380px){
	.map-container{
		height : 510px;
	}
}