@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css");

/* BASIC */
*{
margin:0;
padding:0;
min-height:0vw; 
min-height:0; 
}

html{
font-size:62.5%;
box-sizing:border-box;
overflow-x:hidden;
}

body{
background:#fff;
font-size:clamp(1.4rem, 2vw, 1.6rem);
line-height:1.8;
color:#333;
font-family:"Noto Sans JP", sans-serif;
overflow-x:hidden;
}

#allcontents{
margin:5rem auto 7rem;
max-width:min(96%, 1200px);
}
#allcontents section{
display:block;
margin:0 auto 7rem;
padding:0;
}
#allcontents .row{
margin-bottom:clamp(2rem, 2vw, 5rem);
}
#allcontents p{
padding:0 0 1.8rem;
margin:0;
}
@media screen and (max-width:767px){
#allcontents section{
margin:0 auto 5rem;
}
}

img{
display:block;
height:auto;
padding:0;
margin:0;
max-width:100%;
}
a img{
transition:1s;
}
a img:hover{
opacity:.5;
}
.titlebox a img:hover{
opacity:1;
}

/* LINK */
a{
color:#f85074;
transition:.5s;
}
a:hover{
color:#fa96ab;
}
a, a:hover{
text-decoration:none;
}
@media screen and (max-width:767px){
.navbar-brand img{
max-width:200px;
}
}

/* HEAD */
#header{
background:#f85074;
padding:1.8rem;
}
.btn.dropdown-toggle{
font-size:clamp(1.4rem, 2vw, 1.6rem);
color:#fff;
font-weight:700;
margin-top:1.6rem;
}
.btn.dropdown-toggle:hover{
color:#fff;
font-weight:700;
border-color:#fff;
}
.dropdown-menu{
border:1px solid #f85074;
font-size:clamp(1.4rem, 2vw, 1.6rem);
min-width:150px;
}
.dropdown-item{
width:100%;
box-sizing:border-box;
}
.dropdown-item:hover{
background:#ffcc33;
}
.dropdown-menu{
opacity:0;
transform:translateY(-10px);
transition:opacity 0.3s ease-out, transform 0.3s ease-out;
display:block !important;
visibility:hidden;
padding:1rem;
}
.dropdown-menu.show{
opacity:1;
transform:translateY(0);
visibility:visible;
}
@media screen and (max-width:767px){
.titlebox img{
max-width:200px;
margin-top:.7rem;
}
.btn.dropdown-toggle{
margin-right:-.8rem;
margin-top:.8rem;
}
}

/* FOOT */
#footer{
background:#f85074;
padding:1.6rem;
color:#fff;
margin-top:7rem !important;
}
.footer-nav ul{
list-style:none;
padding-left:0;
text-align:left;
font-size:1.4rem;
}

@media screen and (max-width:767px){
.footer-nav ul{
padding:0;
}
}
.footer-nav ul li{
margin-bottom:1rem;    
}
.footer-nav ul li a{
color:#fff;
padding-right:1rem;
font-size:1.2rem;
}
.footer-nav ul li a:hover{
color:#ffcc33;
}
.credits{
font-size:1.2rem;
text-align:center;
}


/* TITLE */
h1{
text-align:center;
font-size:clamp(2.2rem, 2vw, 3rem);
font-weight:700;
margin-bottom:2.4rem;
}
.curved-text{
text-align:center;
font-size:clamp(2.2rem, 2vw, 3rem);
font-weight:700;
margin-bottom:2.4rem;
color:#f85074;
}
h3{
font-size:clamp(1.8rem, 2vw, 2.2rem);
font-weight:700;
text-align:center;
}
.home02 h3.sizettl{
background:#f85074;
padding:1rem 2rem;
text-align:center;
color:#fff;
margin:0 auto 2rem;
border-radius:50px;
}


/* HOME */
.feeimg img{
border-radius:5px;
margin-bottom:2rem;
}
.feebox{
margin:0 auto;
text-align:center;
font-size:clamp(3rem, 2vw, 4rem);
color:#f85074;
font-weight:900;
}
.feebox span{
font-size:clamp(1.6rem, 2vw, 1.8rem);
font-weight:400;
padding:0 .7rem;
}

ul.notices  li{
list-style:none;
position:relative;
&:before{
position:absolute;
left:-1.5em;
font-family:bootstrap-icons;
content:"\F151";
color:#f85074;
}
}

/* FORM */
input:focus,textarea:focus,select:focus{
border-color: #f85074 !important;
outline: none !important;
background:rgba(248,80,116,.1) !important;
}
input[type=text],input[type=email],input[type=number],input[type=date],input[type=tel],textarea,select{
width:100%;
box-shadow:none !important;
padding:1.4rem 2rem;
border-radius:0;
border:1px solid #f85074;
transition:.5s;
margin-bottom:2rem;
font-size: 16px;
}
select {
	height: 58px;
	background-color: white;
	color: black;
	padding-left:2rem;
	appearance: none; /* 標準のスタイルを無効化 */
	  -webkit-appearance: none; /* Safari・Chrome用 */
	  -moz-appearance: none; /* Firefox用 */
}
.submitbtn{
max-width:50%;
margin:1.5em auto;
}
.submitbtn:disabled{
border-color: #7a7a7a !important;
outline: none !important;
background:rgba(0, 0, 0, 0.1) !important;
}
.agreement{
display:block;
margin:0;
background:#fff;
}
.agreement a{
color:#000;
}
.agreement a:hover{
color:#f85074;
}
.agreement input[type="checkbox"]{ display:none; }
.agreement input[type="checkbox"] + label{
display:block;
position:relative;
padding-left:35px;
cursor:pointer;
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
}
.agreement input[type="checkbox"] + label:before{
content:'';
display:block;
width:20px;
height:20px;
border:2px solid #f85074;
position:absolute;
left:0;
top:.5rem;
-webkit-transition:all .12s, border-color .08s;
transition:all .12s, border-color .08s;
}
.agreement input[type="checkbox"]:checked + label:before{
width:14px;
top:0;
left:0;
border-radius:0;
opacity:1;
border-top-color:transparent;
border-left-color:transparent;
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
}

button.submitbtn{
appearance:none;
-webkit-appearance:none;
-moz-appearance:none;
display:block;
border:none;
background-color:#ffcc33;
color:#fff;
cursor:pointer;
padding:1rem 2rem;
text-align:center;
font-weight:700;
transition:.5s;
letter-spacing:2px;
}
button.submitbtn:hover{
background:#f85074;
}

.home03 label{
font-weight:700;
margin-bottom:1.4rem;
}
.home03 label i{
color:#f85074;
font-weight:900;
padding-right:.8rem;
}

.flatpickr-input{
padding:1.6rem 2rem !important;
border-radius:0 !important;
box-shadow:none !important;
border-color:#f85074;
font-size:clamp(1.4rem, 2vw, 1.6rem);
}
.noticebox{
background:rgba(248,80,116,.1);
padding:1.6rem;
}
.noticebox  li{
list-style:none;
position:relative;
&:before{
position:absolute;
left:-1.5em;
font-family:bootstrap-icons;
content:"\F360";
color:#f85074;
}
}

/* CONTENTS */
.fortrems div{
background:rgba(248,80,116,.05);
padding:1.2rem 2rem;
margin-bottom:1.8rem;
}
.fortrems dt{
font-size:clamp(1.6rem, 2vw, 1.8rem);
font-weight:700;
}
.lawinfo h2{
margin-bottom:2rem;
}
.lawinfo ol li{
margin-bottom:1.8rem;
}
ol li ol{
list-style-type:lower-latin;
margin-top:1.8rem;
}

.faqsec h2{
border-bottom:2px dotted #f85074;
padding:0 1.4rem .8rem;
}
.accordion_qa dl,
.accordion_qa dt,
.accordion_qa dd{
margin:0;
padding:0;
}
.accordion_qa dl+dl{
margin-top:1rem;
}
.accordion_qa dt,
.accordion_qa dd{
padding:10px;
}
.accordion_qa dl{
position:relative;
overflow:hidden;
}
.accordion_qa dl span{
color:#f85074;
font-weight:700;
}
.accordion_qa dl>input{
display:none;
}
.accordion_qa label{
width:100%;
max-width:100%;
}
.accordion_qa dt{
position:relative;
z-index:1;
padding-right:40px;
padding-left:2.5em;
cursor:pointer;
background:#fef9fa;
transition:.4;
border:solid 1px #f85074;
font-weight:400;
}
.accordion_qa dd{
position:absolute;
visibility:hidden;
transform:translateY(-100%);
transition:.4s;
background:#fff;
border:solid 1px #f85074;
border-top:none;
padding-left:2.5em;
}
.accordion_qa dl>input:checked+label+dd{
position:relative;
visibility:visible;
transform:translateY(0);
}
.accordion_qa dt::before{
content:”;
position:absolute;
width:20px;
height:3px;
top:50%;
right:10px;
background:#f85074;
transform:translateY(-50%);
}
.accordion_qa dt::after{
content:”;
position:absolute;
top:50%;
right:10px;
width:20px;
height:3px;
background:#f85074;
transition:.4s;
transform:translateY(-50%) rotate(90deg);
}
.accordion_qa dl>input:checked+label>dt::after{
transform:translateY(-50%) rotate(180deg);
}
.accordion_qa dt span,
.accordion_qa dd span{
position:absolute;
display:flex;
align-items:center;
justify-content:center;
background:#fff;
top:50%;
left:.5em;
width:1.5em;
height:1.5em;
transform:translateY(-50%);
border:solid 1px #f85074;
}
.accordion_qa dd span{
top:10px;
transform:translateY(0);
}







/* add aoyama */
.modal {
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9990;
	line-height: 1;
}
.modal__bg {
	background: rgba(0,0,0,0.8);
	height: 100vh;
	position: absolute;
	width: 100%;
	z-index: 9995;
}
.modal__content {
	background: #fff;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 90%;
	max-height: 70vh;
	overflow-y: scroll;
	overflow-x: hidden;
	z-index: 9996;
}
#modal_content {
	position: relative;
	padding: 5% 10%;
}
#modal_content button {
	position: absolute;
	top: 10px;
	right: 10px;
	border-radius: 50%;
	font-size: 1.2em; /* 小さめに調整 */
	border: 3px solid black;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1; /* 余白をなくす */
	text-align: center;
	padding: 0;
}

#modal_content img {
	object-fit: cover;
	height: 30vw;
}

.modal__content.reserve_modal #modal_content button.close-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	z-index: 9999;
	text-align: center;
}
@media screen and (max-width: 720px) {
	#modal_content {
		padding: 15% 5%;
	}
	#modal_content img {
		height: 50vw;
	}
}
.error_text {
	font-size: 12px;
	color: #c51e1e;
	padding: 5px 0px;
}
