@charset "utf-8";
/* ---------------------------------------------------------------------------------------- common */
body{ background: #f4f4f4; }
#festival h2{ font-family: yu-gothic-pr6n, sans-serif; font-size: 40px; line-height: 220%; letter-spacing: 0.1em; text-align: center; font-weight: 800; padding: 0 0 10px; }
#festival h2 span{ display: block; font-size: 16px; letter-spacing: 0.15em; color: #ea609e; }

#festival #bread { border-top: none; }

#fv { background: url(../images/festival/bg_fv.jpg) no-repeat left center / cover; height: 100vh; min-height: 900px;}

#fv .bg { background: #fff; padding-left: 85px; height: 100vh; width: 650px; min-height: 900px; background: url(../images/common/white_bg.gif) repeat-y;  display: flex; align-items: center; flex-wrap: wrap;}

#fv .bg p { display: flex;}

#fv .bg p .aktive_r { font-size: 17px; letter-spacing: 0.2em; color: #000; margin-bottom: 60px; font-weight: 200;}

#fv .bg p .aktive_r::after { content: ""; border-top: solid 1px #000; padding-left: 22px; vertical-align: middle; margin-left: 17px; padding-bottom: 7px; display: inline-block;}

#fv .bg img { padding-left: 20px; margin-top: -7px;}

#fv .bg h1 { font-size: 50px; line-height: 1.6; letter-spacing: 0.1em; margin: -15px 0 0; text-align: inherit; padding: 0;}

#fv .bg h1 .aktive_r { font-size: 17px; color: #000; letter-spacing: 0.1em; margin-top: 50px; font-weight: 200;}


#visual { color: #fff;/*  max-width: 1600px; */ width: 100%; margin: 0 auto;}
#visual li .visual{ height: 600px; box-sizing: border-box; background-size: cover; width: 100%; padding: 150px 0; }

#visual .visual01 { background: url(../images/festival/bg_01.jpg) no-repeat center center; background-size: cover; width: 100%; }

#visual h3 { font-size: 30px; margin-bottom: 40px; letter-spacing: 0.08em; line-height: 140%; }

#visual .cap { width: 500px; margin: -11px 0;}

#visual .cap p { font-size: 18px; line-height: 2.222; letter-spacing: 0.08em;text-align: justify;}

#visual .visual02 { background: url(../images/festival/bg_02.jpg) no-repeat; }

#visual .vis_r { float: right;}

#visual .visual03 { background: url(../images/festival/bg_03.jpg) no-repeat; }

#visual .visual03 h3 { line-height: 1.333; margin: -5px 0 35px;}

#visual .visual04 { background: url(../images/festival/bg_04.jpg) no-repeat; }

#visual .visual05 { background: url(../images/festival/bg_05.jpg) no-repeat; }



#voice { padding-top:150px;background-color:#fff;}

#voice h2 { text-align: center; font-size: 40px; margin-bottom: 100px;}

#voice h2 .aktive_r { margin-bottom: 20px;}

#voice .voice01 { max-width: 1600px; width: 100%; margin: 0 auto;}

#voice .voice01 .voice_bg_l { width: 1100px; height: 550px; background: url(../images/festival/pic_03.jpg) no-repeat; background-position-x: left;}

#voice .voice01 .intereview { background-color: #fff; margin-top: -440px; margin-bottom: 92px; padding: 50px 150px 66px 70px; width: 474px; height: 410px; float: right;}

#voice .voice01 .intereview .clinicname { margin-bottom: 30px;}

#voice .voice01 .intereview .clinicname p { font-size: 18px;}

#voice .intereview .clinicname p span { font-size: 16px; border: solid 1px #ea609e; border-radius: 15px; color: #ea609e; padding: 4px 10px 3px;padding: 4px 10px 3px; margin-right: 9px; letter-spacing: 0.15em;}

#voice .intereview h3 { font-size: 30px; line-height: 1.333; letter-spacing: 0.08em; margin: -5px 0 31px;}

#voice .voice01 .intereview p  { font-size: 18px; line-height: 2.222; letter-spacing: 0.08em; margin-top: -11px;}

#voice .voice02 { max-width: 1600px; width: 100%; margin: 0 auto;}

#voice .voice02 .voice_bg_r { width: 100%; height: 550px; background: url(../images/festival/pic_04.jpg) no-repeat; background-position-x: right;}

#voice .voice02 .intereview { background-color: #fff; padding: 70px 70px 66px 154px; margin-top: -440px; margin-bottom:20px; width: 450px; float: left;}

#voice .voice02 .intereview .clinicname { margin-bottom: 30px;}

#voice .voice02 .intereview .clinicname p { font-size: 18px;}

/* #voice .voice02 .intereview .clinicname p span { font-size: 16px; border: solid 1px #ea609e; border-radius: 15px; color: #ea609e; padding: 9px; margin-right: 9px; letter-spacing: 0.15em;} */

#voice .voice02 .intereview h3 { font-size: 29px; line-height: 1.333; letter-spacing: 0.08em;}

#voice .voice02 .intereview p  { font-size: 18px; line-height: 2.222; letter-spacing: 0.08em;}


/* ---------------------------------------------------------------------------------------- concept */
#festival #concept h2{ text-align: left; }

#concept{ padding: 0 0 140px; }
#concept p{ font-size: 18px; line-height: 220%; letter-spacing: 0.05em; }

#concept .flex{ display: flex; justify-content: flex-start; align-items: center; }
#concept .flex .left{ width: 610px; }
#concept .flex .right{ width: 445px; height: auto; }

#concept .text{ padding: 0 0 70px; }

#concept dl{ text-align: center; border: 1px solid #b6b6b6; padding: 20px 0; }
#concept dl dt{ float: left; width: 430px; padding: 42px 0; border-right: 1px solid #b6b6b6; font-size: 24px; letter-spacing: 0.1em; }
#concept dl dd{ float: right; width: 666px; padding: 31px 0 20px; font-size: 24px; letter-spacing: 0.1em; }
#concept dl dd.flex{ justify-content: center; }

#concept dl dd p span{ font-weight: 800; }

#concept dl dd p:first-of-type{ padding: 0 15px 0 0; font-size: 24px; font-weight: 800; }
#concept dl dd p:first-of-type span{ font-size: 40px; letter-spacing: 0.05em; }
#concept dl dd p:first-of-type small{ font-size: 16px; letter-spacing: 0.1em; }

#concept dl dd p:last-of-type{ color: #a9a9a9; }
#concept dl dd p:last-of-type span{ font-size: 30px; }
#concept dl dd p:last-of-type small{ font-size: 16px; letter-spacing: 0.1em; font-weight: 800; }

#concept .figure{ padding: 60px 0 0; }
#concept .figure .left{ float: left; width: 549px; height: auto; }
#concept .figure .right{ float: right; width: 544px; height: auto; }



/* ---------------------------------------------------------------------------------------- customise */
#customise{ padding: 120px 0 0; text-align: center; background-color:#fff;}
#customise p{ padding: 0 0 67px 0; font-size: 18px; line-height: 220%; letter-spacing: 0.08em; }

#customise .slider{ padding: 0 0 150px 0; }

#customise .slider_item_a{ width: 500px!important; height: auto; padding: 0 40px; }
#customise .slider_item_a figure{ margin: 0!important; }
#customise .slider_item_a img{ display: inline-block; padding: 0 0 30px; }
#customise .slider_item_a figcaption{ font-size: 18px; letter-spacing: 0.08em; }



/* ---------------------------------------------------------------------------------------- voice_slide */
#voice_slide{ padding: 50px 0 140px 0;background-color:#fff;}

#voice_slide .slider_item_b p{ position: relative; font-size: 30px; line-height: 160%; letter-spacing: 0.08em; text-align: center; font-family: yu-gothic-pr6n, sans-serif; }
#voice_slide .slider_item_b p:before,
#voice_slide .slider_item_b p:after{ position: absolute; content: ""; width: 33px; height: 22px; }
#voice_slide .slider_item_b p:before{ background: url(../images/festival/icn_p_left.png) center/100% no-repeat; left: calc(50% - 450px); top: 10px; }
#voice_slide .slider_item_b p:after{ background: url(../images/festival/icn_p_right.png) center/100% no-repeat; right: calc(50% - 450px); bottom: 15px; }

#voice_slide .slider_item_b dl{ padding: 55px 0 50px; letter-spacing: 0.08em; color: #626262; text-align: center; }
#voice_slide .slider_item_b dl dt{ padding: 0 0 20px 0; }



/* ---------------------------------------------------------------------------------------- merit */
#merit{margin-top: 150px;}
#merit .flex{ flex-wrap: wrap; padding: 20px 0 0; }

#merit .flex .item_box.low{ width: 725px; align-items: flex-start; }
#merit .flex .item_box{ width: 350px; height: 350px; margin: 0 0 25px; padding: 70px 50px 50px; box-sizing: border-box; text-align: center; display: flex; flex-direction: column; align-items: center; }

#merit .flex .item_box:first-of-type{ background: url(../images/festival/merit_01.jpg) center/cover no-repeat; }
#merit .flex .item_box:nth-of-type(2){ background: url(../images/festival/merit_02.jpg) center/cover no-repeat; }
#merit .flex .item_box:nth-of-type(3){ background: url(../images/festival/merit_03.jpg) center/cover no-repeat; }
#merit .flex .item_box:nth-of-type(4){ background: url(../images/festival/merit_04.jpg) center/cover no-repeat; }
#merit .flex .item_box:nth-of-type(5){ background: url(../images/festival/merit_05.jpg) center/cover no-repeat; }
#merit .flex .item_box:nth-of-type(6){ background: url(../images/festival/merit_06.jpg) center/cover no-repeat; }
#merit .flex .item_box:last-of-type{ background: url(../images/festival/merit_07.jpg) center/cover no-repeat; }


#merit .flex .item_box h3{ width: 290px; padding: 0 0 10px; font-size: 40px; letter-spacing: 0.1em; color: #fff; font-weight: 700; }
#merit .flex .item_box h3 span{ display: block; line-height: 40px; letter-spacing: 0.15em; font-family: aktiv-grotesk, sans-serif; font-weight: 300; font-style: normal; font-size: 16px; }
#merit .flex .item_box p{ width: 260px; font-size: 17px; line-height: 180%; letter-spacing: 0.08em; color: #fff; }



/* ---------------------------------------------------------------------------------------- package */
#festival #package h2{ padding: 0 0 50px; }

#package{ padding: 140px 0 40px; }
#package .package_box{ padding: 0 0 60px; background: url(../images/common/icn_plus.png) center calc(100% - 20px)/20px no-repeat; }
#package .package_box:last-of-type{ background: none; }

#package .package_box .w_box{ background: #fff; padding: 30px; }

#package h3{ font-size: 30px; line-height: 130%; letter-spacing: 0.08em; color: #ea609e; text-align: center; }

#package .package_box:first-of-type .w_box{ padding: 65px; }
#package .package_box:first-of-type ul{ width: 640px; margin: 0 auto; padding: 50px 0 0; }
#package .package_box:first-of-type ul li{ float: left; width: 50%; padding: 0 0 0 40px; box-sizing: border-box; font-size: 17px; line-height: 230%; letter-spacing: 0.08em; background: url(../images/festival/icn_check.png) left 10px/22px no-repeat; font-family: yu-gothic-pr6n, sans-serif; }

#package .package_box:last-of-type ul{ padding: 45px 0 0; }
#package .package_box:last-of-type ul li{ float: left; width: 300px; height: 190px; margin: 0 50px 0 0; padding: 20px; box-sizing: border-box; text-align: center; background: #f4f4f4; border-radius: 10px; }
#package .package_box:last-of-type ul li:last-of-type{ margin: 0; }

#package .package_box:last-of-type .w_box{ padding: 50px; }
#package .package_box:last-of-type ul li p:first-of-type{ font-size: 40px; color: #ea609e; padding: 0 0 10px 0; }
#package .package_box:last-of-type ul li p:last-of-type{ font-size: 18px; line-height: 160%; letter-spacing: 0.08em; font-family: yu-gothic-pr6n, sans-serif; }
#package .package_box:last-of-type ul li p:last-of-type span{ display: block; padding: 11px 0 0; line-height: 150%; }



/* ---------------------------------------------------------------------------------------- billing */
#festival #billing h2{ padding: 0 0 20px; }

#billing{ padding: 100px 0; background: #fff; }

#billing .billing_box{ padding: 0 0 80px; background: url(../images/common/icn_down.png) center calc(100% - 25px)/45px no-repeat; }
#billing .billing_box:last-of-type{ padding: 0; background: no-repeat; }

#billing dl{ display: flex; align-items: center; text-align: center; border: 1px solid #b6b6b6; padding: 20px 0; }
#billing dl dt{ font-family: yu-gothic-pr6n, sans-serif; width: 548px; padding: 23px 0; box-sizing: border-box; border-right: 1px solid #b6b6b6; font-size: 18px; letter-spacing: 0.1em; }
#billing dl dt span{ display: block; padding: 0 0 20px; color: #ea609e; font-size: 24px; font-weight: 700; }

#billing dl dd{ width: 550px; padding: 0 0 0px 50px; box-sizing: border-box; font-size: 24px; letter-spacing: 0.1em; }
#billing dl dd p{ font-family: yu-gothic-pr6n, sans-serif; font-size: 20px; text-align: left; background: url(../images/festival/icn_check.png) left 5px/22px no-repeat; padding: 1px 0 5px 40px; }
#billing dl dd p:not(:first-of-type){ margin: 30px 0 0; }
#billing dl dd p span{ display: block; padding: 10px 0 0; font-size: 16px; font-feature-settings: "palt"; }
#billing dl dd p strong{ font-size: 20px; font-weight: 800; }
#billing dl dd p strong.opensons{ font-size: 30px; font-family: open-sans,sans-serif; font-weight: 600; font-style: normal; }



/* ---------------------------------------------------------------------------------------- payment */
#payment{ padding: 100px 0; background: #f4f4f4; }

#payment .payment_box{ text-align: center; }
#payment .payment_box:first-of-type{ padding: 0 0 30px; }

#payment .payment_box .w_box{ padding: 40px; background: #fff; text-align: center; }

#payment .payment_box h3{ font-size: 24px; letter-spacing: 0.1em; color: #ea609e; font-weight: 700; }
#payment .payment_box h3 img{ width: 285px; height: auto; padding: 0 0 0 30px; vertical-align: baseline; }



/* ---------------------------------------------------------------------------------------- cuunter */
#festival #cuunter h2{ font-size: 24px; letter-spacing: 0.1em; }
#festival #cuunter h2 strong{ font-size: 34px; }

#cuunter{ padding: 100px 0 150px; background: #fff; }
#cuunter h3{ width: 150px; margin: 50px auto 0; padding: 7px 0; font-size: 24px; border: 1px solid #000; border-radius: 50px; letter-spacing: 0.1em; text-align: center; }

#cuunter ul{ padding: 30px 0 0; }
#cuunter ul li{ float: left; width: 365px; height: 130px; text-align: center; border-right: 1px solid #d2d2d2; border-bottom: 1px solid #d2d2d2; }
#cuunter ul li p{ padding: 30px 30px 30px 100px; font-size: 20px; letter-spacing: 0.01em; line-height: 120%; }
#cuunter ul li p span{ display: block; padding: 10px 0 0; font-size: 14px; letter-spacing: 0.15em; font-family: aktiv-grotesk, sans-serif; font-weight: 400; font-style: normal;}

#cuunter ul li:nth-of-type(3n){ border-right: none; }
#cuunter ul li:nth-of-type(n+4){ border-bottom: none; }

#cuunter ul li:first-of-type p{ background: url(../images/festival/icn_01.png) 35px center/80px no-repeat; }
#cuunter ul li:nth-of-type(2) p{ background: url(../images/festival/icn_02.png) 35px center/80px no-repeat; }
#cuunter ul li:nth-of-type(3) p{ background: url(../images/festival/icn_03.png) 35px center/80px no-repeat; }
#cuunter ul li:nth-of-type(4) p{ background: url(../images/festival/icn_04.png) 35px center/80px no-repeat; }
#cuunter ul li:nth-of-type(5) p{ background: url(../images/festival/icn_05.png) 35px center/80px no-repeat; }
#cuunter ul li:last-of-type p{ padding: 60px 30px 30px; background: url(../images/festival/icn_06.png) center 30px/30px no-repeat; }


#cuunter .btn_top{ /* margin: 150px auto 0;  */margin: 50px auto 0; }


/* --------------------------------------------------------------------------------------------------------------------------- 
 mobile 
--------------------------------------------------------------------------------------------------------------------------- */
@media only screen and (max-width: 640px) {
/* ---------------------------------------------------------------------------------------- common */

#festival h2{ font-size: 23px; line-height: 220%; padding: 0 0 5px; }
#festival h2 span{ font-size: 13px; padding-bottom: 5px; }

 
#fv { padding: 65px 0 0; background: none; height: auto; min-height: inherit;}
#fv .bg{ min-height: inherit; }

#fv .fv img { width: 100%; height: auto; margin-bottom: 25px; padding-left: 0;}

#fv .fv { background: #fff; padding-left: 0px; width: 100%; background: url(../images/common/white_bg_sp.png) repeat-y;  display: flex; align-items: center; flex-wrap: wrap;}

#fv .fv p { display: flex; align-items: baseline; }

#fv .fv p .aktive_r { font-size: 14px; letter-spacing: 0.2em; color: #000; font-weight: 200;}

#fv .fv p .aktive_r::after { content: ""; border-bottom: solid 1px #000; padding-left: 16px; vertical-align: middle; margin-left: 4px; margin-top: -12px; padding-bottom: 7px; display: inline-block;}

#fv .fv p .aroma_logo { width: 40%; height: auto; margin-left: 5px;}

#fv .fv h1 { font-size: 28px; text-align: left;  line-height: 1.333; letter-spacing: 0.1em; padding: 0; margin: -5px 0 25px;}

#fv .fv h1 .aktive_r { font-size: 13px; color: #000; letter-spacing: 0.1em; line-height: 1.714; margin-top: 20px; font-weight: 200;}


#visual { color: #000; max-width: none; width: 100%; margin: 0 auto; padding-bottom: 15px;}

#visual .visual_sp { background: none; width: 100%; padding: 0; margin-bottom: 50px}

#visual .visual_sp img { width: 100%; height: 100%; margin-bottom: 35px;}

#visual h3 { font-size: 24px; margin-bottom: 25px; line-height: 1.4; letter-spacing: 0.08em;}

#visual .cap { width: auto; margin: -5px 0;}

#visual .cap p { font-size: 14px; line-height: 1.714; letter-spacing: 0.08em;}



#voice { padding: 65px 0 0;}

#voice h2 { text-align: center; font-size: 25px; margin-bottom: 39.5px; padding-bottom: 0;}

#voice h2 .aktive_r { margin-bottom: 20px;}

#voice .voice01 { max-width: 650px; width: 100%; margin: 0 auto;}

#voice .voice01 .voice_bg_l { width: calc( 100% - 25px ); height: 275px; background: url(../images/festival/pic_03-sp.jpg) no-repeat ; background-size: cover; background-position-x: left;}

#voice .voice01 .intereview,
#voice .voice02 .intereview { background-color: #fff; margin-top: -80px; margin-bottom: 65px; padding: 35px 25px; width: calc( 100% - 25px ); height: 368px; box-sizing: border-box;}
#voice .voice01 .intereview{ float: right; }
#voice .voice02 .intereview { margin-bottom: 84px; float: left; box-sizing: }

#voice .voice01 .intereview .clinicname,
#voice .voice02 .intereview .clinicname { margin-bottom: 10px;}

#voice .voice01 .intereview .clinicname p,
#voice .voice02 .intereview .clinicname p { font-size: 14px;}

#voice .voice01 .intereview .clinicname p span ,
#voice .voice02 .intereview .clinicname p span{ display: block; width: 125px; font-size: 13px; border: solid 1px #ea609e; border-radius: 22px; color: #ea609e; padding: 5px 7px 4px; margin-bottom: 15px; margin-right: 0; letter-spacing: 0.15em; text-align: center}

#voice .voice01 .intereview h3,
#voice .voice02 .intereview h3 { font-size: 19px; line-height: 1.5; letter-spacing: 0.08em; margin: -5px 0 25px;}

#voice .voice01 .intereview p,
#voice .voice02 .intereview p   { font-size: 14px; line-height: 1.714; letter-spacing: 0.08em; margin-top: -5px;text-align: justify;}

#voice .voice02 { max-width: 650px; width: 100%; margin: 0 auto;}

#voice .voice02 .voice_bg_r { width: calc( 100% - 25px ); height: 275px; background: url(../images/festival/pic_04-sp.jpg) no-repeat; background-size: cover; background-position-x: right; float: right;}


 

/* ---------------------------------------------------------------------------------------- concept */
#festival #concept h2{ text-align: center; padding-bottom: 5px; }

#concept{ padding: 0 0 60px; }

#concept .flex{ flex-direction: column; }
#concept .flex .left{ width: 100%;}
#concept .flex .right{ width: 90%; }

#concept .text{ padding: 20px 0 40px; }
#concept p{ padding: 0 0 30px; font-size: 13px; }

#concept dl{ padding: 20px 7%; }
#concept dl dt{ float: none; width: 100%; padding: 0 0 15px; font-size: 17px; border-right: none; border-bottom: 1px solid #b6b6b6; }

#concept dl dd{ float: none; width: 100%; padding: 15px 0 0; }
#concept dl dd p{ padding: 0; line-height: 180%; }
#concept dl dd p:first-of-type{ padding: 0 0 10px; font-size: 15px; }
#concept dl dd p:first-of-type span{ font-size: 25px; }
#concept dl dd p:first-of-type small{ font-size: 13px; font-feature-settings: "palt"; }

#concept dl dd p:last-of-type span{ font-size: 20px; }
#concept dl dd p:last-of-type small{ font-size: 14px; }

#concept .figure{ padding: 50px 0 0; }



/* ---------------------------------------------------------------------------------------- customise */
#customise{ padding: 10px 0 0; }
#customise p{ padding: 0 0 30px 0; font-size: 14px; line-height: 190%; }

#concept .figure .left{ float: none; width: 100%; padding: 0 0 3px; }
#concept .figure .right{ float: none; width: 100%; }

#customise .slider{ padding: 0 0 85px 0; }

#customise .slider_item_a{ width: 250px!important; padding: 0 20px; }
#customise .slider_item_a img{ padding: 0 0 15px; width: 100%; height: auto; }
#customise .slider_item_a figcaption{ font-size: 12px; }



/* ---------------------------------------------------------------------------------------- voice_slide */
#voice_slide{ padding: 80px 0 100px; }

#voice_slide .slider_item_b p{ font-size: 18px; }
#voice_slide .slider_item_b dl{ padding: 30px 0; font-size: 13px; }
#voice_slide .slider_item_b dl dt{ padding: 0 0 10px 0; }

#voice_slide .slider_item_b p:before,
#voice_slide .slider_item_b p:after{ width: 18px; height: 15px; }
#voice_slide .slider_item_b p:before{ left: 0; top: 4px; }
#voice_slide .slider_item_b p:after{ right: 0; bottom: 7px; }



/* ---------------------------------------------------------------------------------------- merit */
#merit{margin-top: 100px;}
#merit .flex{ flex-wrap: nowrap; flex-direction: column; padding: 5px 0 0; }

#merit .flex .item_box{ width: 100%; height: 200px; padding: 35px 20px 25px; }
#merit .flex .item_box.low{ width: 100%; }

#merit .flex .item_box h3{ width: 100%; padding: 0; font-size: 25px; font-weight: 500; }
#merit .flex .item_box h3 span{ font-size: 13px; }
#merit .flex .item_box p{ width: 100%; font-size: 14px; line-height: 180%; }

#merit .flex .item_box:nth-of-type(6){ padding: 20px 25px; }



/* ---------------------------------------------------------------------------------------- package */
#festival #package h2{ padding: 0 0 25px; }

#package h3{ font-size: 19px; font-weight: 500; }

#package{ padding: 40px 0 0; }
#package .package_box{ padding: 0 0 50px; background: url(../images/common/icn_plus.png) center calc(100% - 15px)/20px no-repeat; }

#package .package_box .w_box{ padding: 20px; }

#package .package_box:first-of-type .w_box{ padding: 30px 13%; }
#package .package_box:first-of-type ul{ width: 100%; padding: 30px 0 0; }
#package .package_box:first-of-type ul li{ float: none; width: 100%; padding: 0 0 0 30px; font-size: 14px; background: url(../images/festival/icn_check.png) left center/17px no-repeat; }

#package .package_box:last-of-type .w_box{ padding: 40px 20px; }

#package .package_box:last-of-type ul{ padding: 20px 0 0; }
#package .package_box:last-of-type ul li{ float: none; width: 100%; height: auto; margin: 0 0 20px 0; border-radius: 5px; }
#package .package_box:last-of-type ul li p:first-of-type{ font-size: 25px; }
#package .package_box:last-of-type ul li p:last-of-type{ font-size: 14px; line-height: 180%; }
#package .package_box:last-of-type ul li p:last-of-type span{ padding: 8px 0 0; }



/* ---------------------------------------------------------------------------------------- billing */
#festival #billing h2{ padding: 0 0 15px; }

#billing{ padding: 60px 0; }

#billing .billing_box{ padding: 0 0 60px; background: url(../images/common/icn_down.png) center calc(100% - 20px)/30px no-repeat; }

#billing dl{ flex-direction: column; padding: 20px 0; }
#billing dl dt{ position: relative; float: none; width: 100%; padding: 0 0 20px; font-size: 14px; border-right: none; }
#billing dl dt:before{ position: absolute; content: ""; width: 30%; height: 1px; background: #b6b6b6; bottom: 0; left: 50%; transform: translate(-50%,0); }
#billing dl dt span{ padding: 0 0 15px; font-size: 17px;}

#billing dl dd{ width: 100%; padding: 20px 0 0; font-size: 14px; }
#billing dl dd p{ font-size: 13px; background: url(../images/festival/icn_check.png) 0 3px/14px no-repeat; padding: 1px 0 2px 7%; box-sizing: border-box; width: 220px; margin: 0 auto; text-align: left; line-height: 170%; }
#billing dl dd p strong{ font-size: 14px;}
#billing dl dd p strong.opensons{ font-size: 18px; }
#billing dl dd p span{ padding: 8px 0 0; font-size: 13px; }

#billing dl dd p:not(:first-of-type){ margin: 13px auto 0; }



/* ---------------------------------------------------------------------------------------- payment */
#payment{ padding: 60px 0; }

#payment .payment_box .w_box{ padding: 20px; }

#festival #payment h2{ padding: 0 0 30px; }
#payment .payment_box h3{ font-size: 20px; }
#payment .payment_box:nth-of-type(2) h3{ font-size: 17px; }
#payment .payment_box h3 img{ width: 100%; padding: 15px 0 0; }

#payment .payment_box:first-of-type{ padding: 0 0 25px; }



/* ---------------------------------------------------------------------------------------- cuunter */
#cuunter{ padding: 60px 0; }

#festival #cuunter h2{ font-size: 17px; line-height: 190%; }
#festival #cuunter h2 strong{ display: inline-block; padding: 20px 0 0; font-size: 21px; letter-spacing: 0.05em; }

#cuunter h3{ width: 30%; font-size: 17px; }

#cuunter ul{ padding: 25px 0 0; }
#cuunter ul li{ position: relative; width: 49.5%; height: 150px; border-right: none; }
#cuunter ul li:nth-of-type(odd):after{ position: absolute; content: ""; width: 1px; height: 85%; top: 15px; right: 0; background: #d2d2d2; }
#cuunter ul li:nth-of-type(4){ border-bottom: 1px solid #d2d2d2; }

#cuunter ul li p{ padding: 90px 0 0; font-size: 12px; line-height: 150%; }
#cuunter ul li p span{ padding: 2px 0 0; font-size: 12px; }

#cuunter ul li:first-of-type p{ background: url(../images/festival/icn_01.png) center 30px/60px no-repeat; }
#cuunter ul li:nth-of-type(2) p{ background: url(../images/festival/icn_02.png) center 30px/60px no-repeat; }
#cuunter ul li:nth-of-type(3) p{ background: url(../images/festival/icn_03.png) center 30px/60px no-repeat; }
#cuunter ul li:nth-of-type(4) p{ background: url(../images/festival/icn_04.png) center 30px/60px no-repeat; }
#cuunter ul li:nth-of-type(5) p{ background: url(../images/festival/icn_05.png) center 30px/60px no-repeat; }
#cuunter ul li:last-of-type p{ padding: 90px 30px 0; background: url(../images/festival/icn_06.png) center 45px/35px no-repeat; }
#cuunter ul li:last-of-type p a{ line-height: 150%; }

#cuunter .btn_top{ /* margin: 60px auto 0;  */ margin: 0 auto;}

 
}



