@charset "utf-8";

article strong{}
article .small{}
article .btn{}
article .btn a{
	padding: 12px;
	display: block;
	padding-right: 23px;
	font-size: 3.8vw;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}
article .btn a:hover{}
article .btn a:after{}
article .btn a[href^="#"]:after{}
article .btn.Big{
	width: 88%;
	margin: 0 auto;
}
article .btn.Big a{
	padding: 12px;
	font-size: 3.8vw;
	display: block;
}
article img{}
article .Photo{}
article .Photo img{
	border-radius: 4px;
}
article .Photo .caption{}
article .WideWidth{
	width: 87%;
	max-width: max-content;
	min-width: auto;
}
article .commonTtl{white-space: normal;font-size: 3.5vw;line-height: 1.3;padding: 4px 3px 6px 4px;}
article .commonTtl strong{
	font-size: 4.5vw;
}
article .commonTtl span{}
article .commonTtl:before,article .commonTtl:after{}
article .commonTtl:after{}
article .commonTtl br{
	display: block;
}

article .SMP{display: block !important;}


/*-------------------------------------------SearchIconBtn*/
#SearchIconBtn{
	top: auto;
	bottom: 40px;
	margin-top: 0;
	transform: inherit;
}
#SearchIconBtn p{}
#SearchIconBtn.link{}
#SearchIconBtn a{
	font-size: 12px;
	width: auto;
	border: 2px solid #FFF;
	border-right: 0;
	padding: 9px 5px 7px 8px;
}
#SearchIconBtn.link a{}
#SearchIconBtn a span{}
#SearchIconBtn a:after{}
#SearchIconBtn a:before{
	font-size: 12px;
}

/*-----------------------------------ContactIconBtn*/
#ContactIconBtn{
	right: auto;
	top: auto;
	bottom: 10px;
	transform: inherit;
	margin-top: 0;
	padding: 8px;
	width: 50%;
}
#ContactIconBtn .delete{}
#ContactIconBtn .delete:hover{}
#ContactIconBtn .delete::after,#ContactIconBtn .delete::before{}
#ContactIconBtn .delete::after{}
#ContactIconBtn p{}
#ContactIconBtn .link{
}
#ContactIconBtn ul{flex-wrap: wrap;}
#ContactIconBtn li{
	margin: 0 3px;
	flex: 1;
}
#ContactIconBtn li:nth-of-type(1){
	width: 100%;
	flex: auto;
	margin-bottom: 5px;
}
#ContactIconBtn li + li{
	margin-left: 3px;
}
#ContactIconBtn a{
	padding: 7px 16px;
	border-radius: 3px;
}
#ContactIconBtn a:after{}
#ContactIconBtn a:hover{}

/*---------------------Accordion*/
article .Accordion {}
article .Accordion .Inner{
	display: none;
	margin-top: 10px;
}
article .Accordion .AccClose{
	background-color: #bdbdbd;
	color: #fff;
	text-align: center;
	padding: 5px 0;
	margin-top: 5px;
}
article .Accordion .trigger{position: relative;display: block;}
article .Accordion .trigger:after{position: absolute;right: 8px;top:50%;margin-top:-0.5em;content:"\f067";font-family:FontAwesome;line-height: 1;font-weight: normal;}
article .Accordion .trigger.active:after{content: "\f068";}

/*-----------------------------------------------Head*/
#Head{padding-bottom: 40px;}
#Head:after{content: none;}
#Head:before{}
#Head #MV{
}
#Head #MV .MvIn{}
#Head #MV .Title{
	display: block;
}
#Head #MV .Title .Box{
	width: 100%;
}
#Head #MV .Title .Box h2,#Head #MV .Title .Box h1{}
#Head #MV .Title .Box h2,#Head #MV .Title .Box h1 p{
	font-size: 4.5vw;
}
#Head #MV .Title .Box h1{}
#Head #MV .Title .Box h2{}
#Head #MV .Title .Box h2 p,#Head #MV .Title .Box h1 p{
	margin-bottom: 6px;
}
#Head #MV .Title .Box h1 p + p{
	font-size: 7vw;
}
#Head #MV .Title .Box h2 p strong,#Head #MV .Title .Box h1 p strong{}
#Head #MV .Title .Box h1 p strong{}
#Head #MV .Title .Pickup{
	width: 100%;
	margin-top: 10px;
}
#Head #MV .Title .Pickup h3{
	font-size: 12px;
	margin-bottom: 7px;
	text-shadow: 0 0 4px rgb(0 0 0 / 60%);
}
#Head #MV .Title .Pickup h3 strong{}
#Head #MV .Title .Pickup ul{}
#Head #MV .Title .Pickup li{
	width: 30%;
	font-size: 3.5vw;
	aspect-ratio: 1;
	height: auto;
	border-width: 2px;
	box-shadow: 0px 0px 0px 2px rgb(175 229 238);
}
#Head #MV .Title .Pickup li strong{}
#Head #MV .Title .Desk{
	margin-top: 30px;
}
#Head #MV .Title .Desk:before,#Head #MV .Title .Desk:after{}
#Head #MV .Title .Desk:after{}
#Head #MV .Title .Desk dl{
	flex: 1;
	text-align: left;
	margin-right: -17px;
	margin-top: 0;
}
#Head #MV .Title .Desk dt{
	font-size: 3.5vw;
	background-color: inherit;
	color: #fff;
	padding: 0;
	line-height: 1.4;
	text-shadow: 0 0 4px rgb(0 0 0 / 60%);
	display: flex;
	flex-wrap: wrap;
}
#Head #MV .Title .Desk dt strong{
	color: #fffe60;
	font-size: 130%;
}
#Head #MV .Title .Desk dd{
	font-size: 13px;
	color: #fff;
	text-shadow: 0 0 4px rgb(0 0 0 / 60%);
	position: relative;
	z-index: 3;
}
#Head #MV .Title .Desk dd br{
	display: none;
}
#Head #MV .Title .Desk .Photo{
	width: 40%;
	margin-left: -10px;
}
#Head #MV .Title .Desk .Photo p{
	width: auto;
}
#Head #MV .Title .Desk .Photo p + p{}
#Head #MV .Title .Desk .Photo img{}
#Head #MV .Photo{}
#Head #MV .Photo ul{
	display: block;
}
#Head #MV .Photo li{
	height: 42vw;
	min-height: auto;
	max-height: max-content;
}
#Head #MV .Photo li + li{
	display: none;
}
#Head #MV .Photo li:nth-of-type(1) .img{
	border-radius: 6px;
}
#Head #MV .Photo li:nth-of-type(3) .img{}
#Head #MV .Photo li .img{}
#Head #MV .Photo li .caption{}

#Head #MV .btn{
	margin-bottom: 0;
	margin-top: 20px;
}
#Head #MV .btn ul{
	display: block;
	width: 95%;
}
#Head #MV .btn li{}
#Head #MV .btn li + li{
	margin-top: 15px;
}
#Head #MV .btn li a{
	font-size: 14px;
}

#Head #MV .Photo .LogoArea{
	display: block;
	height: auto;
	width: 90%;
	min-width: auto;
	max-width: inherit;
	margin: 0 auto;
	margin-top: -10px;
}
#Head #MV .Photo .LogoArea .copy{}
#Head #MV .Photo .LogoArea .logo{}
#Head #MV .Photo .LogoArea .date{}
#Head #MV .Photo .LogoArea .Recept{
	text-align: center;
	font-size: 14px;
}
#Head #MV .Photo .LogoArea .Recept span{}
#Head #MV .Photo .LogoArea .Recept span + span{}

/*---------------------------------------Purpose*/
#Purpose{
	margin-bottom: 30px;
}
#Purpose h2{
	font-size: 6vw;
	margin-bottom: 30px;
}
#Purpose h2:before,#Purpose h2:after{}
#Purpose h2:before{}
#Purpose h2:after{}
#Purpose h2 p{}
#Purpose h2 strong{}
#Purpose .Inner{flex-direction: column;}
#Purpose .Inner h3{
	order: 4;
	margin-top: 20px;
	font-size: 5.2vw;
}
#Purpose .Inner h3 p{
	line-height: 1.3;
}
#Purpose .Inner h3 p:after{
	content: none;
}
#Purpose .Inner h3 strong{}
#Purpose .Inner .Box{
	width: 100%;
	padding: 0;
	margin-top: 0;
	display: block;
	order: 1;
}
#Purpose .Inner .Box:nth-of-type(2){
	order: 2;
	margin-top: 12px;
	margin-left: 0;
}
#Purpose .Inner .Box .comment{
	display: block;
	padding: 9px;
}
#Purpose .Inner .Box .comment br{
	display: none;
}
#Purpose .Inner .Box .comment:nth-child(even){
	margin-right: 0;
}
#Purpose .Inner .Box:nth-of-type(2) .comment:nth-child(even){
	margin-left: 0;
}
#Purpose .Inner .Box .comment + .comment{
	margin-top: 12px;
}
#Purpose .Inner .Box .comment strong{
	font-size: 100%;
}
#Purpose .Inner .Box .comment:before{
	content: none;
}
#Purpose .Inner .Box:nth-of-type(2) .comment:before{}
#Purpose .Inner .Illust{
	order: 3;
	padding-top: 18px;
	width: 100%;
}
#Purpose .Inner .Illust img{}
#Purpose .Inner .Box .comment:after{
	font-size: 20px;
}
#Purpose .Inner .Box .comment:nth-of-type(1):after{
	left: auto;
	right: 0px;
	top: -12px;
}
#Purpose .Inner .Box .comment:nth-of-type(2):after{
	left: -10px;
}
#Purpose .Inner .Box:nth-of-type(2) .comment:nth-of-type(1):after{
	left: auto;
	right: 0;
}
#Purpose .Inner .Box:nth-of-type(2) .comment:nth-of-type(2):after{}
#Purpose .Inner .Box:nth-of-type(2) .comment:nth-of-type(3):after{
	right: 10px;
}


/*------------------------------------Info*/
#Info{
	padding: 40px 0;
}
#Info:before{
	border-right: 50px solid transparent;
	border-left: 50px solid transparent;
	border-top: 30px solid #ffffff;
}
#Info .head{}
#Info .head dt{}
#Info .head dt strong{}
#Info .head dd{}
#Info .head a{}
#Info .head:after{}
#Info .Intro{
	padding: 20px;
}
#Info .Intro h2{display: block;position: relative;left: auto;transform: inherit;width: 90%;margin: 0 auto;margin-top: -40px;top: auto;margin-bottom: 10px;}
#Info .Intro h2 strong{
	font-weight: bold;
	color: #ffff51;
}
#Info .Inner{}
#Info .Inner h3{
	display: block;
	margin-bottom: 10px;
}
#Info .Inner h3 span{
	font-size: 4.5vw;
	line-height: 1.3;
}
#Info .Inner h3:before, #Info .Inner h3:after{
	content: none;
}
#Info .Inner .Box{
	display: block;
}
#Info .Inner .Entry{
	width: 100%;
}
#Info .Inner .Entry + .Entry{
	margin-top: 30px;
}
#Info .Inner .Entry .Photo{}
#Info .Inner .Entry dl{}
#Info .Inner .Entry dt{
	font-size: 4.5vw;
}
#Info .Inner .Entry dd{
	font-size: 13px;
}
#Info .Inner + .Inner{
	margin-top: 30px;
}
#Info .Inner + .Inner .Entry{flex-wrap: wrap;justify-content: space-between;}
#Info .Inner + .Inner .Photo{
	width: 48%;
}
#Info .Inner + .Inner .Photo + .Photo{
	margin-left: 0;
}
#Info .Inner + .Inner .Photo .caption{
	font-size: 11px;
	position: relative;
	transform: rotate(0deg);
	left: auto;
	border-radius: 4px;
	padding: 4px;
	margin-top: 3px;
}
#Info .Inner + .Inner dl{
	width: 100%;
	flex: auto;
	margin-left: 0;
	margin-top: 10px;
}
#Info .Inner + .Inner:after{}
#Info .Answer{
	width: 87%;
	margin: 0 auto;
}
#Info .Answer .Entry{
	margin-bottom: 30px;
}
#Info .Answer .Entry dl{
	text-align: left;
}
#Info .Answer .Entry dt{
	font-size: 3.8vw;
	text-align: left;
	padding-bottom: 10px;
}
#Info .Answer .Entry dt br{
	display: none;
}
#Info .Answer .Entry dd{
	font-size: 4.8vw;
}
#Info .Answer .Entry dd strong{}
#Info .Answer .Entry dd + dd{
	line-height: 1.3;
	display: inline-block;
	margin-bottom: 0;
}
#Info .Answer .Entry .illust{
	display: none;
}
#Info .Answer .Entry + .Entry{
	max-width: max-content;
	display: block;
	margin: 0;
	width: 100%;
}
#Info .Answer .Entry + .Entry .Main{}
#Info .Answer .Entry + .Entry .Main dl{
	padding: 0;
}
#Info .Answer .Entry + .Entry .Main dt{
	font-size: 4vw;
	display: block;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 10px;
}
#Info .Answer .Entry + .Entry .Main dt:before,#Info .Answer .Entry + .Entry .Main dt:after{}
#Info .Answer .Entry + .Entry .Main dt:before{}
#Info .Answer .Entry + .Entry .Main dt:after{}
#Info .Answer .Entry + .Entry .Main dt strong{}
#Info .Answer .Entry + .Entry .Main dd{
	font-size: 13px;
}
#Info .Answer .Entry + .Entry .Main dd br{
	display: none;
}
#Info .Answer .Entry + .Entry .Main dl + dl{
	margin-top: 26px;
}
#Info .Answer .Entry + .Entry .Photo{
	width: 100%;
}
#Info .Answer .btn{
	margin-top: 30px;
	margin-bottom: 60px;
	width: 100%;
}

#Info .Copy{width: 90%;margin: 0 auto;margin-top: 30px;}
#Info .Copy dl{width: 100%;flex-direction: column-reverse;}
#Info .Copy dt{font-size: 13px;margin: 0;text-align: center;}
#Info .Copy dt strong{font-size: 130%;}
#Info .Copy dd{width: 90px;margin-bottom: 10px;}
#Info .Copy dd img{}


/*---------------------------------Classone*/
#Classone{
	padding: 40px 0;
}
#Classone:before{}
#Classone .Inner{
	width: 100%;
	display: block;
}
#Classone .Main{}
#Classone .Main h2{
	text-align: center;
	font-size: 4vw;
}
#Classone .Main h2 p{padding: 5px 5px;}
#Classone .Main h2 p + p{
	margin-top: 6px;
}
#Classone .Main h2 p strong{
	font-size: 110%;
}
#Classone .Main .txt{
	font-size: 13px;
	width: 87%;
	margin: 0 auto;
	padding-bottom: 10px;
}
#Classone .Main .btn{
	width: 87%;
	margin: 0 auto;
	margin-bottom: 30px;
}
#Classone .Photo{
	width: 87%;
	margin: 0 auto;
}
#Classone .Photo img{}

/*-------------------------------Voice*/
#Voice{
	padding: 40px 0;
	width: 87%;
	margin: 0 auto;
}
#Voice h2{
	/* font-size: 4vw; */
	margin-right: 15px;
	display: block;
}
#Voice .Maintxt{
	font-size: 14px;
}
#Voice .Inner{
	width: 100%;
	display: block;
	margin-top: 40px;
}
#Voice .Inner:after{
	font-size: 10vw;
	left: 0;
	bottom: -54px;
}
#Voice .Inner .Box{
	width: 100%;
}
#Voice .Inner .Box + .Box{}
#Voice .Inner .Box .Entry{
	padding: 20px;
	border-radius: 5px;
	border: 3px solid #379ccf;
	padding-top: 30px;
	margin-bottom: 40px;
}
#Voice .Inner .Box .Entry + .Entry{
	margin-top: 0;
}
#Voice .Inner .Box .Entry p{
	font-size: 14px;
}
#Voice .Inner .Box .Entry p strong{}
#Voice .Inner .Box .Entry:before{}

#Voice .btn{
	width: 100%;
	margin-top: 70px;
}

/*-------------------------------*/
#Point{padding: 50px 0px;}
#PointIn{
	background-color: #fff;
}
#Point h2{position: relative;margin-left: -10px;width: 90%;}
#Point h2 .sub{}
#Point h2 .sub span{}
#Point h2 .sub span:before,#Point h2 .sub span:after{}
#Point h2 .sub span:before{}
#Point h2 .sub span:after{}
#Point h2 .main{}
#Point h2 .main:before,#Point h2 .main:after{}
#Point .Inner{
	background-color: inherit;
	padding: 20px;
	padding-top: 0;
	margin-top: -10px;
}
#Point .Inner h3{
	font-size: 3.5vw;
	margin-bottom: 16px;
}
#Point .Inner h3 strong{}
#Point .Inner .Entry{
	width: 100%;
}
#Point .Inner .Entry + .Entry{
	margin-top: 30px;
}
#Point .Inner .Entry .deco{}
#Point .Inner .Entry .deco strong{}
#Point .Inner .Entry .Photo{
	margin-bottom: 7px;
}
#Point .Inner .Entry .Photo img{}
#Point .Inner .Entry dl{}
#Point .Inner .Entry dt{
	font-size: 4.8vw;
}
#Point .Inner .Entry dd{}
#Point .Inner .btn{
	margin-top: 20px;
}
#Point .Inner .btn h4{
	font-size: 3.8vw;
}
#Point .Inner .btn h4:before,#Point .Inner .btn h4:after{content: none;}
#Point .Inner .btn h4:before{}
#Point .Inner .btn h4:after{}
#Point .Inner .btn ul{
	display: block;
}
#Point .Inner .btn li{}
#Point .Inner .btn li + li{
	margin: 0;
	margin-top: 15px;
}
#Point .Inner .btn li a{}
#Point .Inner .atte{
	font-size: 4vw;
	margin-top: 20px;
}

/*-------------------------------Contact*/
#Contact{
	padding: 40px 0;
	width: 87%;
	margin: 0 auto;
}
#Contact h2{
	font-size: 5vw;
	line-height: 1.4;
	margin-bottom: 20px;
}
#Contact h2 strong{}
#Contact h2 em{}
#Contact .txt{
	font-size: 3.7vw;
}
#Contact ul{
	width: 100%;
	display: block;
}
#Contact li{}
#Contact li + li{
	margin-left: 0;
	margin-top: 20px;
}
#Contact li a{
	padding: 15px;
	font-size: 6vw;
}
#Contact li a span{
	display: inline;
}

/*----------------------------------------Item*/
#Item{
	padding: 40px 0;
	background-size: 20%;
}
#Item h2{
	width: 90%;
	margin: 0 auto;
	margin-bottom: 20px;
}
#Item h2 .logo{
	width: 60%;
	margin-bottom: 10px;
}
#Item h2 .txt{
	font-size: 16px;
}
#Item h2 .txt:before,#Item h2 .txt:after{
	content: none;
}
#Item h2 .txt:before{}
#Item h2 .txt:after{}
#Item h2 .txt span{}
#Item h2 .txt span br{}
#Item .SC{
	width: 90%;
	margin: 0 auto;
	margin-bottom: 30px;
}
#Item .SC dt{
	display: block;
	background-color: #fff;
	padding: 10px 10px;
	background-color: var(--Gold);
	text-align: center;
	font-weight: bold;
	font-size: 13px;
	border-radius: 100px;
	color: #fff;
}
#Item .SC ul{}
#Item .SC li{
	width: 48%;
}
#Item .SC li.long{
	width: 100%;
}
#Item .SC li a{
	display: block;
	text-align: center;
}
#Item .SC li a:after{}
#Item .SC li a:hover{}
#Item .Sec{
	width: 90%;
}
#Item .Sec + .Sec{
	margin-top: 0;
}
#Item .Sec + .Sec:before{
	margin-bottom: 20px;
	background-size: 6%;
}
#Item .Sec .commonTtl{
	font-size: 20px;
	margin-bottom: 20px;
	margin-left: 0;
}
#Item .Sec .commonTtl span{}
#Item .Sec .ItemInner{}
#Item .Sec .ItemInner .EntryWrap{
	width: 100%;
}
#Item .Sec .ItemInner .EntryWrap .Entry{}
#Item .Sec .ItemInner.Column2 .EntryWrap{
	width: 100%;
}
#Item .Sec .ItemInner.Column1 .EntryWrap{}
#Item .ItemInner .Entry .Main .pointIcon li.normal.pickup{}
#Item .ItemInner.Column2 .Entry .Photo img{}
#Item .ItemInner .Entry:before{}
#Item .ItemInner .Entry:hover:before{}
#Item .ItemInner .Entry .Btm .btn a{}
#Item .ItemInner .EntryWrap .Otherlink{}
#Item .ItemInner .EntryWrap .Otherlink a{
	font-size: 13.5px;
}
#Item .ItemInner .EntryWrap .Otherlink a:after{}
#Item .ItemInner .EntryWrap .Otherlink a:hover{}

#Item .ItemInner .Entry .Photo .dst{
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	font-size: 14px;
	padding: 5px 0;
	position: relative;
}

/*------------------------------------------Topic*/
#Topic{
	padding: 50px 0;
}
#Topic:after{}


/*----------------------------------Campaign*/
.Campaign{
	width: 90%;
}
.Campaign + .DiscountTopic{
	width: 90%;
}
.Campaign.Discount .Title:before,.Campaign.Discount .Title:after{
	content: none;
}
.Campaign br.pc{}
.Campaign br.smp{
	display: block !important;
}
.Campaign .Entry .Detail .stamp{
	margin: 0;
	margin-bottom: 10px;
}
.Campaign .TitleArea{
	width: 100%;
	padding: 10px 10px;
}
.Campaign.Discount .Title .logo{}
.Campaign.Discount .Title h2{}
.Campaign.Discount .Title h2 p{
	font-size: 14px;
}
.Campaign.Discount .Title h2 p + p{
	font-size: 21px;
	margin-top: 2px;
}
.Campaign.Discount .Entry .Detail .main dt{}
.Campaign.Discount .Entry .Detail .main dd{
	font-size: 11px;
}
.Campaign.Discount .Entry .Detail{}
.Campaign.Discount .Entry .Detail .main{
	padding-top: 2px;
	border-top: none !important;
}
.Campaign.Discount .Entry .Detail .main dd + dd{
	font-size: 15px;
}
.Campaign.Discount .Entry .atte{}
.Campaign ul.list{}
.Campaign ul.list li{}
.Campaign ul.list li + li{}
.Campaign ul.list li:before{}
.Campaign .AccordionPC .AccClose{}
.Campaign .AccordionPC .trigger{}
.Campaign .AccordionPC .trigger:hover{}
.Campaign .AccordionPC .trigger:after{}
.Campaign .AccordionPC .trigger.active:after{}

/*--------------------------------OtherLink*/
#Topic .OtherLink{
	width: 90%;
}
#Topic .OtherLink a{
	display: flex;
	flex-direction: column;
	height: auto;
	padding: 20px 0;
}
#Topic .OtherLink a:before{}
#Topic .OtherLink a:hover{}
#Topic .OtherLink a:after{
	font-size: 38px;
	right: 10px;
}
#Topic .OtherLink a .deco{
	display: none;
}
#Topic .OtherLink a .sub{
	font-size: 11px;
	line-height: 1.6;
	margin-bottom: 6px;
}
#Topic .OtherLink a .main{
	font-size: 18px;
}

/*-----------------------------SearchWrap*/
#SearchWrap{
	width: 90%;
	padding-bottom: 0;
}
#SearchWrap:before{
	background-size: 6%;
	margin-bottom: 25px;
}
#SearchWrap:after{}
#SearchWrap h2{
	margin-left: 0;
	margin-bottom: 20px;
}
#SearchWrap h2 .main{
	font-size: 15.5px;
}
#SearchWrap .commonTtl:before,#SearchWrap .commonTtl:after{}
#SearchWrap .Inner{
	width: 100%;
}
#SearchWrap .Tab{
	background-color: rgb(0 0 0 / 20%);
}
#SearchWrap .TabEntry{}