/* CSS Document */


/*- menu -*

変更領域, fv

* filetop *
------------------------------------------------------------------------------------------------------------------------------------------*/

/*- File name [ style.css ] -*/

/*------------------------------------------------------------------------------------------------------------------------------------------

* 変更領域

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/

/*- body -*/
body, body *{
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
    color: #000000;
	font-size: clamp(1.4rem, 1.9vw, 1.6rem);
}

/*- footer -*/
footer .inner{
    background: linear-gradient(45deg, #ffe99f, #e14779);
}

footer .inner p{
	color: #FFFFFF;
}

/*- title -*/
h3.title img{
	margin-right: auto;
	margin-left: auto;
	width: clamp(160px, 20.9vw, 250px);
}

/*- Box -*/
.Box > *{
}

/* ar_sp */
.ar_sp a{
}


.afterLeft::after,
.afterRight::after{
	content: "";
	display: block;
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	height: clamp(40px, 6.3vw, 120px);
}

.afterLeft::after{
	background-image: url("../img/index/sp/left_triangle.png");
}

.afterRight::after{
	background-image: url("../img/index/sp/right_triangle.png");
}

/* dlBox */
.dlBox{
	background: url("../img/index/sp/paper_bg.png") repeat center, #f7f1ed;
}

.dlBox img{
	margin-right: auto;
	margin-left: auto;
}

.dlBox .inhalt{
	padding: 0 clamp(20px, 2.7vw, 40px);
}

.dlBox .inhalt > *{
	margin-right: auto;
	margin-left: auto;
	max-width: 960px;
}

.dlBox .inhalt > * > * + *:not(.dlImage):not(.dlLinks){
	margin-top: clamp(20px, 2.7vw, 40px);
}

.dlBox .dlImage{
	margin-top: clamp(25px, 3.26vw, 40px);
}

.dlBox .dlLinks{
	margin-top: 20px;
}

.dlBox .dlLinks .sp > p{
	text-indent: clamp(-1.4rem, -1.9vw, -1.6rem);
	padding-left: clamp(1.4rem, 1.9vw, 1.6rem);
	margin-top: 16px;
	font-weight: bold;
}

.dlBox .dlLinks .sp > p >a{
	font-weight: bold!important;
}




/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {
	
	a:hover{
		opacity: 0.7;
	}
	
	.afterLeft::after{
		background-image: url("../img/index/pc/left_triangle.png");
	}

	.afterRight::after{
		background-image: url("../img/index/pc/right_triangle.png");
	}
	
}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
}







/*------------------------------------------------------------------------------------------------------------------------------------------

* fv

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/
.fv .fv_box{
    background: url("../img/index/pc/fv_bg.jpg") no-repeat center;
    background-size: auto 100%;
}

.fv .fv_box img{
    margin-right: auto;
    margin-left: auto;
}




/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {
	
	
	
}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
	
	
	
}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
	
	
	
}


/*------------------------------------------------------------------------------------------------------------------------------------------

* Download

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/
/* topDownload */
#topDownload .inhalt > *{
	padding: clamp(40px, 5.3vw, 80px) 0 40px;
}

/* btmDownload */
#btmDownload .inhalt > *{
	padding: clamp(40px, 5.3vw, 80px) 0;
}




/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {
	
	
	
}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
	
	
	
}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
	
	
	
}







/*------------------------------------------------------------------------------------------------------------------------------------------

* contactBox

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/
#contactBox{
	background-color: #ccb2b4;
	padding: clamp(40px, 5.3vw, 80px) clamp(20px, 2.7vw, 40px);
}

#contactBox .infoBox{
	background-image: linear-gradient(-45deg, #ccb2b4, #ccb2b4 10vw, #FFFFFF 10vw, #FFFFFF calc(10vw + 1px), transparent calc(10vw + 1px), transparent calc(100% - (10vw + 1px)), #FFFFFF calc(100% - (10vw + 1px)), #FFFFFF calc(100% - 10vw), #ccb2b4 calc(100% - 10vw), #ccb2b4), linear-gradient(90deg, #ccb2b4, #ccb2b4 10px, transparent 10px, transparent calc(100% - 10px), #ccb2b4 calc(100% - 10px), #ccb2b4), linear-gradient(#ccb2b4, #ccb2b4 10px, #FFFFFF 10px, #FFFFFF calc(100% - 10px), #ccb2b4 calc(100% - 10px), #ccb2b4);
	padding: 50px;
	margin-right: auto;
	margin-left: auto;
	margin-top: clamp(20px, 2.7vw, 30px);
	max-width: 1060px;
}

#contactBox .infoBox .innerbox{
	display: grid;
	row-gap: clamp(20px, 2.7vw, 40px); 
	column-gap: clamp(30px, 4vw, 60px);
}

#contactBox .infoBox .innerbox .left h4{
	font-weight: 900;
}

#contactBox .infoBox .innerbox .right > * + *{
	margin-top: clamp(16px, 2.1vw, 20px);
}

#contactBox .infoBox .innerbox .right ul *{
	line-height: 1.4;
}

#contactBox .infoBox .innerbox .right ul > li:first-of-type{
	display: flex;
	flex-wrap: wrap;
}

#contactBox .infoBox .innerbox .right ul > li + li{
	border-top: 1px dotted #000000;
	padding-top: clamp(16px, 2.1vw, 20px);
	margin-top: clamp(16px, 2.1vw, 20px);
}

#contactBox .infoBox .innerbox .right ul > li h5{
	width: min(25%, 110px);
}




/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {
	
	#contactBox .infoBox{
	background-image: linear-gradient(-45deg, #ccb2b4, #ccb2b4 45px, #FFFFFF 45px, #FFFFFF calc(45px + 1px), transparent calc(45px + 1px), transparent calc(100% - (45px + 1px)), #FFFFFF calc(100% - (45px + 1px)), #FFFFFF calc(100% - 45px), #ccb2b4 calc(100% - 45px), #ccb2b4), linear-gradient(90deg, #ccb2b4, #ccb2b4 10px, transparent 10px, transparent calc(100% - 10px), #ccb2b4 calc(100% - 10px), #ccb2b4), linear-gradient(#ccb2b4, #ccb2b4 10px, #FFFFFF 10px, #FFFFFF calc(100% - 10px), #ccb2b4 calc(100% - 10px), #ccb2b4);
	padding: 50px;
}
	
	#contactBox .infoBox .innerbox{
		grid-template-columns: repeat(2, 1fr);
		align-items: center;
	}
	
	#contactBox .infoBox .innerbox .left .sp{
		display: block;
	}
	
	#contactBox .infoBox .innerbox .right .tell{
		display: flex;
		align-items: center;
	}
	
	#contactBox .infoBox .innerbox .right .tell::before{
		content: "電話番号：";
	}
	
	#contactBox .infoBox .innerbox .right .tell span{
		font-family: "Roboto", sans-serif;
		font-weight: 500;
  		font-style: normal;
		font-size: 3.2rem;
		line-height: 1;
	}
	
	#contactBox .infoBox .innerbox .right ul > li{
		display: flex;
		flex-wrap: wrap;
	}
	
}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
	
	#contactBox .infoBox .innerbox *:not(.tell){
		font-size: 2rem;
	}

	#contactBox .infoBox .innerbox .right .tell span{
		font-size: 4.8rem;
	}
	
}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
	
	#contactBox .infoBox .innerbox .left .sp{
		display: none;
	}
	
}







/*------------------------------------------------------------------------------------------------------------------------------------------

* btmFix

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/
#btmFix{
	display: grid;
	grid-template-columns: 1fr 60px;
	column-gap: clamp(10px, 1.4vw, 20px);
	align-items: center;
	padding: clamp(10px, 1.4vw, 20px);
	position: fixed;
	z-index: 999;
	width: 100%;
	bottom: 0;
	right: 0;
	transform: translateY(100%);
	opacity: 0;
}

#btmFix .fixbtn{
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: #d51358;
	border-radius: 99px;
	box-shadow: 3px 3px 5px 0 #a98082;
}

#btmFix .fixbtn::after,
#btmFix .fixbtn::before{
	content: "";
	display: block;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
	aspect-ratio: 1 / 1;
	width: 40px;
}

#btmFix .fixbtn::before{
	background-image: url("../img/index/sp/fixbtn_before.png");
}

#btmFix .fixbtn::after{
	background-image: url("../img/index/sp/fixbtn_after.png");
}

#btmFix .fixbtn img{
	height: 1.6rem;
}

#btmFix .fixbtn.pc{
	display: none;
}
	
#btmFix #returnTop img{
	cursor: pointer;
}

#btmFix.on{
	animation: slideIn 0.1s cubic-bezier(0.33, 1, 0.68, 1) forwards, fadeIn 0.7s cubic-bezier(0.33, 1, 0.68, 1) 0.1s forwards;
}

@keyframes slideIn {
	0% {
		transform: translateY(100%);
	}
	100% {
		transform: translateY(0);
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

#btmFix.off{
	animation: fadeOut 0.7s cubic-bezier(0.33, 1, 0.68, 1) both, slideOut 0.1s cubic-bezier(0.33, 1, 0.68, 1) 0.7s both;
}

#btmFix.off > li{
	animation: 
}

@keyframes slideOut {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(100%);
	}
}

@keyframes fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}




/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {
	
	#btmFix{
		display: flex;
		flex-direction: column;
		row-gap: clamp(20px, 2.7vw, 40px);
		padding: clamp(20px, 2.7vw, 40px);
		width: auto;
	}
	
	#btmFix .fixbtn{
		position: relative;
		flex-direction: column;
		padding-top: 30px;
		width: 60px;
	}

	#btmFix .fixbtn::after,
	#btmFix .fixbtn::before{
		height: 60px;
		width: auto;
	}
	
	#btmFix .fixbtn::before{
		height: 50px;
		width: 50px;
		position: absolute;
		right: -15px;
		top: -15px;
	}
	
	#btmFix .fixbtn::after{
		min-height: 60px;
		transform: rotate(90deg);
	}

	#btmFix .fixbtn img{
		height: auto;
	}
	
	#btmFix .fixbtn.sp{
		display: none;
	}
	
	#btmFix .fixbtn.pc{
		display: flex;
	}
	
	#btmFix #returnTop{
		width: 60px;
	}
	
	
	
}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
	
	
	
}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
	
	
	
}







/*------------------------------------------------------------------------------------------------------------------------------------------

* Add Sample Code

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/




/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {
	
	
	
}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
	
	
	
}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
	
	
	
}