@charset "UTF-8";




/* 
-------------------------------------------------------------------------------
下層ページ
-------------------------------------------------------------------------------
*/

.lower #wrapper{
    overflow: hidden;
}


/* 
---------------------------------------
Main Visual
---------------------------------------
*/
.lower #mainvisual{
	width:100%;
	height:230px;
	background:url(../img/top_pc_main_bg.jpg) no-repeat center/cover;
    overflow: hidden;
    position: relative;
}
.lower #mainvisual .mainPhoto{
	max-width:1180px;
	margin:0 auto;
    transform: translateY(-22%);
}

.lower #wrapper:before {
	content:"";
	display:block;
	width:100%;
	height:1px;
	background:#e7e355;
	position:absolute;
	top:90px;
}
.lower #mainvisual:before {
	content:"";
	display:none;
	width:100%;
	height:1px;
	background:#e7e355;
	position:absolute;
	top:90px;
}

.lower #mainvisual .pageTitle {
	position: absolute;
	top:50%;
    left:0;
    width: 100%;
    text-align: center;
    font-size: 48px !important;
    font-weight: bold;
    color: #fff;
    transform: translateY(-50%);
    text-shadow: 3px 3px 2px rgba(0,0,0,0.4);
    line-height: 65px;
}
.lower #mainvisual .pageTitle span {
    font-size: 32px;
}
@media screen and (max-width:767px) {
    .lower #mainvisual-sp{
        position: relative;
        margin-top: 40px;
    }
    .lower #mainvisual .mainPhoto{
        max-width:1180px;
        margin:0 auto;
        transform: translateY(-40%);
    }
    .lower #mainvisual-sp .pageTitle {
        position: absolute;
        top:50%;
        left:0;
        width: 100%;
        text-align: center;
        font-size: 36px !important;
        font-weight: bold;
        color: #fff;
        transform: translateY(-50%);
        text-shadow: 3px 3px 2px rgba(0,0,0,0.4);
        line-height: 32px;
    }
    .lower #mainvisual-sp .pageTitle span {
        font-size: 20px;
    }
    .lower #wrapper:before {
		content:"";
		display:none;
		width:100%;
		height:1px;
		background:#000;
		position:absolute;
		top:90px;
    }
}
@media screen and (max-width:400px) {
    .lower #mainvisual-sp .pageTitle {
        position: absolute;
        top:50%;
        left:0;
        width: 100%;
        text-align: center;
        font-size: 24px !important;
        font-weight: bold;
        color: #fff;
        transform: translateY(-50%);
        text-shadow: 3px 3px 2px rgba(0,0,0,0.4);
        line-height: 32px;
    }
    .lower #mainvisual-sp .pageTitle span {
        font-size: 16px;
    }

}



/* 
---------------------------------------
パンくず
---------------------------------------
*/
.lower .bread {
    max-width: 1180px;
    margin: 1% auto 1%;
    display: flex;
    flex-wrap: wrap;
    padding: 0px 50px;
    box-sizing: border-box;
}
.lower .bread li {
    margin-right: 25px;
    font-size: 14px;
}
.lower .bread li a {
    text-decoration: none;
}
.lower .bread li a:hover {
    color: #000;
    text-decoration: underline;
}
@media screen and (max-width:767px) {
    .lower .bread {
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        padding: 20px 10px 10px;
        box-sizing: border-box;
    }
    .lower .bread li {
        margin-right: 3vw;
        font-size: 3vw;
    }    
}

/* 
---------------------------------------
.lower footer
---------------------------------------
*/
.lower footer {
    width: 100%;
    margin: 100px 0;
}
.lower footer ul {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto 115px;
    padding: 45px 16.25%;
    box-sizing: border-box;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.lower footer ul li a {
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
}
.lower footer p {
    text-align: center;
    font-size: 12px;
}
@media screen and (max-width:767px) {
    .lower footer {
        margin-bottom: 50px;
    }
    .lower footer ul {
        width: 100%;
        max-width: 1600px;
        margin: 0 auto 20px;
        padding: 20px 10px 10px;
        box-sizing: border-box;
        border-top: 2px solid #000;
        border-bottom: 2px solid #000;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        align-items: center;
    }
    .lower footer ul li {
        width:30%;
        margin: 0 0 10px;
        text-align: center;
    }
    .lower footer ul li a {
        text-decoration: none;
        font-size: 12px;
        font-weight: bold;
    }
}


/* 
---------------------------------------
photo_gallery
---------------------------------------
*/
#mainContents .party_photo ul,
#mainContents .shop_photo ul {
    display: flex;
    justify-content: space-between;
    flex-wrap:wrap;
    width: 1180px;
    margin: 40px auto;
}
#mainContents .party_photo ul li,
#mainContents .shop_photo ul li {
    max-width: 390px;
    margin-bottom: 5px;
}
#mainContents .party_photo ul li img,
#mainContents .shop_photo ul li img {
    width: 100%;
}
@media screen and (max-width:799px) {
    #mainContents .party_photo h2,
    #mainContents .shop_photo h2 {
        font-size:25px;
        margin-top: 0;
    }
    #mainContents .party_photo ul,
    #mainContents .shop_photo ul {
        width: 100%;
        box-sizing: border-box;
        padding: 0 10px;
    }
    #mainContents .party_photo ul li,
    #mainContents .shop_photo ul li {
        margin: 0 0px 5px;
        width: 49%;
    }
}

/* 
---------------------------------------
お客様の声　voice
---------------------------------------
*/
#mainContents .voice_list {
    max-width: 1180px;
    margin: 30px auto 40px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 20px;
    background: #fafaf7;
}
#mainContents .voice_list:last-child {
    margin: 40px auto 60px;    
}
#mainContents .voice_list dt img{
    width: 100%;
}
#mainContents .voice_list dt {
    width: 23%;
    max-width: 274px;
}
#mainContents .voice_list dd {
    width: 71%;
    max-width: 840px;
    font-size: 16px;
    margin-left: 42px;
}
@media screen and (max-width:767px) {
    #mainContents .voice_list {
        max-width: 1180px;
        margin: 4% auto 6%;
        padding: 10px;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
    #mainContents .voice_list dt img{
        width: 100%;
    }
    #mainContents .voice_list dt {
        width: 33%;
        margin-bottom:10px;
    }
    #mainContents .voice_list dd {
        width: 100%;
        font-size: 14px;
        margin: 0px;
    }
}

/* 
---------------------------------------
サービス　オプション
---------------------------------------
*/
#mainContents .service_cap {
    max-width: 1180px;
    margin: 60px auto 70px;
}
#mainContents .service_cap p {
    font-size: 36px;
    line-height: 50px;
    text-align: center;
    margin-bottom: 30px;
}
#mainContents .service_cap p span {
    font-weight: bold;
}
#mainContents .service_cap img {
    width: 100%;
}

#mainContents .service_list {
    max-width: 1180px;
    margin: 0 auto;
}
#mainContents .service_list dt {
    width: 180px;
    text-align: center;
    font-size: 36px;
    font-weight: bold;
    margin: 40px 0 30px;
}
#mainContents .service_list dd ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
#mainContents .service_list dd ul li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    width: 16.6%;
}
#mainContents .service_list dd ul li .service_ico {
    width: 81.9%;
}
#mainContents .service_list dd ul li .service_txt {
    font-size: 16px;
    font-weight: bold;
    height: 54px;
    margin: 25px 0 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#mainContents .service_list dd>p {
    padding: 16px;
    font-size: 16px;
}

@media screen and (max-width:1023px) {
    #mainContents .service_cap {
        max-width: 1180px;
        margin: 4% auto;
    }
    #mainContents .service_cap p {
        font-size: 3vw;
        line-height: 150%;
        text-align: center;
        margin-bottom: 15px;
    }
    #mainContents .service_cap p span {
        font-weight: bold;
    }
    #mainContents .service_cap img {
        width: 100%;
    }

    #mainContents .service_list {
        max-width: 1180px;
        padding: 0 5px;
        margin: 0 auto;
    }
    #mainContents .service_list dt {
        width: 180px;
        text-align: center;
        font-size: 3vw;
        font-weight: bold;
        margin: 20px 0;
    }
    #mainContents .service_list dd ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 90%;
        margin: 0 auto;
    }
    #mainContents .service_list dd ul li {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
        width: 50%;
        padding: 5px;
        box-sizing: border-box;
    }
    #mainContents .service_list dd ul li .service_ico {
        width: 34%;
    }
    #mainContents .service_list dd ul li .service_txt {
        font-size: 16px;
        font-weight: bold;
        width: 60%;
        height: inherit;
        margin: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }
    #mainContents .service_list dd>p {
        padding: 16px;
        font-size: 16px;
    }
}
@media screen and (max-width:639px) {
    #mainContents .service_cap {
        max-width: 1180px;
        margin: 20px auto;
    }
    #mainContents .service_cap p {
        font-size: 3vw;
        line-height: 150%;
        text-align: center;
        margin-bottom: 15px;
    }
    #mainContents .service_cap p span {
        font-weight: bold;
    }
    #mainContents .service_cap img {
        width: 100%;
    }

    #mainContents .service_list {
        max-width: 1180px;
        padding: 0 5px;
        margin: 0 auto;
    }
    #mainContents .service_list dt {
        width: 100%;
        text-align: left;
        font-size: 7vw;
        font-weight: bold;
        margin: 20px 0;
        padding-left: 1em;
        box-sizing: border-box;
    }
    #mainContents .service_list dd ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    #mainContents .service_list dd ul li {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
        width: 100%;
        padding: 5px;
        box-sizing: border-box;
    }
    #mainContents .service_list dd ul li .service_ico {
        width: 30%;
    }
    #mainContents .service_list dd ul li .service_txt {
        font-size: 16px;
        font-weight: bold;
        width: 65%;
        height: inherit;
        margin: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }
    #mainContents .service_list dd>p {
        padding: 5px;
        font-size: 16px;
        text-align: center;
    }
}
/* 
---------------------------------------
プラン
---------------------------------------
*/
#mainContents .plan-var {
    max-width: 1180px;
    margin: 60px auto 90px;
}
#mainContents .plan-var h2 {
    font-size: 40px;
    font-weight: bold;
    padding-bottom: 10px;
    margin: 0px auto 10px;
    text-align: center;
    position: relative;
}
#mainContents .plan-var h2::after {
    border-bottom: none;
    width: 0%;
    content: "";
    position: static;
    left: 0;
    bottom: 0;
}
#mainContents .plan-var p {
    font-size: 16px;
    line-height: 2rem;
    text-align: center;
    margin-bottom: 0px;
}
#mainContents .plan-var p.subTit,#mainContents .plan-var p.subTit-1 {
    font-size: 24px;
    margin-bottom: 30px;
}
#mainContents .plan-var p.subTit span.subPrice{
    font-size: 30px;
    color: #fe0000;
    font-weight:bold;
    margin-bottom: 30px;
}
#mainContents .plan-var span.subPrice{
    font-size: 30px;
    color: #fe0000;
    font-weight:bold;
    margin-bottom: 30px;
}
#mainContents .plan-var p.p-content {
    font-size: 16px;
    line-height: 1.8rem;
    text-align: left;
    margin: 20px auto 0;
}
#mainContents .plan-var img {
    width: 100%;
}

#mainContents .plan-Detail {
    max-width: 1180px;
    margin: 20px auto 50px;
    position:relative;
    display:flex;
    flex-wrap:wrap;
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    justify-content:space-between;
    align-items:center;
    background:#fafaf7;
    padding:30px;
}
#mainContents .plan-Detail .ImgPlan {
   width:20%;
   margin-right:2%;
}
#mainContents .plan-Detail .CntePlan {
   width:78%;
   font-size: 16px;
   line-height: 1.6rem;
}
#mainContents .plan-Detail .CntePlan p {
   text-align:left;
}
#mainContents .plan-Detail .CntePlan p.sup{
    font-size: 0.8rem !important;
    line-height: 1;
    margin-bottom: 16px;
}
#mainContents .plan-Detail .CntePlan ul {
   margin-left:20px;
}
#mainContents .plan-Detail .CntePlan ul li {
   list-style:disc;
}
#mainContents .plan-var .flx-title {
    display:flex;
    flex-wrap:wrap;
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    justify-content:space-between;
    align-items:center;
    margin:0 auto 5px;
}
#mainContents .plan-var .flx-title .title-img {
   width:14%;
   margin-left:6%;
}
#mainContents .plan-var .flx-title .title-rt-1 {
   width:80%;
}

@media screen and (max-width:767px) {

    #mainContents .plan-var {
       max-width: 100%;
       margin: 5% 1% 8%;
    }
    #mainContents .plan-Detail {
       max-width: 100%;
       margin: 4% auto 7%;
       padding:4%;
    }
    #mainContents .plan-var h2 {
		font-size: 1.3rem;
		padding-bottom: 0px;
        margin: 2% auto;
    }
    #mainContents .plan-var p.subTit, #mainContents .plan-var p.subTit-1 {
        margin-bottom:3%;
    }
    #mainContents .plan-Detail .ImgPlan {
	    width: 100%;
	    margin-right: 0%;
	}
	#mainContents .plan-Detail .CntePlan {
	    width: 100%;
	    font-size: 16px;
	    line-height: 1.6rem;
	    margin:3% 0 0 0;
	}
	#mainContents .plan-Detail .ImgPlan img {
	    width:40%;
	    margin:0 auto;
	    text-align:center;
	    display:block;
	}
	#mainContents .plan-var .flx-title .title-img {
	    width:60%;
	    margin:0 auto;
	    text-align:center;
	    display:block;
	}
	#mainContents .plan-var .flx-title .title-img img {
	    width:60%;
	    margin:0 auto;
	    text-align:center;
	    display:block;
	}
	#mainContents .plan-var .flx-title .title-rt-1 {
	    width:100%;
	}

}
/* 
---------------------------------------
plan
---------------------------------------
*/
#plan .tx-red {
  text-align:left;
  color:red;
  padding:2% 0 0 0;
  background: #f9f9f9;
}

/* 
---------------------------------------
coup-div
---------------------------------------
*/
#coup-div {
  max-width: 1180px;
  margin: -50px auto 100px;
}
#coup-div .tx-coup {
  text-align:left;
  font-weight:bold;
}

@media screen and (max-width:767px) {
#coup-div {
  max-width: 1180px;
  width:96%;
  margin: 3% auto 6%;
}

}
