@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@700&display=swap');
/*
------------------------------------------------------------
共通設定
------------------------------------------------------------
*/
html {
  font-size: 62.5%;
}
body {
  font-size: 1.5rem;
  font-family: 'Noto Sans JP', sans-serif;
  /*font-family: 'M PLUS Rounded 1c', sans-serif;*/
  color: #755947;
  line-height: 2.5rem;
}
img {
  vertical-align: bottom;
}
ul {
  list-style: none;
}
.wrapper {
  width: 100%;
  max-width: 1920px;
  margin: auto;
}
.container {
  width: calc(100% - 40px);
  max-width: 1050px;
  margin: auto;
}
/*共通タイトル*/
.main-heading {
  max-width: 350px;
  margin: auto auto 30px auto;
}
.main-heading img {
  width: 100%;
}
@media screen and (max-width:767px) {
  .main-heading {
    max-width: 280px;
    margin: auto auto 20px auto;
  }
}
.bg-pattern1 {
  background: url("img/bg1.gif");
}
.bg-pattern2 {
  background: url("img/back_img.png");
}
.bg-pattern3 {
  background: url("img/white_texture.jpg");
}
.bg-aquamarine {
  background-color: #76C1B7;
}
.bg-gold {
  background-color: #FFB200;
}
.bg-pink {
  background-color: #FF9094;
}
/*
------------------------------------------------------------
個別設定
------------------------------------------------------------
*/
#header {
  background: url("img/line-top.svg") no-repeat top;
  height: 90px;
  position: relative;
  padding-top: 20px;
  box-sizing: border-box;
}
.logo {
  margin-left: 30px;
}
.top-right-area {
  position: absolute;
  top: 20px;
  right: 90px;
  width: 100%;
  max-width: 500px;
  display: flex;
  justify-content: space-between;
}
.top-time {
  display: flex;
  align-items: center;
  width: 295px;
}
.top-time p {
  margin-left: 20px;
  font-size: 1.4rem;
  color: #ae9b71;
  line-height: 2.2rem;
}
.btn-area a {
  margin-left: 10px;
}
.btn-area a:hover {
  opacity: .8;
}
.top-time-inner {
  width: 100%;
  text-align: center;
  background: #efefef;
  padding-top: 30px;
}
.top-time-inner p {
  color: #ae9b71;
  line-height: 2.2rem;
}
.btn-area-inner {
  text-align: center;
  padding: 10px 0;
  background: #efefef;
  height: 100%;
}
.btn-area-inner a {
  margin-bottom: 10px;
  display: inline-block;
}
.btn-area-inner a:hover {
  opacity: .8;
}
@media screen and (max-width:776px) {
  .logo {
    margin: auto;
    text-align: center;
  }
  .top-right-area {
    display: none;
  }
}
@media screen and (max-width:1199px) {
  .top-right-area {
    justify-content: flex-end;
  }
}
/*
-----------------------
main-visual
-----------------------
*/
.main-visual img {
  width: 100%;
}
/*
-----------------------
se-about
-----------------------
*/
.se-about {
  padding: 100px 0 0 0;
}
.se-about h2 {
  text-align: center;
  max-width: 280px;
  margin: 0 auto 50px auto;
}
.se-about h2 img {
  width: 100%;
}
.se-about p {
  text-align: center;
}
@media screen and (max-width:767px) {
  .se-about {
    padding: 50px 0 0 0;
  }
  .se-about h2 {
    max-width: 230px;
    margin: 0 auto 20px auto;
  }
  .se-about p {
    text-align: left;
  }
  .se-about p br {
    display: none;
  }
}
/*
-----------------------
se-merit
-----------------------
*/
.se-merit {
  padding: 100px 0 0 0;
}
.merit-all {
  padding: 80px 0;
  border-top: 1px solid #FBF0DA;
  border-bottom: 1px solid #FBF0DA;
}
.merit-detail {
  display: flex;
  justify-content: space-between;
}
.merit-box {
  width: 100%;
  max-width: 230px;
  margin-right: 20px;
}
.merit-box:last-child {
  margin-right: 0;
}
.merit-box img {
  width: 100%;
}
.merit-box h3 {
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
  color: #ae9b71;
  margin: 20px auto 10px auto;
  border-bottom: 1px solid #ae9b71;
  padding-bottom: 5px;
}
.merit-box p {
  line-height: 2.2rem;
}
.merit-box p span {
  color: #FF474E;
  font-weight: bold;
}
.merit-box small {
  display: block;
  font-size: 1.3rem;
  line-height: 1.8rem;
}
@media screen and (max-width:767px) {
  .se-merit {
    padding: 50px 0 0 0;
  }
  .merit-all {
    padding: 40px 0;
  }
  .merit-detail {
    flex-direction: column;
    justify-content: center;
  }
  .merit-box {
    max-width: 300px;
    margin: auto auto 30px auto;
  }
  .merit-box:last-child {
    margin-right: auto;
  }
  .merit-box h3 {
    font-size: 2.2rem;
  }
}
@media screen and (min-width:768px) and (max-width:991px) {
  .merit-detail {
    flex-wrap: wrap;
    justify-content: center;
    max-width: 650px;
  }
  .merit-box {
    margin-right: 65px;
    margin-bottom: 50px;
  }
  .merit-box:nth-child(even) {
    margin-right: 0;
  }
}
/*
-----------------------
se-plan
-----------------------
*/
.se-plan {
  padding: 100px 0 0 0;
}
.plan-all {
  padding-top: 10px;
  padding-bottom: 80px;
}
.plan_ttl{
	position: relative;
	width: 95%;
	height: 120px;
	text-align: center;
	margin: 80px auto 15px;
}
.plan_ttl img{
	width: 100%;
	height: 120px;
}
.plan_ttl p{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 42px;
	line-height: 1;
	font-weight: 600;
	color: #fff;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.plan_ttl p span{font-size: 32px;color: #F2E113;}
.plan_ttl_sub{
	color: #765B49;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
}
.plan-wrap {
  display: flex;
	align-items: flex-start;
  max-width: 1200px;
  margin: 30px auto auto;
}
.plan-left-area, .plan-right-area {
  /*width: 49%;*/
  margin: 0 auto;
}
.plan-left-area {
  width: 55%;
}
/*IE/Edgeに対応*/
.object-fit-img {
  font-family: 'object-fit: cover; object-position: center;'
}
.plan-left-area img {
  min-width: 100%;
  min-height: 100%;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
}
.plan-right-area {
  box-sizing: border-box;
  width: 40%;
  max-width: 650px;
  position: relative;
	margin: 0 auto;
}
.plan-right-area img{
	width: 100%;
	margin-bottom: 10px;
}

.plan-content {
  max-width: 100%;
  padding: 20px;
  box-sizing: border-box;
  margin: auto;
}
.plan-content h3 {
  font-weight: bold;
  font-size: 24px;
  color: #755947;
  text-align: left;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 3px solid #c5b990;
  line-height: 24px;
}
.plan-content h3 em{
	font-size: 16px;
	font-style: normal;
	font-weight: normal;
	vertical-align: 2px;
	margin-left: 10px;
}
.plan-content h3 span {
  display: block;
  width: 180px;
  height: 30px;
  background: url("img/heading-pan-ribon.svg") no-repeat;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  font-size: 1.8rem;
  text-align: center;
  color: #fff;
  margin: auto auto 10px auto;
  line-height: 3rem;
}
.plan-content p {
  line-height: 2.2rem;
  margin-top: 10px;
  text-align: center;
}
.plan-price {
  margin-top: 20px;
}
.plan-price dl {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 1px solid #C5B990;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.plan-price dl dt {
  width: 60px;
  height: 40px;
  border-radius: 8px;
  color: #fff;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 4rem;
  text-align: center;
}
.plan-price dl dd {
  font-weight: bold;
  font-size: 3rem;
  text-align: left;
}
.plan-price dl:last-child{
	border: none;
}
.plan-content small {
  text-align: left;
  display: block;
  font-size: 16px;
  margin-top: 10px;
}
.plan-option {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.plan-option li {
  width: 24.2%;
  max-width: 160px;
}
.plan-option li:not(:last-child) {
  margin-right: 1%;
}
.plan-option li img {
  width: 100%;
}
.plan-detail {
  /*margin-top: 20px;*/
}
.plan-detail h4 {
  font-size: 1.8rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: 3.2rem;
  background: url("img/plan-detail_title-bg.svg") no-repeat;
  width: 180px;
  height: 32px;
  margin: 0 auto;
}
.plan-list {
  padding: 20px 0;
  border-top: 3px solid #C5B990;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.plan-list li {
  border: 1px solid #C5B990;
  padding: 5px 10px;
  font-size: 18px;
  line-height: 2.3rem;
  text-align: center;
  margin-bottom: 5px;
}
.plan-list li:not(:last-child) {
  margin-right: 5px;
}
.add-plan {
  margin-top: 20px;
}
.add-plan p {
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  background: #AE9B71;
  padding: 5px;
  border-radius: 15px;
  text-align: center;
}
.plan-attention {
  font-weight: bold;
  margin-top: 50px;
  padding: 20px;
  box-sizing: border-box;
  background-color: #F1E3C8;
  text-align: center;
}
.plan_photo{text-align: center;}
.plan_photo img{max-width: 100%;width: auto;}
@media screen and (max-width:767px) {
  .se-plan {
    padding: 50px 0 0 0;
  }
  .plan-content h3 {
    font-size: 3.3rem;
    padding-bottom: 10px;
  }
  .plan-content p {
    margin-top: 10px;
  }
  .plan-attention {
    margin-top: 20px;
    padding: 10px;
    text-align: left;
  }
  .plan_ttl{
      height: 20vw;
      margin: 10vw auto 3vw;
  }
  .plan_ttl img{
      width: 100%;
      height: 20vw;
  }
  .plan_ttl p{
      font-size: 7vw;
  }
  .plan_ttl p span{font-size: 5vw;}
  .plan_ttl_sub{
      font-size: 4vw;
  }

}
@media screen and (max-width:991px) {
  .plan-wrap {
    flex-direction: column;
    margin: 50px auto auto;
  }
  .plan-option {
    max-width: 450px;
    margin: auto;
  }
  .plan-option li {
    width: 49%;
    max-width: 220px;
    margin: auto;
    margin-bottom: 1%;
  }
  .plan-option li:not(:last-child) {
    margin-right: auto;
  }
  .plan-left-area, .plan-right-area {
    width: 100%;
    max-width: 750px;
  }
  .plan-content {
    width: 650px;
  }
}
@media screen and (min-width:992px) {
  .plan-wrap > .order-change1 {
    order: 2;
  }
  .plan-wrap > .order-change2 {
    order: 1;
  }
}
/*
-----------------------
other-plan
-----------------------
*/
.other-plan {
  padding: 80px 0;
}
.other-plan h3 {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: bold;
  font-size: 3.5rem;
  color: #755947;
  text-align: center;
  margin-bottom: 50px;
  padding-bottom: 20px;
  border-bottom: 3px solid #c5b990;
  line-height: 3.5rem;
  max-width: 550px;
}
.other-plan h3 span {
  display: block;
  width: 180px;
  height: 30px;
  background: url("img/heading-pan-ribon.svg") no-repeat;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  font-size: 1.8rem;
  text-align: center;
  color: #fff;
  margin: auto auto 10px auto;
  line-height: 3rem;
}
.other-plan-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.oth-left-area {
  width: 450px;
  max-width: 100%;
  margin-right: 20px;
}
.oth-left-area img {
  width: 100%;
}
.oth-right-area {
  width: 550px;
  max-width: 100%;
}
.oth-right-area h4 {
  font-weight: bold;
  font-size: 2.4rem;
  color: #755947;
  line-height: 3rem;
  margin-bottom: 20px;
}
.oth-img-area {
  width: 415px;
  max-width: 100%;
  margin: auto auto auto auto;
}
.oth-img-area img {
  width: 100%;
}
.oth-right-area p {
  background: #f1e3c8;
  margin-top: 30px;
  text-align: center;
  line-height: 2rem;
  padding: 5px;
}
.other-plan-price {
  margin-top: 20px;
}
.other-plan-price dl {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 1px solid #C5B990;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.other-plan-price dl dt {
  width: 116px;
  height: 28px;
  border-radius: 8px;
  color: #fff;
  font-size: 1.8rem;
  line-height: 2.8rem;
  text-align: center;
}
.other-plan-price dl dd {
  font-weight: bold;
  font-size: 2.5rem;
  text-align: left;
}
.oth-right-area small {
  text-align: center;
  display: block;
  font-size: 1.3rem;
}
@media screen and (max-width:767px) {
  .other-plan {
    padding: 50px 0;
  }
  .oth-right-area h4 {
    font-size: 2rem;
    line-height: 2.5rem;
  }
  .oth-right-area p {
    text-align: left;
    padding: 5px 15px;
    box-sizing: border-box;
  }
}
@media screen and (min-width:768px) and (max-width:991px) {
  .oth-right-area h4 {
    text-align: center;
  }
}
@media screen and (max-width:991px) {
  .other-plan-wrap {
    flex-direction: column;
  }
  .oth-left-area {
    margin-right: 0;
  }
  .oth-right-area {
    margin-top: 30px;
    width: 650px;
  }
}
/*
-----------------------
contact-com
-----------------------
*/
.se-contact-com {
  margin: 100px auto;
}
.contact-area {
  max-width: 650px;
  margin: auto;
}
.con-intro {
  text-align: center;
}
.con-title {
  height: 35px;
  border-radius: 25px;
  background: #eee;
  font-weight: bold;
  font-size: 1.8rem;
  text-align: center;
  color: #755947;
  line-height: 3.5rem;
  margin: 10px auto;
}
.con-time {
  font-size: 1.8rem;
  text-align: center;
  color: #755947;
}
.con-time span {
  margin-right: 20px;
}
.con-tel {
  text-align: center;
  margin: 30px auto;
  width: 100%;
  border-bottom: 1px solid #c5b990;
  padding-bottom: 20px;
}
.con-tel a {
  font-weight: bold;
  font-size: 6.5rem;
  color: #ff474e;
  text-decoration: none;
  padding: 0;
  margin: 0;
}
.btn-area-contact {
  display: flex;
  justify-content: space-around;
  list-style: none;
}
.btn-area-contact li {
  width: 510px;
  max-width: 100%;
}
.btn-area-contact li:first-child {
  margin-right: 20px;
}
.btn-area-contact img {
  width: 100%;
}
@media screen and (max-width:767px) {
  .se-contact-com {
    margin: 50px auto;
  }
  .con-intro {
    text-align: left;
  }
  .con-intro br {
    display: none;
  }
  .con-time span {
    margin-right: 0;
    display: block;
  }
  .con-tel {
    margin: 20px auto;
    padding-bottom: 10px;
  }
  .con-tel a {
    font-size: 4rem;
  }
}
/*
-----------------------
photo-gallery
-----------------------
*/
.se-gallery {
  padding: 0px 0 0 0;
  margin: auto auto;
}
.gallery-child {
  margin: 50px auto;
  text-align: center;
  max-width: 250px;
}
.gallery-child img {
  width: 100%;
}
.gallery-img-wrap {
  display: flex;
  justify-content: space-between;
}
.ga-left-img img, .ga-right-img img {
  width: 100%;
}
@media screen and (max-width:767px) {
  .se-gallery {
    padding: 25px 0 0 0;
  }
  .gallery-child {
    margin: 25px auto;
  }
  .gallery-img-wrap {
    flex-direction: column;
  }
}
/*lightbox-設定*/
.gallery-box {
  display: none;
}
.gallery {
  list-style: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.thumb {
  width: 32.69%;
  height: 220px;
  overflow: hidden;
  margin-right: 10px;
  margin-bottom: 10px;
  box-sizing: border-box;
}
.thumb:hover {
  opacity: .8;
}
.thumb img {
  width: 100%;
}
.btn-dis {
  cursor: pointer;
  max-width: 650px;
  border-radius: 40px;
  border: 5px solid #f1e3c8;
  padding: 20px 10px;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: bold;
  font-size: 3.5rem;
  text-align: center;
  color: #755947;
  margin: 50px auto auto auto;
  line-height: 3.5rem;
  transition: all linear .3s;
}
.btn-dis:hover {
  background: #F1E3C8;
}
.btn-dis:visited {
  background: #fff;
}
.ga-icon {
  text-align: center;
  margin: 15px auto;
}
@media screen and (max-width:767px) {
  .btn-dis {
    font-size: 2rem;
    padding: 10px 5px;
    margin: 30px auto auto auto;
  }
  .thumb {
    width: 48%;
    height: 130px;
  }
  .thumb:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (min-width:768px) and (max-width:991px) {
  .thumb {
    width: 32.3%;
  }
}
@media screen and (min-width:992px) and (max-width:1199px) {
  .thumb {
    width: 32.5%;
  }
}
@media screen and (min-width:768px) {
  .thumb:nth-child(3n) {
    margin-right: 0;
  }
}
/*
-----------------------
shooting-flow
-----------------------
*/
.se-flow {
  padding: 100px 0 0 0;
}
.flow-wrap {
  padding: 80px 0;
}
.flow-content {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.flow-content li {
  width: 49%;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #c5b990;
  margin-right: 20px;
  margin-bottom: 20px;
  padding: 15px;
  box-sizing: border-box;
}
.flow-content li:nth-child(even) {
  margin-right: 0;
}

.flow-box {
  display: flex;
}
.fl-img-area {
  width: 150px;
  max-width: 100%;
  margin-right: 15px;
}
.fl-img-area img {
  width: 100%;
}
.fl-detail {
  max-width: 320px;
}
.fl-detail h3 {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: bold;
  font-size: 2.5rem;
  text-align: left;
  color: #ae9b71;
  border-bottom: 1px solid #c5b990;
  padding-bottom: 5px;
  margin-bottom: 5px;
}
.fl-detail h3 span {
  display: inline-block;
  font-size: 2.2rem;
  background: #76c1b7;
  color: #fff;
  width: 30px;
  height: 30px;
  box-sizing: border-box;
  line-height: 3rem;
  text-align: center;
  border-radius: 50%;
  margin-right: 5px;
}
.fl-detail p {
  line-height: 2.2rem;
}
@media screen and (max-width:767px) {
  .se-flow {
    padding: 50px 0 0 0;
  }
  .flow-content {
    flex-direction: column;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
  }
  .flow-content li {
    width: 100%;
    margin: auto auto 20px auto;
    max-width: 350px;
  }
  .flow-content li:nth-child(even) {
    margin-right: auto;
  }
  .flow-box {
    flex-direction: column;
  }
  .fl-img-area {
    width: 300px;
    max-width: 100%;
    margin: auto auto 15px auto;
  }
  .fl-detail {
    max-width: none;
    width: 100%;
  }
  .fl-detail h3 {
    font-size: 2.3rem;
    text-align: center;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .fl-detail h3 span {
    font-size: 2rem;
    width: 25px;
    height: 25px;
    line-height: 2.5rem;
  }
}
@media screen and (min-width:768px) and (max-width:991px) {
  .flow-content li {
    width: 48.5%;
  }
  .fl-detail h3 {
    font-size: 2rem;
  }
  .fl-detail h3 span {
    font-size: 2rem;
    width: 25px;
    height: 25px;
    line-height: 2.5rem;
  }
}
@media screen and (min-width:992px) and (max-width:1199px) {
  .flow-content li {
    width: 48.9%;
  }
}
/*lightbox-設定*/
#page-top {
  position: fixed;
  bottom: 40px;
  right: 10px;
  width: 55px;
  height: 55px;
  display: none;
}
#page-top a {
  display: block;
}
#page-top a:hover {
  opacity: .8;
}
@media screen and (max-width:767px) {
  #page-top {
    right: 5px;
  }
}
/*
-----------------------
footer
-----------------------
*/
.footer {
  padding-top: 50px;
  background: #eee;
}
.ft-content {
  text-align: center;
  max-width: 380px;
  margin: auto;
  line-height: 2.2rem;
}
.ft-content ul {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #c5b990;
}
.ft-content ul li span {
  margin-right: 20px;
}
.copyright {
  display: block;
  background: #76c1b7;
  color: #fff;
  margin-top: 50px;
  text-align: center;
  font-size: 1.3rem;
  height: 35px;
  line-height: 3.5rem;
}
@media screen and (max-width:767px) {
  .ft-content ul li span {
    margin-right: 0;
    display: block;
  }
}



/*202410追加 衣装ギャラリー*/
.costume_gallery{
	background: #FDF2EB;
	padding: 100px 0;
}
.costume_ttl{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 900;
	color: #715442;
	font-size: 34px;
	text-align: center;
	margin-bottom: 50px;
}
.costume_ttl:after {
  display: block;
  content: "";
  width: 150px;
  height: 6px;
  background: url("com_deco-title_line1.svg") no-repeat;
  margin: 30px auto auto;
}
.costume_gallery ul{
	display: flex;
	flex-wrap: wrap;
}
.costume_gallery ul li{
	width: 18.3%;
	margin: 0 0.5% 10px;
	background: #fff;
	border: 1px #AE9B71 solid;
}
.costume_gallery ul li img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}
.to_costume{
	display: block;
	width: 300px;
	background: #FE6D72;
	border-radius: 8px;
	color: #fff;
	margin: 50px auto;
	filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
	text-decoration: none;
	text-align: center;
	padding: 20px;
	font-size: 18px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
}
.to_costume:hover{
	opacity: 0.7;
	transition: 0.3s;
}

@media screen and (min-width:768px) and (max-width:991px) {
.costume_gallery ul li{
	width: 24%;
}
}
@media screen and (max-width:767px) {
.costume_gallery ul li{
	width: 48%;
}
	
}