#singleSlider{
  position: relative;
}
.scrollAnim {
  font-size: 24px;
  color: #fff;
  padding-bottom: 55px;
  width: 100%;
  position: absolute;
  text-align: center;
  left: 0;
  bottom: 0;
  text-shadow:0 3px 6px rgb(0 0 0 / 70%);
}
.scrollAnim:after {
  width: 1px;
  position: absolute;
  left: 50%;
  bottom: 0;
  background-color: #fff;
  content: '';
  animation: vertical 1.5s linear infinite;
  transition: .3s;
}
.sliderCatch{
  width: 100%;
  text-align: center;
  position: absolute;
  color:#fff;
  bottom:120px;
  font-size:min(26px,6.8vw);
  font-weight:500;
  text-shadow:0 3px 6px rgb(0 0 0 / 70%);
}
.shichigosan #cReason h2{
  font-size:23px;
  font-weight: 500;
  text-align: center;
  margin-top:38px;
  margin-bottom:55px;
}
.shichigosan #cReason figure{
  position: relative;
}
.shichigosan #cReason figure+figure{
  margin-top:122px;
}
.shichigosan #cReason figure figcaption{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  font-size:14px;
  width:calc(100% - 38px);
  box-shadow: 0 3px 6px rgb(0 0 0 / 16%);
  background:#fff;
  padding-top:22px;
  padding-left:18px;
  padding-bottom:35px;
  position: absolute;
  top: 155px;
  z-index: 100;
}
.shichigosan #cReason figure figcaption.rightVer{
  right:0;
}
.shichigosan #cReason figure figcaption h3{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size:16px;
  margin-bottom:23px
}
.shichigosan #cReason figure:last-child{
  margin-bottom:240px
}
#pageInJump{
  display: flex;
  width: calc(100% - 34px);
  margin-left: auto;
  margin-right: auto;
  margin-bottom:65px;
  justify-content: space-between;
}
#pageInJump a{
  width:32.5%;
  background:#B09E6E;
  color:#fff;
  text-align:center;
  font-size:15px;
  font-weight: 500;
  border-radius: 100%;
  padding-top: 32%;
  position:relative;
  box-shadow: 1px 6px 4px rgb(0 0 0 / 16%);
}
#pageInJump a span{
  position: absolute;
  width: 100%;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}
.mcH2,.mcH3{
  margin-left:9px;
  padding-left:11px;
  position: relative;
}
.mcH3{
  margin-top:49px;
}
.mcH2 p,.mcH3 p{
  font-size:13px;
  font-weight: 500;
  letter-spacing: 2px;
}
.mcH2 p span,.mcH3 p span{
  z-index: 6;
  position: relative;
}
.mcH2 p:before,.mcH3 p:before{
  content: "";
  width:55px;
  height:55px;
  border-radius:100%;
  background:#B09E6E;
  position: absolute;
  z-index: 5;
  left: 0;
  bottom: 55%;
}
.mcH2 h2{
  text-align: center;
  font-size:clamp(23px, 5vw, 30px);
  margin-top:17px;
  font-weight: 500;
}
.mcH3 h3{
  text-align: center;
  font-size:22px;
  margin-top:17px;
  font-weight: 500;
}
.mcC2Cap,.mcC3Cap{
  margin-top:9px;
  font-size:clamp(14px,4vw,19px);
  text-align: center;
}
.mcC2Cap small{
  display: block;
  text-align:right;
  margin-top:13px;
  padding-right: 30px;
  font-size:14px;
}
.mainCont{
  padding-bottom: 98px;
}
.shichigosan #priceSim .mcH2 h2{
  font-size:clamp(23px, 5vw, 30px);
}
.menuGallery{
  width:calc(100% - 20px);
  margin-left:auto;
  margin-right:auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.menuGallery li {
  width: 32%;
}
.menuGallery li:nth-child(n+4){
  margin-top:2%;
}
.menuGallery li:nth-child(n+2) {
  margin-left: 2%;
}
.menuGallery li:nth-child(3n+1) {
  margin-left: 0;
}
.showMoreBox{
  text-align: center;
}
/* .showMore{
} */
.whiteButton{
  display: inline-block;
  font-size:clamp(13px,3vw,16px);
  border-radius:4px;
  padding:18px 29px;
  border:1px solid #707070;
  background: #fff;
}
.showMoreTarget{
  display: none;
}
.mainCont#cGallery h3.genderAge{
  font-size:25px;
  text-align: center;
  margin-bottom:8px;
}
.mainCont#cGallery .menuGallery{
  margin-bottom:18px;
}
.planMixFlex{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(100% - 42px);
  margin-left:auto;
  margin-right:auto;
  margin-top:55px;
  margin-bottom:51px;
}
.pmBox{
  position: relative;
  text-align: center;
  font-size: min(17px,4.2vw);
  width: 28%;
  padding-top: 28%;
  background: #fff;
  border: 1px solid #707070;
  color:#3d3d3d;
}
.pmBox p{
  position: absolute;
  width: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  font-weight: 600;
}
.pmPlus{
  text-align: center;
  font-size:31px;
  font-weight: 600;
}
.planSim{
  width: calc(100% - 42px);
  background: #fff;
  color: #000;
  padding:40px min(45px,11vw);
  margin-left:auto;
  margin-right:auto;
  border:1px solid #707070;
}
.planSim h3{
  font-family: 'Noto Serif JP', serif;
  font-size:clamp(13px,6vw,20px);
}
.planSim.sim1 h4{
  font-size:16px;
}
.feeFlex{
  justify-content: space-around;
}
.feeFlex h3{
  font-size:20px;
  font-weight: 500;
}
.feeFlex p{
  text-align: center;
  font-size:22px;
}
.feeFlex p span{
  font-size:12px;
}
.barG{
  background:#B09E6E;
  color:#fff;
  text-align: center;
  font-size:11px;
  padding:9px 0;
  margin-top:15px;
}
.planContFlex{
  margin-top:7px;
  text-align: center;
  flex-wrap: wrap;
}
.planContFlex li{
  width:calc(50% - 12px);
}
.planContFlex li p{
  margin-top:5px;
  font-size:11px;
}
.planContFlex li img{
  display: block;
  border:1px solid #707070;
}
.planContFlex li:nth-child(n+3){
  margin-top:12px;
}
.sim2Sec dl.simPrice.flex{
  flex-wrap: wrap;
  align-items: center;
}
.sim2Sec dl.simPrice.flex dt{
  width:30%;
  font-size:14px;
}
.sim2Sec dl.simPrice.flex dd{
  width:70%;
  font-size: 17px;
}
.sim2Sec dl.simPrice.flex dd span{
  font-size:13px;
}
.planSim.sim2 h4{
  font-size:20px;
}
.planSim.sim2 h5{
  font-size:20px;
}
.simRelative{
  position: relative;
}
.simRelative span.simFlag{
  font-weight: 500;
  font-size:20px;
  color: #fff;
  display: inline-block;
  background: #B09E6E;
  padding: 4px 43px 4px 12px;
  clip-path: polygon(0% 0%,100% 0%,84% 50%,100% 100%,0% 100%);
  position: absolute;
  top: -21px;
  left: -7px;
}
.simRelative span.simSeal{
  position: absolute;
  width: clamp(65px,30vw,122px);
  top: -43px;
  right: -32px;
}
.simPlus{
  font-size: 57px;
  text-align: center;
  font-weight: bold;
}
.offBox{
  border-radius: 5px;
  border:1px solid #A46E59;
  padding:5px 20px;
  font-size:clamp(11px,3.5vw,16px);
  color:#A46E59;
  font-weight: 500;
  text-align: center;
}
.sim2Sec h4.mini{
  font-size:16px;
}
.planSim.sim3 h3{
  text-align: center;
  padding-left: 25px;
  padding-right:25px;
}
.planSim.sim3 h3 span{
  font-family: 'Noto Sans JP', sans-serif;
  display: block;
  font-size:clamp(10px,4vw,14px);
  margin-top:4px;
  padding-top:4px;
  border-top:1px solid #707070;
}
.planSim.sim3 h4{
  font-family: 'Noto Sans JP', sans-serif;
  font-size:14px;
  padding-bottom:2px;
  margin-top:16px;
  border-bottom: 1px solid #707070;
}
.simOpFlex{
  font-family: 'Noto Sans JP', sans-serif;
  margin-top:3px;
  flex-wrap:wrap;
  align-items: center;
  color:#707070;
}
.opLine{
  flex: 1;
  height: 1px;
  border-top: 1px dotted #707070;
  margin-right: 10px;
  margin-left: 11px;
}
.opPrice {
  text-align: right;
}
.forParents{
  width:calc(100% - 50px);
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wrapperSide{
  width: 88%;
  margin-left:auto;
  margin-right:auto;
}
#reccomend h2{
  font-weight: bold;
  font-size:27px;
  text-align: center;
}
#reccomend h3{
  margin-top:10px;
}
#reccomend figure{
  margin-top:2rem;
}
#reccomend figure:first-child {
  margin: 0;
}
#reccomend h3 img{
  width:117px;
}
#reccomend h3 span{
  font-size:19px;
  margin-top:15px;
  font-weight: bold;
  display: inline-block;
}
#reccomend .rcp{
  font-size:16px;
  margin-top:7px;
}
#studio,#flow,#instagram{
  background:#fff;
  padding:45px 0;
}
#studio h2,#flow h2,#instagram h2{
  font-size:33px;
  font-weight: bold;
  text-align: center;
}
#studio h3{
  background:#A46E59;
  padding:6px 0;
  color:#fff;
  font-size: 23px;
  margin-top:5.5px;
}
#studio h3 span{
  display: block;
}
#studio h4{
  font-size:25px;
  margin-top:10px;
  margin-bottom: 4px;
  color: #3d3d3d;
  font-weight: 500;
}
#studio .storeBox{
  padding-bottom:16px;
}
#studio .storeBox+.storeBox{
  border-top:1px solid #707070;
}
#studio .storeBox address{
  font-size:14px;
  font-family: 'Noto Sans JP', sans-serif;
  margin-top:6px;
  margin-bottom:2px;
}
#studio .storeBox p{
  font-family: 'Noto Sans JP', sans-serif;
  font-size:15px;
  font-weight: 100
}

/*flow*/
#flow #step{
	display: grid;
	grid-template-columns: max(10.9%, 56px) 1fr;
}
#flow #step .stepNum{
	text-align: center;
	border-right:1px solid #000;
	position: relative;
}
#flow #step .stepNum.first{
	clip-path: polygon(0 0,calc(100% - 1px) 0,calc(100% - 1px) 18px,106% 12px,120% 100%,0 100%);
}
#flow #step .stepCont h3{
	font-size:22px;
	position:relative;
	padding-left: 22px;
  color:#3d3d3d;
  font-weight: 500;
}
#flow #step .stepNum h3,.stepCont .stepFlex h3{
	font-size:11px;
	font-weight:500;
	position:relative;
	line-height:1.3;
}
#flow #step .stepNum h3::after{
	content: "";
	top: 18px;
	width: 5px;
	height: 5px;
	background: #000;
	position: absolute;
	right: -3px;
	transform: rotate(45deg);
}
#flow #step .stepCont{
	position:relative;
	padding-right: 22px;
	padding-bottom:73px;
}
#flow #step .stepCont p{
	font-size:16px;
	font-family: 'Noto Sans JP', sans-serif;
	margin-bottom:0;
	padding-left: 22px;
}
#flow #step .stepNum span,.stepCont .stepFlex h3 span{
	font-size:19px;
	display: block;
}
.stepCont .stepFlex{
	width:100%;
	display: flex;
	flex-wrap: wrap;
	margin-top: 73px;
}
.stepFlex .sfL{
	width:50%;
	padding-left: 13px;
}
.stepFlex .sfR{
	width:50%;
	padding-left: 13px;
}
.bpBar{
	width: 100%;
	font-size:14px;
	background:#EADFD9;
	padding:8px 18px;
	margin-bottom:10px;
}
#flow #step .stepCont .sfR h3{
	padding-left:0
}
.sfL.lineOn.first{
	border-top:1px solid #000;
	border-right:1px solid #000;
}
.sfL.lineOn.last{
	border-top:none;
	border-right:1px solid #000;
	position: relative;
}
.sfR.first{
	padding-top: 15px;
	padding-bottom: 12px;
}
.sfR.first img{
	display: block;
	margin-top:4px;
}
.sfR.last{
	padding-bottom:49px;
	padding-top: 15px;
}
.sfL.lineOn{
	text-align: right;
}
#flow #step .sfL.lineOn .stepNum{
	display: inline-block;
	text-align: center;
	border-right:none;
	padding:10px 10px 0 0;
}
#flow #step .sfL.lineOn.first .stepNum h3::after {
  content: "";
  top: -13px;
  width: 5px;
  height: 5px;
  background: #000;
  position: absolute;
  right: -13px;
  transform: rotate(45deg);
}
#flow #step .sfL.lineOn.last .stepNum h3::after {
  content: "";
  top: 18px;
  width: 5px;
  height: 5px;
  background: #000;
  position: absolute;
  right: -13px;
  transform: rotate(45deg);
}
.stepCont .sfL.last2{
	width:50%;
	border-right:1px solid #000;
	position: relative;
	clip-path: polygon(0 0,133% 0,133% 24px,100% 24px,0 100%);
}
.stepCont .sfL.last2::after{
	content: "";
	top: 18px;
	width: 5px;
	height: 5px;
	background: #000;
	position: absolute;
	right: -3px;
	transform: rotate(45deg);
}
#step .stepCont {
	line-height: 1.43
}
#step .stepCont p{
	margin-top:19px
}
.stepCont .button{
	font-family: 'Noto Sans JP', sans-serif;
	display:block;
	text-align: center;
	color:#fff;
	padding:8px 0;
	margin-top:19px;
	margin-left: 22px;
	border-radius: 25px;
}
.stepCont .rainbow{
	font-size:20px;
	background: linear-gradient(to right, rgb(255 207 100 / 51%), rgba(245,99,67,1.0), rgba(238,122,165,1.0));
}
.stepCont .brown{
	font-size:16px;
	background: #533727
}
.stepCont .brown span{
	font-size:10px;
}
.subCont{
  padding-bottom:21px;
}
@keyframes vertical {
  0%{ height: 0px;top:33.594px}
  50%{ height: 55px;}
  100%{ height: 0px;bottom:0}
}

@media (min-width:769px){
  .sliderCatch{
    /*text-align: left;*/
  }
}


.cgallery-box {
  background: #fff;
  padding: 1rem 0;
}

.mainCont#cGallery h3.genderAge--birthgirl,
.mainCont#cGallery h3.genderAge--birthboy {
  font-size: 22px;
  font-weight: bold;
}

.stepCont .cB09 {
  text-decoration: underline;
}

.shoot_data {
  display: inline-block;
}

p.shoot_data {
  margin-left: 1rem;
}

.blackButtun--shadow {
  display: block;
	width: 100%;
	color:#fff;
  background: linear-gradient( to bottom, #928F87, #3D3A33);
  font-size:min(19px,4.3vw);
	text-align:center;
	padding:36px 0;
  font-size: 1.5rem;
  font-weight: bold;
}

.frisode-fee dt {
  margin: 1rem 1rem 1rem 0;
}

.frisode-fee .frisode-fee__inner dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* margin: 0 0 1rem; */
  font-size: clamp( 11px,3.5vw,16px);
}

.frisode-fee .frisode-fee__inner dd {
  line-height: 1;
  text-align: center;
  font-size: clamp(14px,4vw,21px);
}

.frisode-fee .frisode-fee__inner dl span {
  font-size:0.8em;
}

.fee753 {
  display: flex;
  flex-wrap: wrap;
  font-size:clamp(12px, 4vw, 18px);
}

.fee753 dt,
.fee753 dd {
  margin-bottom: 1em;
}

.fee753 dt {
  width: 35%;
}

.fee753 dd {
  width: 65%;
  text-align: right;
}

.fee753 dd span {
  font-size: 0.8em;
}

.calender753 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size:clamp(12px, 4vw, 16px);
  margin: 1em 0;
}

.calender753 dt {
  margin-bottom: 0.5em;
}

.calender753 a {
  display: block;
}

@media(max-width:400px) {
  .calender753 {
    justify-content: flex-start;
  }
}

.calender-open {
  color: #666;
  cursor: pointer;
  margin-bottom: 1em;
}

#calender-modal {
  display: none;
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  height: 100dvh;
  width: 100%;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  background-color: rgba(0, 0, 0, 0.5);
}

#calender-modal.active {
  display: block;
}

.calender-modal__wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

.calender-modal__inner {
  width: min(90%,750px);
  margin-top: 125px;
  margin-bottom: 125px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.25);/* モーダルにシャドウをかける */
  border-radius: 13px; /* モーダルの角を丸める */
  display: block;
  height: auto;

}

.calender-modal__content {
  padding: 15px 0 23px;
}

#calender-close {
  font-size: 3rem;
  display: inline-block;
  margin-right: 20px;
  cursor: pointer;
}

.calender-modal__head {
  text-align: right;
  line-height: 1;
}

/* モーダル表示時は背景固定する */
body.modal-open {
  overflow-y: hidden;
}

/* 四日市店限定 */
.sp-plan-banner{
  background: #fff;
  border: 1px solid #707070;
  padding:22px 20px 25px;
}
.sp-plan-banner__h2{
  color: #666;
  font-size: 2em;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: .25em;
  text-align: center;
}
.slb-h2__small{
  display: block;
  font-size: 0.63em;
  font-weight: 400;
}
.sp-plan-banner__bottom{
  border-top:1px solid #666;
  display: flex;
  justify-content: space-between;
  padding-top: 1.25em;
}
.sp-plan-bottom__left {
  width: 40%;
}
.sp-plan-bottom__right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 57%;
}
.spb-right___caption{
  font-size: clamp(9px, 2.5vw, 15px);
}
.spb-right___link{
  background: #707070;
  color: #fff;
  display: block;
  font-size: 1.2em;
  padding: .75em 0;
}
#smashGuide h2 {
  font-size: 1.2em;
  text-align: center;
  margin: 1em 0;
  font-weight: bold;
}

.guide-wrapper {
  background-color: #fff;
  padding: 1em;
}

.guide-wrapper__head {
  margin-bottom: 2em;
  line-height: 1.8;
}
.guide-wrapper__bottom {
  /* display: none; */
  position: relative;
  height: 7vw;
  overflow: hidden;
  padding: 0px 5px;
  line-height: 1.8;
}

.guide-wrapper__bottom::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(to top, rgb(255, 255, 255) 0px, rgba(255, 255, 255, 0) 80%);
  pointer-events: none;
}

.guide-wrapper__bottom.active {
  height: 100%;
}
.guide-wrapper__bottom.active::before {
  background: none;
}
.guide-wrapper__bottom p {
  margin-bottom: 2em;
}

.guide-btn {
  display: inline-block;
  text-align: center;
  border: 1px solid #707070;
  border-radius: 5px;
  content: "";
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.guide-btn p {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1em 3em;
}
.guide-btn span {
  position: relative;
}

.guide-btn span::before {
  position: absolute;
  content: "";
  width: 1em;
  height: 1px;
  background: #707070;
  right: -2em;
  top: 50%;
  transform: translateY(-50%);
}

.guide-btn span::after {
  position: absolute;
  content: "";
  width: 1em;
  height: 1px;
  background: #707070;
  right: -2em;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
}

.guide-btn.active span::after {
  position: absolute;
  content: "";
  width: 1em;
  height: 1px;
  background: #707070;
  right: -2em;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
}

#partnerStore {
  margin: 5vh auto;
}
#partnerStore h2 {
  font-size: 1.2em;
  text-align: center;
  margin: 1em 0;
  font-weight: bold;
}
#partnerStore h3 {
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 1em;
}
#partnerStore h3 span {
  font-weight: normal;
}
#partnerStore .guide-wrapper__bottom .img__wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

#partnerStore .guide-wrapper__bottom .img__wrapper .img__wrapper_item {
  width: 38%;
  margin-bottom: 1em;
}
#partnerStore .guide-wrapper__bottom .img-note {
  text-align: center;
}
.fwB {
  font-weight: bold;
}