@charset "UTF-8";

/* -----------------------------
dinks
----------------------------- */
#content_Wrap,
#content_Wrap figure { position: relative;}

#content_Wrap{
	overflow: hidden;
}

.inner {
	max-width: 1100px;
}
.inner_930 {
	width: 94%;
	margin: 0 auto;
	max-width: 930px;
}
.a-right {
	text-align: right;
}


.f-80 { font-size: 80%;}
.f-250 { font-size: 250%;}
.f-300 { font-size: 300%;}

.f-pink { color:#eb6ea5; }

.right { text-align: right;}

.caption.r {
    position: absolute;
    font-size: 10px;
    /* bottom: 20px;
		right:20px; */
	bottom: 7%;
    right: 5%;
}


.mv_wrap {
	/* aspect-ratio: 1500/679; */
	aspect-ratio: 1500 / 506;
	background: url(../img/mv.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
}
.mv_wrap h2 {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 10.8%;
	width: 27.0%;
	filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 3px #fff) drop-shadow(0 0 4px #fff) drop-shadow(0 0 4px #fff) drop-shadow(0 0 6px #fff);
}

[class^="sec0"] {
	margin: 50px auto 70px;
}
.sec_ttl {
	display: block;
	background: rgb(255, 128, 160);
	background: linear-gradient(75deg, rgba(248, 192, 160, 1) 0%, rgba(255, 128, 160, 1) 100%);
	padding: 10px 30px 10px;
	border-radius: 50vh;
	margin: 0 0 30px;
	text-align: center;
	width: fit-content;
	font-feature-settings: "palt";
}
.sec_ttl span {
	color: #FFF;
	font-size: 16.2px;
	font-weight: 600;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
.sec_head {
	/*font-size: 21.6px;*/
    /*font-size: clamp(18px, 2.2vw, 28px);
	letter-spacing: 0.05em;
	margin-bottom: 30px;
	font-feature-settings: "palt";*/
	color: #dc3756;
    font-size: clamp(18px, 2.2vw, 28px);
    line-height: 1.8;
    letter-spacing: 0.12em;
    text-align: center;
	margin-bottom: 30px;
}
.sec_head span {
	font-size: 1.75em;
}
.sec_copy {
	font-size: 14.4px;
	line-height: 2.1875;
	margin-bottom: 30px;
	font-feature-settings: "palt";
}
.madori_list {
	margin: 30px 0 15px;
	justify-content: space-between;
}
.madori_list li {
	width: 30.63636365%;
	max-width: 337px;
}
.madori_list li:first-child {
	width: 31.90909092%;
	max-width: 351px;
}

.column_1 {
	max-width: 1200px;
	width:94%;
	margin:0 auto;
}




/*個別*/
.sec01 .sec_ttl,
.sec01 .sec_head {
	margin-left: 1.0%;
}
.sec01 .osusume_madori {
	padding: 0 0 20px;
}

.sec01 .madori_list li:nth-child(3) {
	position:relative;
}
.sec01 .madori_list li:nth-child(3) .icn {
	position:absolute;
	top:-2%;
	right:-2%;

	max-width: 100%;
	width:25%;
}


.sec02 {
	background: #f5f3f2;
	padding: 0 0 10px;
	box-sizing: border-box;
}
.sec02 .ttl_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.sec02 .ttl_box figure {
	width:50%;
}
.sec02 .ttl_box > div {
	width:50%;
	margin: 0 auto;
	padding: 0 0 0 5%;
}
.sec02 .ttl_box > div p {
	color:#dc3756;
	font-size: clamp(18px, 2.2vw, 28px);
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.sec02 .access_img_box {
	display: flex;
	justify-content: space-between;
	align-items:flex-end;
}
.sec02 .access_img_box .left_box_wrap {
	padding: 0 0 0 15%;
	width:55%;
}
.sec02 .access_img_box .left_box {
	width:100%;
}
.sec02 p {
	font-size: clamp(10px, 0.9333333333333333vw, 14px);
	line-height: 1.0;
	letter-spacing: 0.05em;
	margin-top: 10px;
}
.sec02 p.copy {
	font-size: clamp(14px, 1.3333333333333333vw, 20px);
	line-height: 2.0;
	letter-spacing: 0.05em;
	margin: 0 0 10px;
}
.sec02 .access_img_box .left_box ul {
}
.sec02 .access_img_box .left_box ul li {

}
.sec02 .access_img_box .left_box ul li + li {
	margin-left: 30px;
}
.sec02 .access_img_box .right_box {
	width:45%;
}
.sec02 .access_img_box .right_box p {
	padding-left: 23%;
}
.sec02 .img04 {
	margin: 40px 0 70px;
	box-sizing: border-box;
}


.sec03 {
	margin-bottom: 40px;
}

.sec03 .ttl_box {
	margin-bottom: 40px;
}
.sec03 .ttl_box h3 {
	text-align: center;
	color:#dc3756;
	font-size: clamp(18px, 2.2vw, 28px);
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.sec03 .reason_box {
	background: url(../img/sec03_img01.jpg) no-repeat center center;
	background-size: cover;
	padding: 6% 0;
	position: relative;
	margin-bottom: 40px;
}
.sec03 .reason_box .reason_contents {
	background: #f7f7f2;
	width: fit-content;
	padding: 2% 3% 2% 10%;
	margin: 0 auto 0 0;
}
.sec03 .reason_box .reason_contents h4 {
	font-size: clamp(16px, 1.6vw, 21.6px);
	letter-spacing: 0.05em;
}
.sec03 .reason_box .reason_contents h4 span {
	font-size: 3em;
	vertical-align: -0.2em;
	color: #fabe00;
}
.sec03 .reason_box .reason_contents ul li {
	position: relative;
	padding-left: min(6.5vw,105px);
	margin-bottom: 2%;
}
.sec03 .reason_box .reason_contents ul li .reason {
	position: absolute;
	top: -5px;
	left: 0;
	width: min(5.4vw,90px);
}
.sec03 .reason_box .reason_contents ul li span {
	font-size: clamp(14px, 1.3333333333333333vw, 20px);
	line-height: 1.75;
	display: block;
}
.sec03 .reason_box .reason_contents ul li p {
	font-size: clamp(10px, 0.9333333333333333vw, 14px);
	line-height: 1.57142857;
}

.sec03 .graph_box {
	padding: 60px 0;
}
.sec03 .graph_box .balloon_box {
	width: fit-content;
}
.sec03 .graph_box .balloon_box h4 {
	width: 80%;
	max-width: 514px;
	margin: 0 auto 10px;
}
.sec03 .graph_box .balloon_box .sec_copy {
	width: fit-content;
}
.sec03 .graph_list ul {
	justify-content: space-between;
}
.sec03 .graph_list ul li:nth-child(1) {
	width: 34.19354840%;
	max-width: 318px;
}
.sec03 .graph_list ul li:nth-child(2) {
	width: 32.15053764%;
	max-width: 299px;
}
.sec03 .graph_list ul li:nth-child(3) {
	width: 29.78494625%;
	max-width: 277px;
}
.sec03 .graph_list .notes {
	margin-top: 20px;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.sec03 .graph_box2 .balloon_box h4 {
	width: 100%;
	max-width: 687px;
	margin: 0 auto 10px;
}
.sec03 .graph_box2 .graph_list {
	justify-content: space-between;
}
.sec03 .graph_box2 .graph_list .sec_copy {
	width: 35%;
}
.sec03 .graph_box2 .graph_list div {
	width: 62%;
	max-width: 576px;
}

.sec03 .l_line_box {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 0 0 30px;
}
.sec03 .l_line_box .txt {
	border-left: 5px solid transparent;
  border-image: linear-gradient(to bottom, #e982b6, #d96a9e);
  border-image-slice: 1;
	padding: 6px 0 6px 20px;

	width:38%;
	margin-right: 4%;
}
.sec03 .l_line_box .txt h5 {
	font-size: clamp(14px, 1.3333333333333333vw, 20px);
	line-height: 1.6;
	padding: 0 0 10px;
}
.sec03 .l_line_box .txt p {
	font-size: clamp(10px, 0.9333333333333333vw, 14px);
	line-height: 1.6;
}
.sec03 .l_line_box .txt ul {

}
.sec03 .l_line_box .txt ul li {
	font-size: clamp(10px, 0.9333333333333333vw, 13px);
	line-height: 1.6;
	letter-spacing: 0.03em;
	margin-bottom: 0.2em;
}
.sec03 .l_line_box .txt ul li span {
	font-size: 110%;
	line-height: 1.6;
	color:#FFF;
	padding: 3px 5px;
	margin-right: 0.5em;
}
.sec03 .l_line_box .txt ul li:nth-child(1) span { background: #2f4c8b;}
.sec03 .l_line_box .txt ul li:nth-child(2) span { background: #898989;}
.sec03 .l_line_box .txt ul li:nth-child(3) span { background: #b7282d;}
.sec03 .l_line_box .txt.noGraph {
	width:100%;
}
.sec03 .l_line_box .graph_Wrap {
	width:58%;
}

.sec03 .l_line_box .graph {
	width:100%;
}
.sec03 .graph_cap {
	text-align: right;
	font-size: 12px;
	color:#595857;
	margin-top: 10px;
}

@media screen and (min-width: 768px) {
	.sec03 .scroll-hint {
		overflow: inherit!important;
	}
}


.hp_link {
	background: url(../img/ftr_bg.jpg) no-repeat center center;
	background-size: cover;
	padding: 8% 0;
	margin-top: 70px;
	position: relative;
}
.hp_link .btn p {
	color: #fff;
	text-align: center;
	font-size: 31px;
	letter-spacing: 0.075em;
	margin-bottom: 0.75em;
}
.hp_link .btn p small {
	display: block;
	font-size: 0.7em;
	margin-bottom: 0.5em;
}
.hp_link .btn a {
	display: block;
	background: #fff;
	font-size: 19.53px;
	color: #000;
	width: fit-content;
	padding: 0.5em 2em;
	position: relative;
	margin: 0 auto;
	transition: .3s;
	border: 1px solid #fff;
}
.hp_link .btn a span {
	display: block;
	width: 0.5em;
	background: #000;
	aspect-ratio: 2/3;
	clip-path: polygon(0 0, 100% 50%, 0% 100%);
	position: absolute;
	top: 50%;
	right: 1.25em;
	transform: translateY(-50%);
	transition: .3s;
}
.hp_link .btn a:hover {
	background: #000;
	color: #fff;
}
.hp_link .btn a:hover span {
	background: #fff;
	right: 1.0em;
}

/*HP共通部分調整*/
#Gnav_wrap {
	display: none;
}
#content_Wrap {
	margin-top: 60px;
}

#head_Btn_Area div a.online_btn {
	display: none;
}

/*#page_Top,*/
#foot_Nav {
	display: none;
}
#conversion_Area {
	background: none;
}
#conversion_Area .ttl_contact span {
	color: #615F5F;
}
#head_Btn_Area div a.req_btn,
.con_Btn_List a.req_btn,
.ftr_fixed li.nav_request a {
	background: #00A0DF;
	color: #fff;
}
#head_Btn_Area div a.res_btn,
.con_Btn_List a.res_btn,
.ftr_fixed li.nav_reserve a {
	background: #8F82BC;
	color: #fff;
}
.con_Btn_List li:last-child {
	display: none;
}
.con_Btn_List li:nth-child(2) { margin-right: 0; }

/*=========================================================================================================
tab
=========================================================================================================*/
@media screen and (max-width: 1024px) {






}


/*=========================================================================================================
sp
=========================================================================================================*/
@media screen and (max-width: 767px) {

	.caption.r {
		position: absolute;
		bottom: -15px;
		right:10px;
	}
	.caption02_spBox {
		position: absolute;
		top: 0;
		left: 0;
		aspect-ratio: 375 / 198;
		width: 100%;
	}
	.caption02 {
		position: absolute;
		font-size: 10px;
		/* top: 28%; */
		right:10px;
		bottom: 5px;
	}

	.mv_wrap {
		aspect-ratio: 3/2;
		background: url(../img/mv_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	.mv_wrap h2 {
		position: absolute;
		top: 70%;
		transform: translateY(-50%);
		left: 7%;
		width: 51%;
		filter: none;
	}
	.mv_wrap h2 img.aos-animate {
		filter: drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 0 3px #fff) drop-shadow(0 0 3px #fff) drop-shadow(0 0 4px #fff);
		transform: translateZ(0);
	}

	[class^="sec0"] {
		margin: 20px auto 30px;
	}

	.sec_ttl {
		padding: 8px 20px 8px;
		margin: 0 0 15px;
	}
	.sec_ttl span {
		font-size: 15px;
	}
	.sec_head {
		/*font-size: 19px;*/
        font-size: 15px;
		margin-bottom: 15px;
		line-height: 1.5;
	}
	.sec_copy {
		font-size: 14px;
		line-height: 1.7;
		margin-bottom: 20px;
	}
	.madori_list {
		flex-direction: column;
		margin: 0 0 20px;
	}
	.madori_list li,
	.madori_list li:first-child {
		width: 100%;
		max-width: 100%;
		margin-top: 30px;
	}
	.sec01 .madori_list li:nth-child(3) .icn {
		position:absolute;
		top:-3%;
		right:-2%;

		max-width: 100%;
		width:30%;
	}

	/*個別*/
	.sec01 .sec_ttl,
	.sec01 .sec_head {
		margin-left: 1.5%;
	}

	.sec02 {
		margin: 60px auto 0;
		padding: 0 0 10px;
	}
	.sec02 .ttl_box {
		flex-direction: column-reverse;
		padding: 0 0 30px;
	}
	.sec02 .ttl_box figure {
		width:100%;
	}
	.sec02 .ttl_box > div {
		width:100%;
		margin: 10px auto 20px;
	}
	.sec02 .ttl_box > div p {
		font-size: 15px;
		letter-spacing: 0.06em;
		color:#dc3756;
	}


	.sec02 .access_img_box {
		flex-direction: column;
	}
	.sec02 .access_img_box .left_box_wrap {
		padding: 0;
		width:94%;
		margin: 0 auto;
	}
	.sec02 .access_img_box .left_box {
		width:100%;
	}
	.sec02 p {
		font-size: 13px;
		line-height: 1.0;
		letter-spacing: 0.05em;
		margin-top: 10px;
	}
	.sec02 p.copy {
		font-size: 14px;
		padding: 0 0 20px;
		margin: 0;
	}
	.sec02 .access_img_box .left_box ul {
		margin-bottom: 20px;
	}
	.sec02 .access_img_box .left_box ul li {

	}
	.sec02 .access_img_box .left_box ul li + li {
		margin-left: 10px;
	}
	.sec02 .access_img_box .right_box {
		width:94%;
		margin: 0 auto 20px;
	}
	.sec02 .access_img_box .right_box p {
	    padding-left: 0;
	}

	.sec02 .map {
		/* margin-bottom: 30px; */
		width: 100vw;
		margin: 0 calc(50% - 50vw) 30px;
	}

	.sec02 .img04 {
    margin: 0 0 0px;
}

	.sec03 {
		margin-top: 30px;
	}
	.sec03 .ttl_box {
		margin-bottom: 10px;
	}
	.sec03 .ttl_box h3 {
		font-size: 15px;
		letter-spacing: 0.06em;
    }

	.sec03 .reason_box {
		background: none;
		padding: 0;
		margin-bottom: 30px;
	}
	.sec03 .reason_box::before {
		content: "";
		display: block;
		background: url(../img/sec03_img01.jpg) no-repeat bottom center;
		background-size: cover;
		width: 100%;
		/* aspect-ratio: 3/1; */
		aspect-ratio: 375/198;
	}
	.sec03 .reason_box .reason_contents {
		width: 100%;
		padding: 30px 20px 20px;
		margin: 0;
	}
	.sec03 .reason_box .reason_contents h4 {
		font-size: 18px;
		margin-bottom: 15px;
	}
	.sec03 .reason_box .reason_contents ul li {
		padding-left: calc(105px *.7);
		margin-bottom: 2%;
	}
	.sec03 .reason_box .reason_contents ul li .reason {
		top: 0;
		width: calc(90px *.7);
	}
	.sec03 .reason_box .reason_contents ul li span {
		font-size: 16px;
	}
	.sec03 .reason_box .reason_contents ul li p {
		font-size: 13px;
		line-height: 1.5;
	}
	.sec03 .graph_box {
		padding: 40px 0;
	}
	.sec03 .graph_box .balloon_box h4 {
		width: 90%;
	}
	.sec03 .graph_list ul {
		flex-wrap: wrap;
	}
	.sec03 .graph_list ul li:nth-child(1) {
		width: calc(34.19354840% * 1.4);
	}
	.sec03 .graph_list ul li:nth-child(2) {
		width: calc(32.15053764% * 1.4);
	}
	.sec03 .graph_list ul li:nth-child(3) {
		width: calc(29.78494625% * 1.4);
		margin-top: 15px;
	}
	.sec03 .graph_list .notes {
		text-align: left;
		margin-top: 10px;
	}
	.sec03 .graph_box2 .graph_list {
		flex-direction: column;
	}
	.sec03 .graph_box2 .graph_list .sec_copy {
		width: 100%;
	}
	.sec03 .graph_box2 .graph_list div {
		width: 100%;
	}
	.sec03 .graph_box2 .graph_list .scroll-hint img {
		height: 230px;
		width: auto!important;
		padding-bottom: 5px;
	}

	.sec03 .l_line_box {
		flex-direction: column;
		padding: 6px 0  6px 15px;
		border-left: 5px solid transparent;
		border-image: linear-gradient(to bottom, #e982b6, #d96a9e);
		border-image-slice: 1;
		margin-bottom: 30px;
	}
	.sec03 .l_line_box .txt {
		padding: 0;
		border-left: none;
		width:100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.sec03 .l_line_box .txt.noGraph {
		margin-bottom: 0;
	}
	.sec03 .l_line_box .txt h5 {
		font-size: 16px;
	}
	.sec03 .l_line_box .txt p {
		font-size: 13px;
	}
	.sec03 .l_line_box .txt ul {

	}
	.sec03 .l_line_box .txt ul li {
		font-size: 13px;
		line-height: 1.6;
		letter-spacing: 0.03em;
		margin-bottom: 0.2em;
	}
	.sec03 .l_line_box .txt ul li span {
		font-size: 100%;
	}
	.sec03 .l_line_box .graph_Wrap {
		width:100%;
	}
	.sec03 .graph_cap {
		font-size: 10px;
	}
	.sec03 .l_line_box .graph_Wrap.scroll-hint .graph {
		width:150%;
	}








	.hp_link {
		padding: 15% 0;
		margin-top: 40px;
		background: url(../img/ftr_bg_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	.hp_link .btn p {
		font-size: 24px;
		margin-bottom: 0.75em;
	}
	.hp_link .btn a {
		font-size: 16px;
	}


	/*HP共通部分調整*/
	#Gnav_wrap {
		display: block;
		background: #fff;
	}
	.ftr_fixed li.nav_online {
		display: none;
	}
	.con_Btn_List li:nth-child(2) { margin-right: auto; }
	.ftr_fixed .nav_home span::before {
        background: url(../img/sp_home.svg) no-repeat center center;
        background-size: contain;
        width: 28px;
		height: 28px;
		margin: 0 auto 5px;
    }
    .ftr_fixed .nav_request span::before {
        filter: none;
    }
    #nav_Area {
		border-top: 1px solid #ddd;
		padding: 30px;
    }
    #nav_Area li:not(:last-child) {
		margin-bottom: 20px;
    }
    #nav_Area li a {
		display: block;
		position: relative;
		width: 100%;
		padding: 7px 0 7px 13px;
		color: #595959;
		font-size: 14px;
		letter-spacing: 0.1em;
		transform: rotate(.028deg);
		box-sizing: border-box;
		text-align: left;
		transition: 0.3s;
	}
	#nav_Area li a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0.4em 0 0.4em 0.64em;
		border-color: transparent transparent transparent #333333;
	}
}
