@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');



/*  +++++++++++++++++++++++++ common +++++++++++++++++++++++++ */
.l-dprivate { font-family: 'Zen Maru Gothic',sans-serif; overflow: hidden; }
body#moviePage { height: auto; background: #000; }
.pc { display:block; }
.sp { display:none; }
img { display: inline; }
small { font-size: 80%; }
.btnY { cursor: pointer; }



/*  +++++++++++++++++++++++++ TOP Page +++++++++++++++++++++++++ */

/*  ++++ index ++++ */
@media screen and (min-width: 668px) {
	#bnrMovie { text-align: center; }
	#bnrMovie img { width: 380px; }
	#indexPage { width: 1120px; margin: 30px auto 60px; padding: 0; font-size: 1.6rem; line-height: 1.5; }
	#indexPage #readBox { margin: 0 auto 20px; padding: 0; text-align: center; }
	#indexPage #categoryBtnBox { margin: 0 auto 90px; padding: 0; }
	#indexPage #categoryBtnBox ul { display: flex; border-left: 2px dotted #3a3938; }
	#indexPage #categoryBtnBox ul li { margin: 0; padding: 0; width: calc(1120px / 3); border-right: 2px dotted #3a3938; font-size: 1.6rem; line-height: 1.8; text-align: center; }
	#indexPage #categoryBtnBox ul li a { display: block; position: relative; padding: 90px 0 25px; text-decoration: none; font-weight: bold; }
	#indexPage #categoryBtnBox ul li:nth-child(1) a::before { background: url("../image/icon_c01.png") no-repeat 0 0 / 72px auto; }
	#indexPage #categoryBtnBox ul li:nth-child(2) a::before { background: url("../image/icon_c02.png") no-repeat 0 0 / 72px auto; }
	#indexPage #categoryBtnBox ul li:nth-child(3) a::before { background: url("../image/icon_c03.png") no-repeat 0 0 / 72px auto; }
	#indexPage #categoryBtnBox ul li a::before,
	#indexPage #categoryBtnBox ul li a::after { position: absolute; content: ""; left: 0; right: 0; margin: auto; }
	#indexPage #categoryBtnBox ul li a::before { top: 0; width: 72px; height: 72px; }
	#indexPage #categoryBtnBox ul li a::after { bottom: 0; width: 23px; height: 13px; background: url("../image/icon_arrow.svg") no-repeat; }
	#indexPage #indexContents .bnrBox { margin: 0 auto 70px; padding: 0; width: 620px; }
	#indexPage #indexCategoryBox { width: 1050px; margin: 0 auto; padding: 0; }
	#indexPage #indexCategoryBox .box { margin: 0; padding: 0; }
	.c-contact>.content>.tel,
	.c-contact>.content>.date { width: 480px; }
}
@media screen and (max-width: 667px) {
	#bnrMovie { text-align: center; }
	#bnrMovie img { width: 80vw; }
	#indexPage { margin: 6vw 4vw 10vw; padding: 0; line-height: 1.5; }
	#indexPage #readBox { margin: 0 auto 2vw; padding: 0; text-align: center; }
	#indexPage #categoryBtnBox { margin: 0 auto 9vw; padding: 0; }
	#indexPage #categoryBtnBox ul { display: flex; border-left: 0.5vw dotted #3a3938; }
	#indexPage #categoryBtnBox ul li { margin: 0; padding: 0; width: calc(92vw / 3); border-right: 0.5vw dotted #3a3938; font-size: 3vw; line-height: 1.8; text-align: center; }
	#indexPage #categoryBtnBox ul li a { display: block; position: relative; padding: 9vw 0 3vw; text-decoration: none; font-weight: bold; }
	#indexPage #categoryBtnBox ul li:nth-child(1) a::before { background: url("../image/icon_c01.png") no-repeat 0 0 / 8vw auto; }
	#indexPage #categoryBtnBox ul li:nth-child(2) a::before { background: url("../image/icon_c02.png") no-repeat 0 0 / 8vw auto; }
	#indexPage #categoryBtnBox ul li:nth-child(3) a::before { background: url("../image/icon_c03.png") no-repeat 0 0 / 8vw auto; }
	#indexPage #categoryBtnBox ul li a::before,
	#indexPage #categoryBtnBox ul li a::after { position: absolute; content: ""; left: 0; right: 0; margin: auto; }
	#indexPage #categoryBtnBox ul li a::before { top: 0; width: 8vw; height: 8vw; }
	#indexPage #categoryBtnBox ul li a::after { bottom: 0; width: 3vw; height: 2vw; background: url("../image/icon_arrow.svg") no-repeat 50% 0 / 3vw auto; }
	#indexPage #indexContents .bnrBox { margin: 0 auto 7vw; padding: 0; }
}

/*  ++++ mainArea ++++ */
@media screen and (min-width: 668px) {
	#mainArea { background: #fff; text-align: center; width: 100vw; margin: 0 0 80px; padding: 50px calc(50% - 525px); position: relative; }
	#mainArea h1{ margin: 0; padding: 0; position: relative; }
	#mainArea p { color: #1a1a1a; font-size: 1.6rem; }
}
@media screen and (max-width: 667px) {
	#mainArea { width: 100vw; margin: 0; padding: 0 4vw 5vw; position: relative; background: #fff; text-align: center; font-size: 3.75vw; line-height: 1.5; }
	#mainArea h1 { margin: 0; padding: 0; }
	#mainArea p { color: #1a1a1a; }
}

/*  +++++++++++++++++++++++++ fitBox +++++++++++++++++++++++++ */
@media screen and (min-width: 668px) {
	#fitBox { margin: 0 auto 120px; padding: 0; width: 1120px; text-align: left; }
	#fitBox .c-contact { margin-top: -2px; }
}
@media screen and (max-width: 667px) {
	#fitBox { margin: 0 4vw 12vw; padding: 0; text-align: left; }
	#fitBox .c-contact { margin-top: -2px; }
}



/*  +++++++++++++++++++++++++ capital Page , other Page +++++++++++++++++++++++++ */

.tsunagaruTable td { text-align: left !important; padding: 20px 50px !important; background: #fff !important; }




/*  +++++++++++++++++++++++++ FAQ Page +++++++++++++++++++++++++ */
@media screen and (min-width: 668px) {
#mainArea.faqMain { background: none; margin-bottom: 20px; width: 100%; }
#faqPage { padding-bottom: 80px; }
#faqPage .is-accordion { border-radius: 20px; background: #fff; font-size: 1.8rem; font-weight: 700; margin-bottom: 20px; }
#faqPage .is-head { padding: 30px 85px; position: relative; }
#faqPage .is-head::before { position: absolute; content: ""; top: 28px; left: 20px; width: 37px; height: 37px; background: url("../image/icon_q.svg") no-repeat; }
#faqPage .is-head::after { position: absolute; content: ""; top: 40px; right: 30px; width: 14px; height: 14px; background: url("../image/icon_open.svg") no-repeat; }
#faqPage .is-head.is-open::after { transform: rotate(-45deg); }
#faqPage .is-body { padding: 30px 85px; position: relative; border-top: 2px solid #f7f2ed; color: #b7422a; }
#faqPage .is-body::before { position: absolute; content: ""; top: 28px; left: 20px; width: 37px; height: 37px; background: url("../image/icon_a.svg") no-repeat; }
}
@media screen and (max-width: 667px) {
#mainArea.faqMain { background: none; margin-top: 2vw; margin-bottom: 2vw; }
#faqPage { padding-bottom: 8vw; }
#faqPage .is-accordion { border-radius: 2vw; background: #fff; font-size: 4vw; font-weight: 700; margin-bottom: 2vw; }
#faqPage .is-head { padding: 4vw 8vw 4vw 10vw; position: relative; }
#faqPage .is-head::before { position: absolute; content: ""; top: 5vw; left: 2vw; width: 6vw; height: 6vw; background: url("../image/icon_q.svg") no-repeat 0 0 / 6vw auto; }
#faqPage .is-head::after { position: absolute; content: ""; top: 5vw; right: 4vw; width: 4vw; height: 4vw; background: url("../image/icon_open.svg") no-repeat 0 0 / 4vw auto; }
#faqPage .is-head.is-open::after { transform: rotate(-45deg); }
#faqPage .is-body { padding: 4vw 6vw 4vw 10vw; position: relative; border-top: 0.8vw solid #f7f2ed; color: #b7422a; }
#faqPage .is-body::before { position: absolute; content: ""; top: 5vw; left: 2vw; width: 6vw; height: 6vw; background: url("../image/icon_a.svg") no-repeat 0 0 / 6vw auto; }
}




/*  +++++++++++++++++++++++++ menuPage +++++++++++++++++++++++++ */
@media screen and (min-width: 668px) {
	#mainArea.menuMain { margin-bottom: 30px; }
	.anchorNav { display: flex; border-left: 2px dotted #3a3938; margin-bottom: 60px; }
	.anchorNav li { margin: 0; padding: 0; width: calc(1120px / 4); border-right: 2px dotted #3a3938; font-size: 1.6rem; line-height: 1.8; text-align: center; }
	.anchorNav li a { display: block; position: relative; padding: 0 0 25px; text-decoration: none; font-weight: bold; }
	.anchorNav li a::after { position: absolute; content: ""; left: 0; right: 0; margin: auto; bottom: 0; width: 23px; height: 13px; background: url("../image/icon_arrow.svg") no-repeat; }
	.tanka { border: 3px solid #595757; border-radius: 15px; text-align: center; padding: 15px; font-size: 2rem; font-weight: bold; line-height: 1; width: 490px; margin:  0 auto 20px; background: #fff; }
	.tanka .kakaku { display: inline-block; background: #e1dbd5; width: 240px; border-radius: 10px; margin-left: 15px; padding: 5px; }
	.tankaNote { font-size: 1.2rem; width: 490px; margin: 0 auto; }
	.btnNav { text-align: center; }
	.btnNav li { margin-top: 30px; }
	.btnNav .c-button { margin-top: 10px; min-width: 400px; }
	.list-disc { margin-left: 1.5em; }
	.serviceBox { background: #e8dcd0; display: flex; justify-content: center; border-radius: 15px; margin-bottom: 40px; padding: 28px; }
	.serviceBox li { background: #fff; margin: 0 35px; padding: 20px; width: 360px; font-size: 2rem; font-weight: bold; text-align: center; border-radius: 15px; }
	.needsBox { display: flex; justify-content: center; margin: 30px 0; }
	.needsBox li {display: flex; justify-content: center; align-items: center; background: #e8dcd0; margin: 0 15px; padding: 30px; width: 400px; font-size: 2rem; font-weight: bold; border-radius: 20px; text-align: center; }
	.needsImg { margin: 30px 0; text-align: center; }
	.needsImg img { width: 540px; }
	.planBox { background: #e8dcd0; display: flex; justify-content: center; border-radius: 15px; margin: 30px 0; padding: 28px; }
	.planBox li { margin: 0 15px; }
	.planimg { background: #fff; text-align: center; padding: 10px 0; border-radius: 20px; margin: 20px 0; }
	.planimg img { margin: 20px 0; }
	.contactBox { border-top: 2px solid #000; border-bottom: 2px solid #000; padding: 15px 0 15px 270px; margin: 20px 0; }
	.qaNavBlock { width: 100vw; margin: 40px calc(560px - 50vw) 80px; padding: 70px calc(50% - 525px) 50px; background: #e8dcd0; text-align: center; }
	.fsL{ font-size: 2.4rem; }
	.fsLL { font-size: 3rem; }
}
@media screen and (max-width: 667px) {
	#mainArea.menuMain { margin-bottom: 6vw; }
	.anchorNav { display: flex; flex-wrap: wrap; margin-bottom: 6vw; }
	.anchorNav li { margin-bottom: 5vw; padding: 0; width: 44vw; border-right: 0.5vw dotted #3a3938; font-size: 3vw; line-height: 1.8; text-align: center; }
	.anchorNav li:nth-child(2n+1) { border-left: 0.5vw dotted #3a3938; }
	.anchorNav li a { display: block; position: relative; padding: 0 0 3vw; text-decoration: none; font-weight: bold; }
	.anchorNav li a::after { position: absolute; content: ""; left: 0; right: 0; margin: auto; bottom: 0; width: 3vw; height: 2vw; background: url("../image/icon_arrow.svg") no-repeat 50% 0 / 3vw auto; }
	.tanka { border: 0.5vw solid #595757; border-radius: 2vw; text-align: center; padding: 2vw; font-size: 4vw; font-weight: bold; line-height: 1; margin-bottom: 3vw; background: #fff; }
	.tanka .kakaku { display: inline-block; background: #e1dbd5; width: 70vw; border-radius: 1vw; margin-top: 2vw; padding: 2vw; }
	.tankaNote { font-size: 2.8vw; }
	.btnNav { text-align: center; }
	.btnNav li { margin-top: 5vw; }
	.btnNav .c-button { margin-top: 1vw; }
	.list-disc { margin-left: 1.5em; }
	.serviceBox { background: #e8dcd0; border-radius: 2vw; margin-bottom: 5vw; padding: 2vw 4vw; }
	.serviceBox li { background: #fff; margin: 2vw 0; padding: 2vw; font-weight: bold; text-align: center; border-radius: 2vw; }
	.needsBox { margin: 3vw 0; }
	.needsBox li { background: #e8dcd0; margin: 2vw 0; padding: 3vw; font-weight: bold; border-radius: 2vw; text-align: center; }
	.needsImg { margin: 5vw 0; text-align: center; }
	.planBox { background: #e8dcd0; border-radius: 2vw; margin: 3vw 0; padding: 2vw 4vw; }
	.planBox li { margin: 3vw 0; }
	.planimg { background: #fff; text-align: center; padding: 2vw 4vw; border-radius: 3vw; margin: 5vw 0; }
	.planimg img { margin: 3vw 0; }
	.contactBox { border-top: 0.4vw solid #000; border-bottom: 0.4vw solid #000; padding: 2vw 0; margin: 2vw 0; }
	.qaNavBlock { width: 100vw; margin: 4vw -4vw 8vw; padding: 6vw 4vw; background: #e8dcd0; text-align: center; }
	.fsL{ font-size: 4.2vw; }
	.fsLL { font-size: 5vw; }
}



/*  +++++++++++++++++++++++++ cautionBox +++++++++++++++++++++++++ */
@media screen and (min-width: 668px) {
	#cautionBox { margin: 0; padding: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 0.9); position: fixed; top: 0; left: 0; z-index: 50; font-size: 1.6rem; text-align: center; }
	#cautionBox .box { margin: 0; padding: 0; position: absolute; width: 650px; left: 50%; top: 50%; transform: translate(-50%, -50%); background-color: rgb(255, 255, 255); box-shadow: 0px 0px 8px 0px rgba(199, 199, 199, 1.0); border-radius: 6px; }
	#cautionBox .box .inner { margin: 0; padding: 50px; }
	#cautionBox .box p.logo { margin: 0 0 30px 0; padding: 0; text-align: left; }
	#cautionBox .box p.logo img { width: 145px; }
	#cautionBox .box p.ico { margin: 0 0 10px 0; padding: 0; }
	#cautionBox .box p.ico img { width: 72px; }
	#cautionBox .box h2 { margin: 0 0 15px 0; padding: 0; font-size: 2rem; line-height: 1.8; }
	#cautionBox .box p.txt { margin: 0 auto 40px auto; padding: 15px 25px; box-sizing: border-box; text-align: left; line-height: 1.8; border: solid 1px #CCC; width: 360px; border-radius: 6px; }
	#cautionBox .box p.close { margin: 0; padding: 0; line-height: 1.6; }
	#cautionBox .box p.close a:hover { text-decoration: none; }
}
@media screen and (max-width: 667px) {
	#cautionBox { margin: 0; padding: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 0.9); position: fixed; top: 0; left: 0; z-index: 50; font-size: 3.4vw; text-align: center; }
	#cautionBox .box { margin: 0; padding: 0; position: absolute; width: 80vw; left: 50%; top: 50%; transform: translate(-50%, -50%); background-color: rgb(255, 255, 255); box-shadow: 0px 0px 8px 0px rgba(199, 199, 199, 1.0); border-radius: 1vw; }
	#cautionBox .box .inner { margin: 0; padding: 5vw; }
	#cautionBox .box p.logo { margin: 0 0 3vw; padding: 0; text-align: left; }
	#cautionBox .box p.logo img { width: 30vw; }
	#cautionBox .box p.ico { margin: 0 0 2vw 0; padding: 0; }
	#cautionBox .box p.ico img { width: 10vw; }
	#cautionBox .box h2 { margin: 0 0 2vw 0; padding: 0; font-size: 4vw; line-height: 1.8; }
	#cautionBox .box p.txt { margin: 0 auto 40px; padding: 2vw 3vw; box-sizing: border-box; text-align: left; line-height: 1.8; border: solid 1px #CCC; border-radius: 6px; }
	#cautionBox .box p.close { margin: 0; padding: 0; line-height: 1.6; }
	#cautionBox .box p.close a:hover { text-decoration: none; }
	
}
