@charset "UTF-8";
/* @import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Serif+JP:wght@200..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap');
/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/

html,body{	height:100%;}
html{
	font-size:62.5%;
    overflow-y: scroll;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form,figure{
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-feature-settings: "palt";
	font-family: "Noto Sans JP", sans-serif, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-weight: 400;
	color:#5E554D;
}

a img {
	transition: opacity 0.3s ease-out;
}

img{
	vertical-align: bottom;
}

.inr{
	max-width: 1020px;
	margin: 0 auto;
}

a[href*="tel:"] {
pointer-events: none;
color: #5E554D;
}
@media only screen and (max-width: 1024px) {
	a[href*="tel:"] {
	pointer-events: initial;
	}

	a.fax{
		pointer-events: none!important;
	}
}

a{
	cursor: pointer;
	transition: .3s;
}

a:hover{
	opacity: .7;
}

/* ----------------------------------------------------------------------------------------------------
layout
----------------------------------------------------------------------------------------------------- */

.l-container{
	margin: 0 auto;
	width: 140rem;
}

.l-container2{
	margin: 0 auto;
	width: 100rem;
}

.l-container3{
	margin: 0 auto;
	width: 120rem;
}

.l-container4{
	margin: 0 auto;
	width: 96.5rem;
}

.l-container5{
	margin: 0 auto;
}

@media screen and (max-width:768px){
	.l-container{
		width: 100%;
	}
	.l-container2{
		width: 100%;
	}
	.l-container3{
		width: 100%;
	}
	.l-container4{
		width: 100%;
	}
}


.l-flex{
	display: flex;
}

@media screen and (max-width:768px){
	.l-flex{
		flex-direction: column;
	}

	.sp-l-flex--direction-low{
		flex-direction: row !important;
	}
}

.l-flex--gap30{
	gap: 3rem;
}

.l-flex--gap50{
	gap: 5rem;
}

.l-flex--gap60{
	gap: 6rem
}

.l-flex--gap75{
	gap: 7.5rem
}

.l-flex--center{
	justify-content: center;
}

/* register */
.l-register-container{
	margin: 0 auto;
	width: 450px;
}

@media screen and (max-width:768px){
	.l-register-container{
		width: 100%;
	}

	.l-flex--gap50{
		gap: 0;
	}
	
	.l-flex--gap60{
		gap: 0;
	}

	.l-flex--gap75{
		gap: 0;
	}

	.sp-l-flex--gap20{
		gap: 2rem;
	}
}

@media screen and (max-width:768px){
	.sp-l-flex--reversecol{
		flex-direction: column-reverse;
	}

	.sp-l-flex--justifycontent-sb{
		justify-content: space-between;
	}
}
/* ----------------------------------------------------------------------------------------------------
common
----------------------------------------------------------------------------------------------------- */

.bg-beige{
	background-color: #FBF9F5;
}

@media screen and (max-width:768px){
	.sp-bg{
		background-color: #FBF9F5;
	}
}

/* ----------------------------------------------------------------------------------------------------
margin
----------------------------------------------------------------------------------------------------- */

.mb-10{
	margin-bottom: 1rem;
}

.mb-20{
	margin-bottom: 2rem;
}

.mb-30{
	margin-bottom: 3rem;
}

.mb-40{
	margin-bottom: 4rem;
}

.mb-50{
	margin-bottom: 5rem;
}

.mb-55{
	margin-bottom: 5.5rem;
}

.mb-60{
	margin-bottom: 6rem;
}

.mb-70{
	margin-bottom: 7rem;
}

.mb-80{
	margin-bottom: 8rem;
}

.mb-120{
	margin-bottom: 12rem;
}

@media screen and (max-width:768px){
	.mb-10{
		margin-bottom:0;
	}
	
	.mb-20{
		margin-bottom:0;
	}
	
	.mb-30{
		margin-bottom:0;
	}
	
	.mb-40{
		margin-bottom:0;
	}
	
	.mb-50{
		margin-bottom:0;
	}
	
	.mb-55{
		margin-bottom:0;
	}
	
	.mb-60{
		margin-bottom:0;
	}
	
	.mb-70{
		margin-bottom:0;
	}
	
	.mb-80{
		margin-bottom:0;
	}
	
	.mb-120{
		margin-bottom:0;
	}

	.sp-mt-40{
		margin-top: 4rem;
	}

	.sp-nmt-20{
		margin-top: -2rem;
	}

	.sp-m-10{
		margin: 0 1rem;
	}

	.sp-m-15{
		margin: 0 1.5rem;
	}

	.sp-m-20{
		margin: 0 2rem;
	}

	.sp-m-40{
		margin: 0 4rem;
	}

	.sp-m-55{
		margin: 0 5.5rem;
	}

	.sp-mb-10{
		margin-bottom: 1rem;
	}

	.sp-mb-15{
		margin-bottom: 1.5rem;
	}

	.sp-mb-20{
		margin-bottom: 2rem;
	}

	.sp-mb-25{
		margin-bottom: 2.5rem;
	}

	.sp-mb-30{
		margin-bottom: 3rem;
	}

	.sp-mb-40{
		margin-bottom: 4rem;
	}

	.sp-mb-45{
		margin-bottom: 4.5rem;
	}

	.sp-mb-50{
		margin-bottom: 5rem;
	}

	.sp-mb-70{
		margin-bottom: 7rem;
	}
}


/* ----------------------------------------------------------------------------------------------------
padding
----------------------------------------------------------------------------------------------------- */

.pt-40{
	padding-top: 4rem;
}

.pt-55{
	padding-top: 5.5rem;
}

.pt-60{
	padding-top:6rem;
}

.pt-120{
	padding-top: 12rem;
}

.pb-20{
	padding-bottom: 2rem;
}

.pb-65{
	padding-bottom: 6.5rem;
}

.pb-120{
	padding-bottom: 12rem;
}

.pb-180{
	padding-bottom: 18rem;
}

.pd-6-10{
	padding: 6rem 10rem;
}

@media screen and (max-width:768px) {
	.pt-40{
		padding-top: 0;
	}
	
	.pt-55{
		padding-top: 0;
	}
	
	.pt-60{
		padding-top:0;
	}
	
	.pt-120{
		padding-top: 0;
	}

	.pb-20{
		padding-bottom: 0;
	}

	.pb-65{
		padding-bottom: 0;
	}
	
	.pb-120{
		padding-bottom: 0;
	}
	
	.pb-180{
		padding-bottom: 0;
	}
	
	.pd-6-10{
		padding: 0;
	}

	.sp-p-20{
		padding: 0 2rem;
	}

	.sp-pt-20{
		padding-top: 2rem;
	}

	.sp-pt-30{
		padding-top: 3rem;
	}

	.sp-pt-40{
		padding-top: 4rem;
	}

	.sp-pb-20{
		padding-bottom: 2rem;
	}

	.sp-pb-40{
		padding-bottom: 4rem;
	}

	.sp-pb-110{
		padding-bottom: 11rem;
	}

	.sp-p-30-20{
		padding: 3rem 2rem;
	}
}

/* ----------------------------------------------------------------------------------------------------
width
----------------------------------------------------------------------------------------------------- */

.l-width-315{
	width: 31.5rem;
}

.l-width-450{
	width: 45rem;
}

.l-width-430{
	width: 43rem;
}

@media screen and (max-width:768px) {
	.l-width-315{
		width: 100%;
	}

	.l-width-450{
		width: 100%;
	}
	
	.l-width-430{
		width: 100%;
	}
}

/* ----------------------------------------------------------------------------------------------------
header
----------------------------------------------------------------------------------------------------- */

header{
	width: 100%;
}

.header_container{
	margin: 3rem 16rem 2rem 4rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header_ttl{
	display: flex;
	align-items: center;
	gap: 3rem;
}

.header_ttl p{
	font-family: "Noto Serif JP", serif;
	font-size: 2.2rem;
}

.header_ttl img{
	width: 133px;
	height: 49px;
}

.info{
	text-align: right;
}

.info_tel{
	margin-bottom: 1rem;
	display: inline-block;
    line-height: 2.9rem;
	position: relative;
	font-size: 3.6rem;
	color: #C73369 !important;
	text-decoration: none;
}

.info_tel::before{
	content: '';
	display: inline-block;
	width: 35px;
	height: 35px;
	background-image: url(../img/tel_logo.png);
	background-size: contain;
	position: absolute;
	left: -4rem;
	top:0;
}

.info_business_hours{
	font-size: 1.4rem;
}

.breadcrumb{
	margin: 0 4rem 2rem;
	display: flex;
	gap: 2rem;
}

.breadcrumb li{
	position: relative;
	font-size: 1.4rem;
}

.breadcrumb li:not(:first-of-type):after{
	content: '>';
	position: absolute;
	top: 0;
	left: -15px;
}

.breadcrumb a{
	font-weight: bold;
	text-decoration: none;
	color: #C73369;
	letter-spacing:.2rem;
}

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

	.header_container{
		margin: 1.5rem 2rem;
	}
	.header_ttl{
		flex-direction: column;
		align-items: start;
		gap: .5rem;
	}

	.header_ttl img{
		width: 75px;
		height: 28px;
	}

	.header_ttl p{
		font-size: 1.2rem;
	}

	.info_tel{
		margin-bottom: .5rem;
		font-size: 2.2rem;
		display: block;
		text-decoration: none;
	}

	.info_tel::before{
		left: 0;
		top: 6px;
		width: 20px;
		height: 20px;
	}

	.info_business_hours{
		font-size: 1.2rem;
	}

	.breadcrumb{
		margin: 1.5rem 2rem;
		white-space: nowrap;
		overflow-x: scroll;
		overflow-y: hidden;
		scrollbar-width: none;
		padding-top: 1px;
		height: 100%;
	}

	.breadcrumb::-webkit-scrollbar{
		display:none;
	}

	.breadcrumb li{
		display: inline-block;
		font-size: 1rem;
	}
}



/* ----------------------------------------------------------------------------------------------------
footer
----------------------------------------------------------------------------------------------------- */
.footer_bg{
	padding: 10rem 0;
	background-color: #55BEC3;
}

.ft_txt{
	margin-bottom: 2.5rem;
}

.ft_txt p{
	font-size: 1.4rem;
	font-weight: bold;
	color: #fff;
	line-height: 2.5rem;
	letter-spacing: .2rem;
}

.ft_txt2{
	margin-bottom: 4rem;
}

.ft_txt2 p{
	font-size: 1.4rem;
	color: #fff;
	line-height: 2.5rem;
	letter-spacing: .2rem;
}

.ft_txt3{
	margin-bottom: 2rem;
}

.ft_txt3 p{
	font-size: 2.8rem;
	font-weight: bold;
	color: #fff;
	line-height: 2rem;
	letter-spacing: .2rem;
}

.ft_txt4{
	margin-bottom: 2rem;
}

.ft_txt4 p{
	font-size: 1.6rem;
	color: #fff;
	line-height: 2rem;
	letter-spacing: .2rem;
}

.ft_info p{
	margin-bottom: 1rem;
	font-size: 1.6rem;
	color: #fff;
	line-height: 2rem;
	letter-spacing: .2rem;
}

.ft_info a{
	margin-bottom: 1rem;
	font-size: 1.6rem;
	color: #fff;
	line-height: 2rem;
	letter-spacing: .2rem;
}

.ft_list_item{
	margin-bottom: 3rem;
}

.ft_list_item a{
	font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
	line-height: 2rem;
	letter-spacing: .2rem;
	text-decoration: none;
}

.ft_btn{
	border-radius: 6rem;
    background:#fff;
}

.ft_btn a{
	padding: 2.4rem 3rem;
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: none;
    position: relative;
	color: #5E554D;
	line-height: 2.2rem;
	letter-spacing: .1rem;
}

.ft_btn a::after {
    content: '';
    background-image: url(../img/arrow3.png);
	background-size: contain;
	background-repeat: no-repeat;
    width: 22px;
    height: 16px;
    position: absolute;
    top: 38px;
    right: 28px;
}

.ft-container3{
	width: 100%;
	background-color: #fff;
	text-align: center;
}

.ft-copy p{
	font-size: 1.2rem;
}


@media screen and (max-width:768px){
	.footer_bg{
		padding: 6rem 2rem;
	}

	.ft_list_item a{
		font-size: 1.4rem;
	}

	.ft_btn a{
		padding: 2rem 2.4rem;
		font-size: 1.6rem;
	}

	.ft_btn a::after {
        background-image: url(../img/arrow3.png);
        width: 18px;
        height: 14px;
        top: 35px;
        right: 25px;
	}

	.ft_txt4 p{
		font-size: 1.4rem;
	}

	.ft_info p{
		margin-bottom: .5rem;
		font-size: 1.4rem;
	}

	.ft-copy p{
		font-size: 1rem;
	}
}

/* ------------------------------
    clearfix
------------------------------ */

.cf:after{
	content: ".";
	display: block;
	height: 0;
	font-size:0;
	clear: both;
	visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */


.sp{
	display: none;
}

.pc{
	display: block;
}

@media screen and (max-width: 768px){
	.sp{
		display: block;
	}
	.pc{
		display: none;
	}
}

/*
	sticky_btn
*/

.sticky_btn{
	position: absolute;
	top: 24px;
	right: 13px;
	z-index: 9999;
}

.sticky_btn img{
	width: 130px;
	height: 130px;
}

.fade_btn{
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 99999;
}

.fade_btn img{
	width: 130px;
	height: 130px;
}

@media screen and (max-width:768px){
	.sticky_btn{
		display: none;
	}

	.fade_btn{
		position: fixed;
		top: auto;
		bottom: 18px;
		right: 18px;
	}

	.fade_btn img{
		width: 84px;
		height: 84px;
	}

}