@charset "UTF-8";

@charset "UTF-8";

:root{
	--i_sub3_color: #ff4574;
	--i_sub4_color: #ffecf0;
	--i_sub5_color: #55cbff;
}
body{
	background-image: linear-gradient(180deg, rgba(255, 236, 240, 1), rgba(255, 255, 255, 1));
}
main,
main>section,
main>div{
	background: transparent;
}

#pan {
	opacity: 0;
	pointer-events: none;
}

/* ===== ヘッダー ===== */
header {
	background: #fff;
}
body.scrolled header{
	background: #fff;
}
@media screen and (min-width: 901px){
	.scrolled header#pattern2.hc_hide {
		min-height: 80px!important;
	}
}
header h1{
	color: var(--i_sub3_color);
}
header.width_full .wraper{
	max-width: 900px;
	margin: auto;
}
body.scrolled header .logo {
    max-width: 250px;
}
header .logo, header .logo a {
	width: 300px!important;
	max-width: 300px;
	padding: 0;
}
header#pattern2 .header_contents{
	padding-bottom: 20px;
}
header .header_contents .header_col2{
	color: var(--i_sub3_color);
	font-weight: 600;
	font-size: 1.7rem;
	text-align: justify;
	display: flex;
	justify-content: flex-end;
}
header .header_contents .header_col2 .add{
	margin: 0;
	line-height: 1.3;
}
header .header_contents .header_col2 span{
	font-size: 1.3rem;
	color: #50d3ff;
	font-weight: 500;
}
header .header_contents .header_col2 span+span{
	display: block;
	font-size: 1.2rem;
	color: var(--i_txt_color);
	padding-top: 8px;
}


@media screen and (max-width: 900px){
	header {
		padding-top: 20px;
	}
	header.over,
	.ss header,
	.ss header.over,
	.ss header.nofixed{
		position: relative !important;
	}
	main{
		border-top: 0!important;
	}
	header .wraper>.inner {
	    align-items: flex-start;
	    flex-direction: column;
	    padding-bottom: 15px;
	}
	header .burger{
		display: none;
	}
	header#pattern2 .header_contents,
	body.scrolled header,
	header.open:after,
	header .header_contents{
		height: 100%!important;
		opacity: 1!important;
		left: 0;
		background: #fff;
		overflow: inherit;
		position: relative;
		padding: 0!important;
		display: flex;
		flex-direction: column-reverse;
	}
	header .header_contents .header_col1,
	header .header_contents .header_col2 {
        /* border-top: none; */
        border-bottom: none;
        padding: 20px 0 0!important;
        margin-top: 20px;
        font-size: 1.5rem;
        border-top: 1px rgba(55, 55, 55, 0.5) solid;
    }
	header .header_contents .header_sns.on,
	header .header_contents .header_col1{
		display: none!important;
	}
	header .header_contents .inner:before {
	    padding-bottom: 0px;
	}
	header h1,
	header.h_on h1{
		padding: 0!important;
		margin-right: 0!important;
		margin-top: -30px!important;
	}
	header .logo a img{
		max-width: 200px !important;
	}
}

/* ===== 見出し ===== */
.heading.block_header_2{
	/* background: #fff; */
	padding: 10px 20px;
	border-bottom: 2px solid var(--i_sub3_color);
	color: var(--i_sub3_color);
}
.heading.block_header_2 .h{
	font-size: 2rem!important; 
}

.contents_btn01 a:hover{
	background: var(--i_sub3_color);
	border: 1px solid var(--i_sub3_color);
}
/* ===== about ===== */
#sakura_mv+section>.content_wrapper{
	padding: 0;
}
#sakura_a+section>.content_wrapper{
	background: #fff;
	padding: 40px 20px 0;
}
#sakura_a+section .wrapper_item{
    align-items: flex-end!important;
}
#sakura_a+section .heading.block_header_2{
	background: none;
	padding: 0;
	border-bottom: none;
	color: var(--i_sub3_color);
	margin-bottom: 12px;
}
#sakura_a+section .heading.block_header_2 .h{
	font-size: 2rem!important;
	line-height: 1.8;
	font-weight: 500;
}
#sakura_a+section .inner_item_txt{
	padding-bottom: 40px;
	padding-right: 0;
}
#sakura_a+section .inner_item_txt p{
	font-size: 1.4rem;
	line-height: 1.6;
}
#sakura_a+section .inner_item_img img{
	max-width: 350px!important;
}
@media screen and (max-width: 900px){
	#sakura_a+section .heading.block_header_2 .h{
		font-size: 1.8rem!important;
	}
	#sakura_a+section>.content_wrapper{
		background: #fff;
		padding: 30px 20px 30px;
	}
	#sakura_a+section .inner_item_img img{
		max-width: 300px!important;
	}
}
/* ===== 料金 ===== */
#info_title+section .inner_item_img img{
	object-fit: contain;
	max-width: 250px!important;
}
/* ===== 料金 ===== */
#sakura_p+section .heading.block_header_2{
	display: flex;
	align-items: center;
}
#sakura_p+section .heading.block_header_2 p{
	padding-left: 10px;
	color: var(--i_sub3_color);
}

.block_table_2 table thead,
.block_table_2 table thead th,
.block_table_2 table thead td,
.block_table_5 table thead,
.block_table_5 table thead th,
.block_table_5 table thead td,
.block_table_6 table thead,
.block_table_6 table thead th,
.block_table_6 table thead td{
	background-color: var(--i_sub4_color);
}
.block_table_3 table th,
.block_table_7 table th,
.block_table_1 table th{
	background: var(--i_sub4_color);
}
/* ===== バナー ===== */

#sakura_b+div .wrapper_item{
	align-items: center;
	justify-content: center;
}
#sakura_b+div .inner_item_img img{
	object-fit: contain;
	max-width: 500px;
	height: auto!important;
}
#sakura_b+div .inner_item:nth-child(2) .inner_item_img img{
	max-width: 140px;
}
#sakura_b+div .inner_item:nth-child(1){
	width: 60%;
}
#sakura_b+div .inner_item:nth-child(2){
	width: 20%;
	margin-left: 2%;
}
#info_title+section>.content_wrapper{
	padding: 40px 0 10px;
}
#info_title+section>.content_wrapper,
#sakura_c+div>.content_wrapper{
	background: #fff;
}

#sakura_c+div .inner_item{
	background: var(--i_sub4_color);
	padding: 30px;
}
#sakura_c+div .inner_item:nth-child(2) .inner_item_txt p{
	color: var(--i_sub3_color);
}
#sakura_c+div .inner_item:nth-child(2) .inner_item_txt p:nth-child(1){
	border-bottom: 1px dotted;
	padding-bottom: 15px;
}
#sakura_c+div .inner_item:nth-child(2) .inner_item_txt p:nth-child(3){
	font-size: 1.5rem;
	color: var(--i_txt_color);
}
#sakura_c+div .inner_item:nth-child(2) .contents_btn01{
	display: none;
}
#sakura_c+div .inner_item_img{
	display: flex;
}
#sakura_c+div .inner_item_img img{
	object-fit: contain;
	max-width: 200px;
	height: auto!important;
}
/* ===== フッター ===== */
#fixbtn{
	display: none;
}
footer {
    display: flex;
    color: var(--i_txt_color);
    background: var(--i_bg_color);
    justify-content: center;
    max-width: 900px;
    margin: auto;
    padding: 30px 0!important;
    border-top: 5px rgba(255,104,145,0.5) solid;
}
footer.width_fixed>.content_wrapper{
	width: 50%;
	display: flex;
	justify-content: flex-start;
}
#cp{
	display: flex;
	width: 50%;
	justify-content: flex-end;
	padding: 0 var(--i_padding, 20px);
}
footer .logo{
	width: 250px!important;
	margin: 0!important;
	padding: 0!important;
}

@media screen and (max-width: 900px){
	footer{
		flex-direction: column;
		align-items: center;
	}
	footer .logo{
		width: 180px!important;
	}
	#cp{
		justify-content: center;
	}
}