@charset "utf-8";


body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}

#contents *{
	font-family: 'Noto Sans JP';
}
#path {
	margin: 0px auto 10px;
}
#contents {
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
}


/*-----------------------------------------------------------
reset
-----------------------------------------------------------*/
.h1_section {
	display: none;
}
#container #contents_outer {
	background-color: #fff;
}
#contents {
	padding: 0;
}
/*-----------------------------------------------------------
コンテンツ名を入れる
-----------------------------------------------------------*/
#article {float: none;width: auto;}

.mainCatch {
	background: url(../images/bg_mainCatch.jpg) no-repeat;
	background-position: center;
	height: 508px;
}
.mainCatch_inner {
	width: 950px;
	margin: 0 auto;
}
.mainCatch h1 {
	font-size: 35px;
	font-weight: bold;
	position: relative;
	width: 950px;
	margin: 0 auto;
	text-align: center;
	padding: 72px 0 0;
	line-height: 1.8;
	letter-spacing: 3.5px;
	margin-bottom: 10px;
}
.ttl_square {
	font-size: 38px;
	position: relative;
	letter-spacing: 10.5px;
	font-weight: bold;
}
.mainCatch h1::before {
	content: '';
	position: absolute;
	background: url(../images/icon_borderleft.png) no-repeat;
	width: 25px;
	height: 42px;
	top: 87px;
	left: 284px;
}
.mainCatch h1::after {
	content: '';
	position: absolute;
	background: url(../images/icon_borderright.png) no-repeat;
	width: 23px;
	height: 53px;
	top: 87px;
	right: 280px;
}
.ttl_sub {
	width: 468px;
	/* margin: 0 auto 0 0; */
	float: right;
}
.ttl_item01 {
	background: #D55283;
	border-radius: 8px;
	font-size: 18px;
	font-weight: bold;
	padding: 20px 0 24px 0px;
	color: #fff;
	line-height: 1.6;
	letter-spacing: 2px;
	margin-bottom: 17px;
	text-align: center;
}
.ttl_item01 .text_store {
	font-size: 25px;
	letter-spacing: 4px;
}
.ttl_item02{
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	float: left;
	margin-left: 7px;
	letter-spacing: 2.5px;
	line-height: 1.5;
	position: relative;
}
.ttl_item02::after {
	content: '';
	background: url(../images/img_maincatchPC.png) no-repeat;
	position: absolute;
	width: 133px;
	height: 133px;
	bottom: -30px;
	right: -137px;
}
/*-----------------------------------------------------------
mainCont
-----------------------------------------------------------*/
.mainCont {

}
.worry_sec {
	width: 950px;
	margin: 0 auto 0px;
	padding-top: 38px;
	position: relative;
	background-color: #F8F4F5;
	padding-bottom: 13px;
}
.worry_sec .sec_img {
    height: 407px;
    margin: 0 74px;
}
.worry_sec::after {
	content: '';
	border-bottom: 5px solid #D55283;
	position: absolute;
	width: 802px;
	bottom: 94px;
	left: 76px;
}
.worry_sec p:nth-child(2) {
	padding-top: 16px;
	font-size: 20px;
	background: url(../images/under_worry.png) no-repeat;
	background-position: 286px -3px;
	text-align: center;
	color: #fff;
	height: 66px;
	margin-right: 40px;
	letter-spacing: 2px;
}
.store_sec {
	background: #D55283;
	position: relative;
	font-size: 32px;
	font-weight: 500;
	border-radius: 8px;
	width: 950px;
	margin: 0 auto;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	margin-bottom: 53px;
}
.store_inner {
	margin: 26px 0 0 0px;
	padding-left: 36px;
}
.store_sec .store_text {
	font-size: 19px;
	font-weight: 500;
	position: relative;
	text-align: center;
	margin-bottom: 22px;
	letter-spacing: 0.5px;
	margin-right: 12px;
}
.store_text::before {
	content: '';
	position: absolute;
	background: url(../images/icon_borderleft02.png) no-repeat;
	width: 15px;
	height: 55px;
	background-size: 29px;
	left: 81px;
	top: 2px;
}
.store_text::after {
	content: '';
	position: absolute;
	background: url(../images/icon_borderright02.png) no-repeat;
	width: 15px;
	height: 55px;
	background-size: 29px;
	right: 81px;
	top: -24px;
}
.store_sec .store_name {
	background: url(../images/bg_store_name.png) no-repeat;
	font-size: 28px;
	color: #D55283;
	background-position: 9px 0px;
	padding: 6px 8px 31px 0px;
	/* letter-spacing: 2px; */
	width: 514px;
}
.store_sec p {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1.5px;
	color: #fff;
}
.text_small {
	font-size: 20px;
}
/*-----------------------------------------------------------
flow_sec
-----------------------------------------------------------*/
.flow_sec {
	width: 950px;
	margin: 0 auto 80px;
}
.mainCont h2 {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	margin-right: 2px;
	letter-spacing: 2px;
	margin-bottom: 27px;
}
.flow_sec .flow_inner01,.flow_inner02 {
	border: 3px solid #D55283;
	margin-bottom: 72px;
	position: relative;
}
.flow_sec .flow_inner01::after {
	content: '';
	background: url(../images/img_arw.png) no-repeat;
	position: absolute;
	width: 28px;
	height: 73px;
	right: 0;
	left: 0;
	margin: 0 auto;
}
.flow_sec .flow_inner02::after {
	content: '';
	background: url(../images/img_arw.png) no-repeat;
	position: absolute;
	width: 28px;
	height: 71px;
	right: 0;
	left: 0;
	margin: 0 auto;
	bottom: -68px;
}
.flow_inner01 dl {
	position: relative;
}
.flow_sec dl dt {
	position: relative;
	display: flex;
	margin: 23px 0 0;
	font-size: 24px;
	margin-bottom: 35px;
}
.flow_sec .flow_inner02 dl dt {
    margin-bottom: 52px;
}
.flow_sec .bg_pink dl dt {
	
margin-bottom: 54px;
}
.flow_sec dl dt::after {
	content: '';
	position: absolute;
	border-bottom: 3px solid #D55283;
	width: 640px;
	right: 21px;
	top: 56px;
}
.flow_sec .flow_inner02 dl dt::after {
	content: '';
	position: absolute;
	border-bottom: 3px solid #D55283;
	width: 636px;
	left: 19px;
	top: 56px;
}
.flow_sec li .flow_num {
	background: url(../images/flow_left.png) no-repeat;
	background-size: contain;
	font-size: 26px;
	font-weight: bold;
	height: 60px;
	width: 265px;
	color: #fff;
	box-sizing: border-box;
	padding: 10px 75px;
	letter-spacing: 2px;
	margin: 0;
}
.flow_sec dl dt p {
	font-weight: bold;
	color: #D55283;
	margin: 4px 0 0 20px;
	letter-spacing: 3px;
}
.flow_sec .flow_inner02 dl dt p {
	margin: 4px 22px 0px auto;
	letter-spacing: 2px;
}
.flow_sec .flow_inner02 .flow_num {
	background: url(../images/flow_right.png) no-repeat;
	width: 268px;
	padding: 10px 98px;
	margin: 0;
}
.flow_inner01 dd p {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 2px;
	margin-bottom: 35px;
}
.contact1_tel_wrap {
	margin-bottom: 10px;
}
.contact1_tel_wrap .contact1_tel:not(:last-child){
	border-bottom: 1px solid #FABE02;
    padding-bottom: 0px;
}
.flow_inner01 dd .contact1_tel {
	font-size: 22px;
	margin: 0;
	letter-spacing: 1px;
	text-align: left;
	align-items: center;
	display: flex;
	padding-left: 6px;
	width: 225px;
	margin-left: 21px;
}
.contact1_tel span {
	font-size: 13px;
	font-weight: bold;
	margin-right: 5px;
	width: 60px;
	text-align: center;
}
.flow_inner01 dd .contact1_time {font-size: 14px;font-weight: 500;letter-spacing: 1px;}
.flow_inner02 dd {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	justify-content: flex-end;
	display: flex;
	margin-right: 109px;
	line-height: 1.7;
	letter-spacing: 2px;
	margin-bottom: 58px;
}
.flow_inner01 dd .contact1 .contact1_time span {
	margin: 0;
}
.bg_pink dd {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	margin: 0px 325px 58px 0;
	letter-spacing: 1.7px;
	line-height: 1.7;
}
.flow_inner01 dd ul {
	display: flex;
	justify-content: space-between;
	margin: 0 50px 29px;
}
.flow_inner01 dd li {
	position: relative;
}
.flow_inner01 .contact1 {
	border: 2px solid #FABE02;
	border-radius: 8px;
	width: 266px;
	height: 114px;
	margin: 0;
}
.contact1_tel {
	position: relative;
	font-size: 32px;
	font-weight: bold;
	margin: 2px 115px 7px;
	padding-left: 26px;
	letter-spacing: 1px;
}
.contact1_tel::before {
	content: '';
	background: url(../images/icon_tel.png) no-repeat;
	position: absolute;
	width: 13px;
	height: 18px;
	top: 7px;
    left: 3px;
    background-size: 27px;
}
.contact1_time {
	font-size: 14px;
	font-weight: 500;
}
.flow_inner01 .contact1 .contact1_tel::before {
	left: -13px;
	background-size: auto;
	top: 8px;
}

.contact_bl {
	text-align: center;
	position: relative;
}
.contact_bl a {
	color: #fff;
	padding: 30px 0px 33px 0px;
	width: 268px;
	background: #333;
	border-radius: 8px;
	font-size: 18px;
	font-weight: bold;
	display: flex;
	justify-content: center;
	letter-spacing: 2px;
}
.contact_bl a:hover {
	opacity: 0.8;
    text-decoration: none;
}
.contact_box {
	position: absolute;
	right: -90px;
	bottom: 80px;
	width: 270px;
	display: none;
	box-sizing: border-box;
	border-radius: 10px;
	padding: 34px 32px 19px;
	border: 3px solid rgb(51, 51, 51);
	z-index: 2;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: grey 5px 1px 7px;
	cursor: pointer;
}
.contact_bl .js-modal-close {
    background: none;
    color: #333;
    right: 10px;
    top: 5px;
    position: absolute;
    cursor: pointer;
    padding: 0;
    width: auto;
}
.contact_box .contact_bl_wrap {
	display: block;
	margin: 0;
}
.contact_box .contact_bl_wrap .txt_contact_blBox {
	position: unset;
}
.txt_contact_blBox a {
	padding: 0;
	margin-bottom: 15px;
	display: flex;
	align-items: center;
	width: 200px;
	height: 55px;
}
.contact_line {
	text-align: center;
	line-height: 1.5;
	position: relative;

}
.contact_line a {
	color: #fff;
	border-radius: 8px;
	display: flex;
	justify-content: center;
	background: #06C755;
	font-size: 18px;
	font-weight: bold;
	width: 263px;
	padding: 28px 8px 31px 0px;
	letter-spacing: 1px;
}
.contact_line a:hover {
	opacity: 0.8;
    text-decoration: none;
}
.line_box {
	position: absolute;
	right: -90px;
	bottom: 80px;
	width: 270px;
	display: none;
	box-sizing: border-box;
	border-radius: 10px;
	padding: 34px 32px 19px;
	border: 3px solid #06C755;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: grey 5px 1px 7px;
	z-index: 1;
}
.line_box .js-modal-close-btn {
	background: none;
    color: #333;
    right: 10px;
    top: 5px;
    position: absolute;
    cursor: pointer;
    padding: 0;
    width: auto;
}
.contact_line .line_box .contact_line_wrap {
	width: 100%;
	display: block;
	margin: 0;
}
.contact_line_wrap .txt_contact_lineBox {
	position: unset;
}
.txt_contact_lineBox a {
	padding: 0;
	margin-bottom: 15px;
	display: flex;
	align-items: center;
	width: 200px;
	height: 55px;
}
.flow_sec ul dl {
	position: relative;
}
.flow_sec ul .flow_inner02 dl::after {
	content: '';
	background: url(../images/img_flow02.png) no-repeat;
	position: absolute;
	width: 218px;
	height: 250px;
	top: -14px;
	left: -2px;
}
.flow_sec ul .bg_pink dl::after {
	content: '';
	background: url(../images/img_flow03.png) no-repeat;
	position: absolute;
	width: 326px;
	height: 257px;
	right: 19px;
	top: -2px;
}
.flow_inner01 .contact_bl::after{
		content: '';
	background: url(../images/icon_arrowRight.png) no-repeat;
	position: absolute;
	width: 29px;
	height: 27px;
	right: -2px;
	top: 48px;
}
.flow_inner01 .contact_line::after {
	content: '';
	background: url(../images/icon_arrowRight.png) no-repeat;
	position: absolute;
	width: 29px;
	height: 27px;
	right: -2px;
	top: 48px;
}
.flow_sec .bg_pink {
	background: #F2D3DD;
	display: grid;
}
/*-----------------------------------------------------------
contact_sec
-----------------------------------------------------------*/
.contact_sec {
	background-color: #FCF2F5;
	padding: 71px 0 80px;
}
.contact_sec h2 {
	width: 950px;
	position: relative;
	margin: -2px auto 46px;
}
.contact_sec h2::before {
	content: '';
	background: url(../images/img_contact.png) no-repeat;
	position: absolute;
	width: 202px;
	height: 189.5px;
	top: -106px;
	left: 96px;
}
.contact_sec ul {
	display: flex;
    width: fit-content;
    margin: 0 auto 82px;
    justify-content: space-between;
    position: relative;
    gap: 21px;
}
ul.contact_reservation_wrap {
	width: 100%;
    margin-bottom: 0;
}
.contact_reservation a {
	width: 254px;
	display: flex;
	background: #D55283;
	font-size: 18px;
	font-weight: bold;
	padding: 34px 16px 31px 0px;
	letter-spacing: 1px;	
	color: #fff;	
	border-radius: 8px;	
	justify-content: center;
	position: relative;
}
.contact_reservation a:hover {
	opacity: 0.8;
    text-decoration: none;
}
.request_box {
	position: absolute;
	right: -90px;
	bottom: 80px;
	width: 270px;
	display: none;
	box-sizing: border-box;
	border-radius: 10px;
	padding: 34px 32px 19px;
	border: 3px solid #D55283;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: #333 5px 1px 17px;
}
.request_box .js-modal-close-btn {
	background: none;
    color: #333;
    right: 10px;
    top: 5px;
    position: absolute;
    cursor: pointer;
    padding: 0;
    width: auto;
}
.request_box ul {
	display: block;
}
.txt_contact_reservationBox {
	position: unset;
}
.txt_contact_reservationBox a {
	padding: 0;
	margin-bottom: 15px;
	display: flex;
	align-items: center;
	width: 200px;
	height: 55px;
}
.contact_sec .contact_bl .js-modal-open {
    padding: 20px 23px 21px 0px;
    width: 244px;
    letter-spacing: 1px;
	position: relative;
}
.contact_sec .contact_line .js-modal-open {
	padding: 31px 0px 32px 0px;
	position: relative;
}
.contact_sec ul li .js-modal-open::after {
	content: '';
	background: url(../images/icon_arrowRight.png) no-repeat;
	position: absolute;
	width: 29px;
	height: 27px;
	right: -3px;
	top: 38px;
}
.contact_sec .contact_inner::after {
	content: '';
	border-bottom: 2px solid #F2D3DD;
	position: absolute;
	width: 950px;
	top: 129px;
	left: -54px;
}
.contact1 {
	width: 488px;	
	margin: 0 auto;	
	border: 2px solid #FABE02;	
	text-align: center;	
	padding: 6px 0px 9px;	
	box-sizing: border-box;
	border-radius: 5px;
}
.contact1 .contact1_time span {
	margin-left: 17px;
}
.is-show {
    display: block;
    visibility: visible;
  }

.tel_wrap {
	margin-bottom: 10px;
}
.tel_wrap .contact1_tel02:not(:last-child) {
	border-bottom: 1px solid #FABE02;
	padding-bottom: 5px;
}
.contact1_tel02 span {
	font-size: 20px;
	font-weight: bold;
	margin-right: 20px;
	width: 125px;
}
.contact1_tel02 {
    position: relative;
    font-size: 32px;
    font-weight: bold;
    margin: 2px 45px 0px 86px;
    padding-left: 0;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
}
.contact1_tel02::before {
	content: '';
	background: url(../images/icon_tel02.png) no-repeat;
	position: absolute;
	width: 23px;
	height: 30px;
	top: 7px;
	left: -42px;
	background-size: cover;
}