@charset "utf-8";
/**
/* CSS START
----------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
html,body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #222222;
	letter-spacing: 0;
}
.okinawa-wrap .inner-wrap{
	width: 96%;
	max-width: 1240px;
	margin: 0 auto;
}
.okinawa-wrap .inner{
	width: 94%;
	max-width: 1080px;
}
@media only screen and (max-width: 767px) {
	.okinawa-wrap .inner-wrap,
	.okinawa-wrap .inner{
		width: calc(100% - 3rem);
	}
}
/**
/* 共通 CSS
----------------------------------------------- */
/*　　背景　　*/
.bg_lightgray{
	background: #F3F3F3;
}
.bg_gray{
	background: #ECECEC;
}
.box_w{
	background: #FFFFFF;
}
.box_g{
	background: #ECECEC;
}
.border-o{
	border: 1px solid #E7700E;
}
.border-g{
	border: 1px solid #C3C3C3;
}
/*　　色　　*/
.c-white{
	color: #FFFFFF;
}
.c-beige{
	color: #9A821E;
}
/*　　アニメーション　　*/
.fadeInUp{
	opacity: 0;
	transform: translateY(5px);
	transition: transform 0.6s ease-in, opacity 1s ease-in;
}
.fadeInUp.active{
	opacity: 1;
	transform: translateY(0);
}
/*　　見出し　　*/
.guide-ttl{
	margin-bottom: 3rem;
}
.guide-ttl h2{
	color: #222222;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.01em;
}
@media only screen and (max-width: 767px) {
	.guide-ttl{
		margin-bottom: 1.5rem;
	}
	.guide-ttl h2{
		font-size: 1.75rem;
	}
}
/**
/* ヘッダー CSS
----------------------------------------------- */
.global-header .global-nav{
	background: transparent;
	backdrop-filter: blur(20px);
	padding: 1rem 2rem;
}
.global-header .global-nav.fixed{
	background: rgba(255, 255, 255, 1);
	backdrop-filter: none;
}
.global-nav.fixed .logo_w,
.global-nav .logo_b{
	display: none;
}
.global-nav .logo_w,
.global-nav.fixed .logo_b{
	display: block;
}
.global-nav .header_logo img{
	width: 9.375rem;
}
.global-nav .contact-nav{
	margin-left: 2rem;
}
.global-nav .contact-nav li{
	width: 19.5rem;
	max-width: 100%;
}
.global-nav .contact-nav li + li{
	margin-left: 1rem;
}
.global-nav .contact-nav .btn{
	position: relative;
	font-size: 1rem;
	line-height: 1.2;
	text-align: center;
	border-radius: 0.25rem;
}
.global-nav .contact-nav .btn::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	border-radius: 0.25rem;
}
.global-nav .contact-nav .btn:hover::before{
	transform: scale(1, 1);
}
.global-nav .contact-nav li .btn::after{
	content: none;
}
.global-nav .contact-nav .btn span{
	position: relative;
	display: inline-block;
	padding-right: 0.625rem;
}
.global-nav .contact-nav .btn span br{
	display: none;
}
.global-nav .contact-nav .btn span::before,
.global-nav .contact-nav .btn span::after{
	position: absolute;
	content: "";
	top: 50%;
	transform: translateY(-50%);
}
.global-nav .contact-nav .btn span::before{
	background: #FFFFFF;
	width: 1.375rem;
	height: 1.375rem;
	border-radius: 100%;
	right: -1.375rem;
}
.global-nav .contact-nav .btn span::after{
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-size: 0.625rem;
	font-weight: 900;
	line-height: 1;
	right: -0.875rem;
}
.global-nav .contact-nav .contact_btn .btn{
	background: linear-gradient(271.97deg, #BD1903 23.74%, #D74734 98.34%);
	padding: 1rem 2.25rem 1rem 1.25rem;
}
.global-nav .contact-nav .contact_btn .btn::before{
	background: #BD1903;
}
.global-nav .contact-nav .contact_btn .btn span::after{
	color: #BD1904;
}
.global-nav .contact-nav .line_btn .btn{
	background: linear-gradient(90deg, #5DA02C 0%, #387A09 100%);
	padding: 1rem 2.25rem 1rem 1.25rem;
}
.global-nav .contact-nav .line_btn .btn::before{
	background: #387A09;
}
.global-nav .contact-nav .line_btn .btn span::after{
	color: #3E800F;
}
.global-nav .drawer-nav .drawer-menu li a{
	color: #FFFFFF;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	padding: 0 1rem;
}
.global-nav.fixed .drawer-nav .drawer-menu li a{
	color: #222222;
}
@media only screen and (max-width: 1480px) {
	.global-nav .contact-nav{
		margin-left: 1rem;
	}
	.global-nav .contact-nav li{
		width: 16.5rem;
	}
	.global-nav .contact-nav li + li{
		margin-left: 1rem;
	}
}
@media only screen and (max-width: 1380px) {
	.global-header .global-nav{
		padding: 1rem;
	}
	.global-nav .contact-nav li{
		width: 10rem;
	}
	.global-nav .contact-nav li + li{
		margin-left: 0.5rem;
	}
	.global-nav .contact-nav .btn{
		font-size: 0.75rem;
	}
	.global-nav .contact-nav .btn span br{
		display: block
	}
	.global-nav .drawer-nav .drawer-menu li a{	
		font-size: 0.75rem;
		padding: 0 0.625rem;
	}
}
@media only screen and (max-width: 1024px) {
	.global-nav .header_logo{
		padding: 0;
	}
	.drawer--right.drawer-open .global-nav{
		background: rgba(255, 255, 255, 0.12);
		backdrop-filter: none;
	}
	.drawer--right.drawer-open .global-nav.fixed{
		background: rgba(255, 255, 255, 1);
	}
	.global-nav .drawer-hamburger{
		background: transparent;
		width: 1.75rem;
		height: auto;
		padding: 1.4rem 1.375rem 2rem 1.375rem;
	}
	.global-nav .drawer-hamburger::after{
		content: none;
	}
	.global-nav .drawer-hamburger:hover{
		background: transparent;
	}
	.global-nav.fixed .drawer-hamburger-icon,
	.global-nav.fixed .drawer-hamburger-icon::after,
	.global-nav.fixed .drawer-hamburger-icon::before{
		background: #222222;
	}
	.drawer-open .global-nav.fixed .drawer-hamburger-icon::after,
	.drawer-open .global-nav.fixed .drawer-hamburger-icon::before{
		background: #222222;
	}
	.drawer-open .global-nav.fixed .drawer-hamburger-icon{
		background-color: transparent;
	}
	.drawer--right .global-header .drawer-nav{
		top: 4rem;
	}
	.global-nav.fixed .drawer-nav .drawer-menu li a{
		color: #ffffff;
	}
	.global-nav .contact-nav{
		display: none;
	}
	.global-nav .drawer-contact .btn{
		display: block;
		font-size: 1rem;
		font-weight: 700;
		line-height: 1.2;
		letter-spacing: 0.04em;
		border-radius: 0.25rem;
		padding: 1.25rem 2.5rem;
	}
	.global-nav .drawer-contact .btn::before{
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		transform: scale(0, 1);
		transform-origin: left top;
		transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
		border-radius: 0.25rem;
	}
	.global-nav .drawer-contact .btn:hover::before{
		transform: scale(1, 1);
	}
	.global-nav .drawer-contact .btn span{
		position: relative;
		display: inline-block;
	}
	.global-nav .drawer-contact .btn span::before,
	.global-nav .drawer-contact .btn span::after{
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		-webkit-transition: 0.8s;
		-moz-transition: 0.8s;
		-o-transition: 0.8s;
		-ms-transition: 0.8s;
		transition: 0.8s;
	}
	.global-nav .drawer-contact .btn span::before{
		width: 1.25rem;
		height: 1.25rem;
		border-radius: 100%;
		right: -1.25rem;
	}
	.global-nav .drawer-contact .btn span::after{
		content: "\f105";
		font-family: "Font Awesome 5 Free";
		font-size: 0.625rem;
		font-weight: 900;
		line-height: 1;
		right: -0.8125rem;
	}
	.global-nav .drawer-contact .contact_btn{
		max-width: 21rem;
	}
	.global-nav .drawer-contact .contact_btn .btn{
		background: linear-gradient(271.97deg, #BD1903 23.74%, #D74734 98.34%);
		color: #FFFFFF;
		border: none;
		box-shadow: none;
	}
	.global-nav .drawer-contact .contact_btn .btn span{
		padding-right: 1.6875rem;
	}
	.global-nav .drawer-contact .contact_btn .btn span::before{
		background: #FFFFFF;
	}
	.global-nav .drawer-contact .contact_btn .btn span::after{
		color: #BD1904;
	}
	.global-nav .drawer-contact .contact_btn .btn:hover{
		background: linear-gradient(271.97deg, #BD1903 23.74%, #D74734 98.34%);
		color: #FFFFFF;
		border: none;
		box-shadow: none;
	}
	.fv-view .view-box .block_btn .contact_btn .btn::before{
		background: #BD1903;
	}
	.global-nav .drawer-contact .contact_btn .btn:hover span::before{
		color: #FFFFFF;
	}
	.global-nav .drawer-contact .contact_btn .btn:hover span::after{
		color: #BD1904;
	}
	.global-nav .drawer-contact .line_btn{
		max-width: 16.5rem;
	}
	.global-nav .drawer-contact .line_btn .btn{
		background: linear-gradient(90deg, #5DA02C 0%, #387A09 100%);
		color: #FFFFFF;
		border: none;
		box-shadow: none;
	}
	.global-nav .drawer-contact .line_btn .btn span{
		padding-right: 0.625rem;
	}
	.global-nav .drawer-contact .line_btn .btn span::before{
		background: #FFFFFF;
	}
	.global-nav .drawer-contact .line_btn .btn span::after{
		color: #34C759;
	}
	.global-nav .drawer-contact.line_btn .btn:hover{
		background: #34C759;
		color: #FFFFFF;
		border: none;
		box-shadow: none;
	}
	.global-nav .drawer-contact.line_btn .btn::before{
		background: #387A09;
	}
	.global-nav .drawer-contact .line_btn .btn:hover span::before{
		background: #FFFFFF;
	}
	.global-nav .drawer-contact .line_btn .btn:hover span::after{
		color: #34C759;
	}
}
@media only screen and (max-width: 767px) {
	.drawer--right .global-header .drawer-nav{
		top: 4rem;
	}
	.global-nav .drawer-contact li{
		width: 100%;
	}
	.global-nav .drawer-contact .contact_btn{
		max-width: 100%;
	}
	.global-nav .drawer-contact .line_btn{
		max-width: 100%;
	}
}
/**
/* FV CSS
----------------------------------------------- */
.fv-view{
	position: relative;
	padding: 13.75rem 0 9.5rem 0;
}
.fv-view .fv-view-img{
	position: absolute;
	top:  0;
	bottom: 0;
	left: 0;
	right: 0;
}
.fv-view .fv-view-img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.fv-view .view-box{
	position: relative;
	z-index: 1;
}
.fv-view .view-box h1{
	position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.fv-view .view-box .bg-text1{
	margin-bottom: 0.75rem;
}
.fv-view .view-box .bg-text1 span{
	background: #0D3873;
	display: inline-block;
	color: #FFFFFF;
	font-size: 3.25rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.06em;
	font-feature-settings: "palt";
	padding: 0.25rem 0.75rem;
}
.fv-view .view-box .bg-text2{
	transition-delay: 0.5s;
}
.fv-view .view-box .bg-text2 img{
	width: 36.875rem;
}
.fv-view .view-box .p-text{
	color: #FFFFFF;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.04em;
	margin-top: 2rem;
}
.fv-view .view-box .block_btn{
	column-gap: 2.5rem;
	max-width: 680px;
	margin-top: 2.5rem;
}
.fv-view .view-box .block_btn li{
	width: calc(50% - 1.25rem);
	max-width: 100%;
}
.fv-view .view-box .block_btn .btn{
	position: relative;
	display: block;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-align: center;
	border-radius: 0.25rem;
	padding: 1.5rem 2.5rem 1.5rem 1.5rem;
}
.fv-view .view-box .block_btn .btn::before{
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	border-radius: 0.25rem;
}
.fv-view .view-box .block_btn .btn:hover::before{
	transform: scale(1, 1);
}
.fv-view .view-box .block_btn li .btn::after{
	content: none;
}
.fv-view .view-box .block_btn .btn span{
	position: relative;
	display: inline-block;
	padding-right: 0.625rem;
}
.fv-view .view-box .block_btn .btn span::before,
.fv-view .view-box .block_btn .btn span::after{
	position: absolute;
	content: "";
	top: 50%;
	transform: translateY(-50%);
}
.fv-view .view-box .block_btn .btn span::before{
	background: #FFFFFF;
	width: 1.375rem;
	height: 1.375rem;
	border-radius: 100%;
	right: -1.375rem;
}
.fv-view .view-box .block_btn .btn span::after{
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-size: 0.625rem;
	font-weight: 900;
	line-height: 1;
	right: -0.875rem;
}
.fv-view .view-box .block_btn .contact_btn .btn{
	background: linear-gradient(271.97deg, #BD1903 23.74%, #D74734 98.34%);
}
.fv-view .view-box .block_btn .contact_btn .btn::before{
	background: #BD1903;
}
.fv-view .view-box .block_btn .contact_btn .btn span::after{
	color: #BD1904;
}
.fv-view .view-box .block_btn .line_btn .btn{
	background: linear-gradient(90deg, #5DA02C 0%, #387A09 100%);
}
.fv-view .view-box .block_btn .line_btn .btn::before{
	background: #387A09;
}
.fv-view .view-box .block_btn .line_btn .btn span::after{
	color: #3E800F;
}
@media only screen and (max-width: 767px) {
	.fv-view{
		padding: 5.75rem 0 2.75rem 0;
	}
	.fv-view .view-box .bg-text1{
		margin-bottom: 0.25rem;
	}
	.fv-view .view-box .bg-text1 span{
		font-size: 1.5rem;
	}
	.fv-view .view-box .bg-text2 img{
		width: 19.0625rem;
	}
	.fv-view .view-box .p-text{
		font-size: 1rem;
		margin-top: 1rem;
	}
	.fv-view .view-box .block_btn{
		column-gap: 0;
		row-gap: 1.5rem;
		margin-top: 13.4375rem;
	}
	.fv-view .view-box .block_btn li{
		width: 100%;
	}
	.fv-view .view-box .block_btn .btn{
		padding: 1.25rem 0.75rem;
	}
	.fv-view .view-box .block_btn .btn span{
		display: block;
		padding-right: 1.375rem;
	}
	.fv-view .view-box .block_btn .btn span::before{
		right: 0;
	}
	.fv-view .view-box .block_btn .btn span::after{
		right: 0.45rem;
	}
}
/**
/*  特徴 CSS
----------------------------------------------- */
.feature-guide{
	padding: 0 0 2.5rem 0;
}
.feature-guide .feature-head{
	background: url(../img/okinawa/bg_g.png) no-repeat bottom center;
	background-size: cover;
	color: #FFFFFF;
	padding: 3.75rem 0 7.5rem 0;
}
.feature-guide .feature-head .caption{
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.6;
}
.feature-guide .feature-head h2{
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.6;
}
.feature-guide .feature-body{
	position: relative;
	padding: 2.5rem 0;
	margin-top: -5rem;
}
.feature-guide .feature-body .box{
	padding: 4rem;
}
.feature-guide .feature-body .feature-list{
	max-width: 1080px;
	column-gap: 1.5rem;
}
.feature-list .feature-items{
	background: #ECECEC;
	width: calc(50% - 0.75rem);
}
.feature-list .feature-items h3{
	color: #FDFAF3;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	padding: 0.5rem;
}
.feature-list .feature-items:nth-child(1) h3{
	background: #012D4E;
}
.feature-list .feature-items:nth-child(2) h3{
	background: #9A821E;
}
.feature-list .feature-items .imgArea{
	height: 18.75rem;
}
.feature-list .feature-items .imgArea img,
.feature-list .feature-items .imgArea video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.feature-list .feature-items .text{
	color: #012D4E;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.6;
	padding: 1.5rem 2rem;
}
.feature-guide .feature-bottom .arrow{
	margin-bottom: 1rem;
}
.feature-guide .feature-bottom .arrow img{
	width: 5rem;
}
.feature-guide .feature-bottom .bg_text{
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.6;
}
.feature-guide .feature-bottom .bg_text span{
	font-size: 3rem;
}
@media only screen and (max-width: 767px) {
	.feature-guide{
		padding: 0 0 2.5rem 0;
	}
	.feature-guide .feature-head{
		padding: 3.75rem 0 4rem 0;
	}
	.feature-guide .feature-head .caption{
		font-size: 1rem;
		line-height: 1.5;
	}
	.feature-guide .feature-head h2{
		font-size: 1.75rem;
		line-height: 1.5;
	}
	.feature-guide .feature-body{
		padding: 3rem 0;
		margin-top: -1.25rem;
	}
	.feature-guide .feature-body .box{
		background: #F3F3F3;
		padding: 0;
	}
	.feature-guide .feature-body .feature-list{
		column-gap: 0;
		row-gap: 1.5rem;
	}
	.feature-list .feature-items{
		width: 100%;
	}
	.feature-list .feature-items .imgArea{
		height: 12rem;
	}
	.feature-list .feature-items .text{
		padding: 1.25rem;
	}
	.feature-guide .feature-bottom .bg_text{
		font-size: 1rem;
	}
	.feature-guide .feature-bottom .bg_text span{
		font-size: 1.75rem;
	}
}
/**
/* お悩み CSS
----------------------------------------------- */
.trouble-guide{
	position: relative;
	background: url(../img/okinawa/trouble_bg.jpg) no-repeat top center;
	background-size: cover;
	padding: 5.5rem 0 5rem 0;
}
.trouble-guide .guide-ttl{
	margin-bottom: 3rem;
}
.trouble-guide .guide-ttl h2{
	position: relative;
	color: #FFFFFF;
	font-size: 1.5rem;
}
.trouble-guide .guide-ttl h2 span{
	font-size: 3rem;
	background-image: radial-gradient(circle at center, #ffffff 20%, transparent 20%); /* 点の色とサイズ調整 */
	background-position: top right; /* 点の位置 */
	background-repeat: repeat-x; /* 横方向に繰り返し */
	background-size: 3rem 2rem; /* 点の間隔とサイズ調整 */
	padding-top: 1rem;
}
.trouble-container .trouble-list{
	column-gap: 1.125rem;
	row-gap: 1.125rem;
}
.trouble-container .trouble-items{
	background: #FFFFFF;
	width: calc(33.3333% - 0.75rem);
	padding: 1.5rem 0.5rem 1.5rem 1.5rem;
}
.trouble-container .trouble-items dl{
	display: flex;
	align-items: flex-start;
}
.trouble-container .trouble-items dl dt{
	background: #222222;
	width: 4.75rem;
	color: #FFFFFF;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
	padding: 0.5rem;
}
.trouble-container .trouble-items dl dt span{
	display: block;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1;
}
.trouble-container .trouble-items dl dd{
	width: calc(100% - 4.75rem);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;
	padding-left: 0.875rem;
}
@media only screen and (max-width: 767px) {
	.trouble-guide{
		background: #313133;
		padding: 4.5rem 0 4rem 0;
	}
	.trouble-guide::before{
		background: url(../img/okinawa/sp_trouble_bg.jpg) no-repeat top center;
		background-size: cover;
		width: 100%;
		height: 22.5rem;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
	}
	.trouble-guide .guide-ttl{
		margin-bottom: 1.5rem;
	}
	.trouble-guide .guide-ttl h2{
		font-size: 1rem;
	}
	.trouble-guide .guide-ttl h2 span{
		font-size: 1.5rem;
		background-size: 1.5rem 1rem;
		padding-top: 0.875rem;
	}
	.trouble-container .trouble-list{
		column-gap: 0;
		row-gap: 1.125rem;
	}
	.trouble-container .trouble-items{
		width: 100%;
		padding: 1.5rem 0.75rem;
	}
}
/**
/*  選ばれる理由 CSS
----------------------------------------------- */
.reason-guide{
	position: relative;
	padding: 5rem 0;
}
.reason-guide::before{
	background: url(../img/okinawa/reason_bg.png) no-repeat top center;
	background-size: cover;
	width: 100%;
	height: 75rem;
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
}
.reason-guide .ttl-container{
	margin-bottom: 3rem;
}
.reason-guide .guide-ttl{
	display: inline-block;
	text-align: left;
	margin-bottom: 0;
}
.reason-guide .guide-ttl .bubble{
	position: relative;
	display: inline-block;
	background: #012D4E;
	color: #FFFFFF;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	border-radius: 2.5rem;
	padding: 0.25rem 1.5rem 0.375rem 1.5rem;
	margin-left: 2rem;
}
.reason-guide .guide-ttl .bubble:after {
	position: absolute;
	bottom: -0.625rem;
	left: 5rem;
	width: 0;
	height: 0;
	content: '';
	border-style: solid;
	border-right: 0.5625rem solid transparent;
	border-left: 0.5625rem solid transparent;
	border-top: 1rem solid #012D4E;
	border-bottom: 0;
	transform: rotate(335deg);
}
.reason-guide .guide-ttl h2{
	font-size: 2rem;
	line-height: 1.4;
	margin-top: -3rem;
}
.reason-guide .guide-ttl .c-beige{
	font-size: 6rem;
}
.reason-guide .ttl-container .text{
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.6;
}
.reason-guide .ttl-container .text span{
	font-weight: 700;
}
.reason-guide .reason-list{
	column-gap: 1.125rem;
}
.reason-list .reason-items{
	width: calc(33.3333% - 0.75rem);
}
.reason-list .reason-items:nth-child(1){
	background: linear-gradient(320.87deg, #EBE6CF 1.56%, #FFFFFF 96.83%);
}
.reason-list .reason-items:nth-child(2){
	background: linear-gradient(323.85deg, #EBE6CF 0.02%, #FFFFFF 94.25%);
}
.reason-list .reason-items:nth-child(3){
	background: linear-gradient(322.42deg, #EBE6CF 0.76%, #FFFFFF 100%);
}
.reason-list .reason-items .no{
	background: #9A821E;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	align-items: baseline;
	font-family: "Oswald", sans-serif;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	padding: 0.25rem 1.25rem;
}
.reason-list .reason-items .no span{
	font-size: 1.5rem;
	margin-left: 0.25rem;
}
.reason-list .reason-items .reason-body{
	padding: 0.625rem 1.25rem 1.25rem 1.25rem;
}
.reason-list .reason-items h3{
	color: #012D4E;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 0.625rem;
}
.reason-list .reason-items .value{
	color: #9A821E;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	margin-bottom: 0.625rem;
}
.reason-list .reason-items .value span{
	font-size: 1.25rem;
	font-weight: 400;
}
.reason-list .reason-items .p-text{
	max-width: 12.5rem;
	color: #012D4E;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	margin: 0 auto;
}
.reason-guide .chain-container{
	column-gap: 3rem;
	padding: 3.5rem;
	margin-top: 3rem;
}
.chain-container .chain-l{
	width: calc(35.6% - 1.5rem);
}
.chain-container .chain-l h3{
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 1rem;
}
.chain-container .chain-l .p-text{
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.6;
	margin-bottom: 2.5rem;
}
.chain-container .chain-r{
	width: calc(64.4% - 1.5rem);
}
.chain-container .chain-r dl{
	position: relative;
	background: #F5F0E4;
	padding: 1.5rem 0.5rem 1.5rem 1.25rem;
}
.chain-container .chain-r dl:not(:last-child){
	margin-bottom: 2rem;
}
.chain-container .chain-r dl:not(:last-child)::after{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1.25rem 1.125rem 0 1.125rem;
	border-color: #9A821E transparent transparent transparent;
	position: absolute;
	right: calc(50% - 1.125rem);
	bottom: -1.75rem;
	margin: auto;
}
.chain-container .chain-r dl dt{
	width: 8.75rem;
}
.chain-container .chain-r dl dt img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.chain-container .chain-r dl dd{
	width: calc(100% - 8.75rem);
	padding-left: 1rem;
}
.chain-container .chain-r dl dd h4{
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 1rem;
}
.chain-container .chain-r dl dd .p-text{
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
}
.reason-guide .bg-text{
	color: #FFFFFF;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 3;
	margin-top: 3rem;
}
.reason-guide .bg-text .bg{
	display: inline-block;
	background: #9A821E;
	font-size: 3rem;
	line-height: 1.35;
	font-feature-settings: "palt";
	padding: 0 0.375rem;
	margin-right: 0.375rem;
}
@media only screen and (max-width: 767px) {
	.reason-guide{
		padding: 3rem 0 3.5rem 0;
	}
	.reason-guide::before{
		height: 185rem;
	}
	.reason-guide .guide-ttl .bubble{
		font-size: 1.125rem;
		padding: 0.25rem 1.5rem 0.375rem 1.5rem;
		margin-left: 0;
	}
	.reason-guide .guide-ttl .bubble:after {
		bottom: -0.625rem;
		left: 5rem;
		border-right: 0.5625rem solid transparent;
		border-left: 0.5625rem solid transparent;
		border-top: 1rem solid #012D4E;
	}
	.reason-guide .guide-ttl h2{
		font-size: 1.25rem;
		margin-top: -2rem;
	}
	.reason-guide .guide-ttl .c-beige{
		font-size: 4rem;
	}
	.reason-guide .ttl-container .text{
		font-size: 1rem;
	}
	.reason-guide .reason-list{
		column-gap: 0;
		row-gap: 1.125rem;
	}
	.reason-list .reason-items{
		width: 100%;
	}
	.reason-guide .chain-container{
		column-gap: 0;
		row-gap: 1.5rem;
		padding: 3rem 1.25rem;
		margin-top: 1.5rem;
	}
	.chain-container .chain-l{
		width: 100%;
	}
	.chain-container .chain-l h3{
		font-size: 1.5rem;
	}
	.chain-container .chain-l .p-text{
		font-size: 1rem;
	}
	.chain-container .chain-r{
		width: 100%;
	}
	.chain-container .chain-r dl{
		padding: 1.5rem 1.25rem;
	}
	.chain-container .chain-r dl dt{
		width: 100%;
		margin-bottom: 1rem;
	}
	.chain-container .chain-r dl dd{
		width: 100%;
		padding-left: 0;
	}
	.reason-guide .bg-text{
		font-size: 1rem;
		line-height: 2;
		margin-top: 1.5rem;
	}
	.reason-guide .bg-text .bg{
		font-size: 2rem;
		line-height: 1.35;
		padding: 0 0.375rem;
		margin-right: 0;
	}
	.reason-guide .bg-text .small{
		display: block;
		font-size: 1.5rem;
	}
}
/**
/*  なぜ沖縄 CSS
----------------------------------------------- */
.about-guide{
	background: url(../img/okinawa/about_bg.png) no-repeat top center;
	background-size: cover;
	padding: 5.1875rem 0;
}
.about-guide .ttlArea{
	background: #004C85;
	color: #FFFFFF;
	padding: 3.5rem;
	margin-bottom: 2rem;
}
.about-guide .ttlArea::before,
.about-guide .ttlArea::after{
	content: '';
	position: absolute;
}
.about-guide .ttlArea::before{
	background: url(../img/okinawa/ttl_bg.png) no-repeat center;
	background-size: cover;
	width: 31.5625rem;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 4.75rem;
	z-index: -1;
}
.about-guide .ttlArea::after{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 2rem 2.5rem 0 2.5rem;
	border-color: #004C85 transparent transparent transparent;
	right: calc(50% - 2.5rem);
	bottom: -1.75rem;
	margin: auto;
}
.about-guide .ttlArea h2{
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 1rem;
}
.about-guide .ttlArea h2 span{
	font-size: 4rem;
	font-feature-settings: "palt";
}
.about-guide .ttlArea .bg-text{
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
}
.about-container{
	background: rgba(255, 255, 255, 0.8);
	padding: 2.0625rem 4.375rem 5rem 4.375rem;
}
.about-container .cards-container{
	column-gap: 1.25rem;
	padding-bottom: 5rem;
}
.about-container .cards-container .card{
	background: #FFFFFF;
	width: calc(50% - 0.625rem);
}
.about-container .cards-container .card .card__body{
	padding: 1.5rem;
}
.about-container .cards-container .card h3{
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	font-feature-settings: "palt";
	margin-bottom: 1rem;
}
.about-container .cards-container .card .p-text{
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
}
.point-container{
	padding: 0 0 5rem 0;
}
.point-container .point-line{
	position: relative;
	background: #9A821E;
	width: 100%;
	height: 2px;
}
.point-container .point-line::before,
.point-container .point-line::after{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
.point-container .point-line::before{
	border-width: 0.375rem 0.75rem 0.375rem 0;
	border-color: transparent #9A821E transparent transparent;
	right: 0;
}
.point-container .point-line::after{
	border-width: 0.375rem 0 0.375rem 0.75rem;
	border-color: transparent transparent transparent #9A821E;
	left: 0;
}
.point-container .guide-ttl{
	margin-top: 1rem;
	margin-bottom: 1rem;
}
.point-container .guide-ttl h3{
	position: relative;
	display: inline-block;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
}
.point-container .guide-ttl h3::before{
	background: url(../img/okinawa/ttl_icon.png) no-repeat center;
	background-size: cover;
	content: '';
	position: absolute;
	width: 3.25rem;
	height: 3rem;
	top: 0;
	right: 0;
}
.point-container .guide-ttl h3 span{
	color: #A69670;
	font-size: 4rem;
}
.point-container .p-text{
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
}
.point-container .point-list{
	column-gap: 1.25rem;
	margin-top: 3rem;
	margin-bottom: 5rem;
}
.point-list .point-items{
	background: #FDFAF3;
	width: calc(33.3333% - 1rem);
}
.point-list .point-items .no{
	background: #A69670;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	align-items: baseline;
	font-family: "Oswald", sans-serif;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	padding: 0.25rem 1.25rem;
}
.point-list .point-items .no span{
	font-size: 1.5rem;
	margin-left: 0.25rem;
}
.point-list .point-items .point-body{
	padding: 1rem 1.25rem 1.5rem 1.25rem;
}
.point-list .point-items h3{
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;
	font-feature-settings: "palt";
	margin-bottom: 1rem;
}
.point-list .point-items .p-text{
	line-height: 1.5;
}
.about-guide .about-box{
	background: #004C85;
	padding: 3.5rem;
}
.about-guide .about-box::before{
	background: url(../img/okinawa/about-box_bg.png) no-repeat center;
	background-size: cover;
	content: '';
	position: absolute;
	width: 29.375rem;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.about-guide .about-box .box-l{
	width: 42%;
}
.about-guide .about-box .box-r{
	width: 45%;
}
.about-guide .about-box h3{
	color: #FFFFFF;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 2.5rem;
}
.about-guide .about-box dl{
	color: #FFFFFF;
	border-bottom: 1px solid #FFFFFF;
	padding: 1.5rem;
}
.about-guide .about-box dl:first-child{
	border-top: 1px solid #FFFFFF;
}
.about-guide .about-box dl dt{
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 1rem;
}
.about-guide .about-box dl dd{
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
}
.how-to-container{
	margin-top: 5rem;
}
.how-to-container .guide-ttl{
	margin-bottom: 1rem;
}
.how-to-container .guide-ttl h3{
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
}
.how-to-container .p-text{
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
}
.how-to-container .how-to-list{
	column-gap: 1rem;
	margin-top: 3rem;
}
.how-to-list .how-to-items{
	background: #FDFAF3;
	width: calc(25% - 0.75rem);
}
.how-to-list .how-to-items .how-to-body{
	padding: 1rem;
}
.how-to-list .how-to-items h3{
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	font-feature-settings: "palt";
	margin-bottom: 1rem;
}
.how-to-list .how-to-items .p-text{
	font-size: 0.875rem;
	line-height: 1.5;
}
@media only screen and (max-width: 767px) {
	.about-guide{
		background: url(../img/okinawa/sp_about_bg.png) no-repeat top center;
		background-size: cover;
		padding: 3.5rem 0 4.1875rem 0;
	}
	.about-guide .ttlArea{
		padding: 1.5rem;
		margin-bottom: 1rem;
	}
	.about-guide .ttlArea::before{
		background: url(../img/okinawa/sp_ttl_bg.png) no-repeat center;
		background-size: cover;
		width: 17rem;
		left: auto;
		right: 0;
	}
	.about-guide .ttlArea::after{
		border-width: 1rem 2.25rem 0 2.25rem;
		right: calc(50% - 2.25rem);
		bottom: -0.9375rem;
	}
	.about-guide .ttlArea h2{
		font-size: 1rem;
	}
	.about-guide .ttlArea h2 span{
		display: block;
		font-size: 1.5rem;
	}
	.about-guide .ttlArea .bg-text{
		font-size: 0.875rem;
	}
	.about-container{
		padding: 1rem 1.25rem 2.5rem 1.25rem;
	}
	.about-container .cards-container{
		column-gap: 0;
		row-gap: 1.375rem;
		padding-bottom: 1.5rem;
	}
	.about-container .cards-container .card{
		width: 100%;
	}
	.about-container .cards-container .card .card__body{
		padding: 1rem;
	}
	.about-container .cards-container .card h3{
		line-height: 1.5;
	}
	.about-container .cards-container .card .p-text{
		font-size: 1rem;
		line-height: 1.6;
	}
	.point-container{
		padding: 0 0 1.5rem 0;
	}
	.point-container .guide-ttl h3{
		font-size: 1.125rem;
	}
	.point-container .guide-ttl h3::before{
		width: 2rem;
		height: 1.5rem;
		top: 0;
		right: 3.5rem;
	}
	.point-container .guide-ttl h3 span{
		font-size: 2.5rem;
	}
	.point-container .point-list{
		column-gap: 0;
		row-gap: 1.25rem;
		margin-top: 1.5rem;
		margin-bottom: 2.5rem;
	}
	.point-list .point-items{
		width: 100%;
	}
	.about-guide .about-box{
		padding: 2.5rem 0;
	}
	.about-guide .about-box::before{
		background: url(../img/okinawa/sp_about-box_bg.png) no-repeat center;
		background-size: cover;
		width: 100%;
		height: 22.75rem;
		bottom: auto;
	}
	.about-guide .about-box .box-l{
		width: 100%;
	}
	.about-guide .about-box .box-r{
		width: 100%;
	}
	.about-guide .about-box h3{
		font-size: 1.25rem;
		text-align: center;
	}
	.about-guide .about-box .about-figure{
		text-align: center;
		margin-bottom: 1.5rem;
	}
	.about-guide .about-box .about-figure img{
		width: 13.75rem;
	}
	.about-guide .about-box dl{
		padding: 1.5rem 1.25rem;
	}
	.how-to-container{
		margin-top: 1.5rem;
	}
	.how-to-container .guide-ttl h3{
		font-size: 1.5rem;
	}
	.how-to-container .how-to-list{
		column-gap: 0;
		row-gap: 1rem;
		margin-top: 1.5rem;
	}
	.how-to-list .how-to-items{
		width: 100%;
	}
	.how-to-list .how-to-items .how-to-body{
		padding: 1rem 1rem 1.5rem 1rem;
	}
}
/**
/*  スペック CSS
----------------------------------------------- */
.specs-guide{
	padding: 5rem 0;
}
.specs-guide .specs-container{
	column-gap: 1.875rem;
}
.specs-container .imgArea{
	width: calc(54% - 0.9375rem);
	column-gap: 1.5rem;
	row-gap: 2.5rem;
}
.specs-container .imgArea .img{
	width: 100%;
}
.specs-container .imgArea .img img{
	width: 100%;
}
.specs-container .imgArea .specs-map{
	width: calc(58% - 0.75rem);
}
.specs-container .imgArea .specs-map iframe{
	height: 15rem;
}
.specs-container .imgArea .specs-img{
	width: calc(42% - 0.75rem);
}
.specs-container .specs-detail{
	background: #FFFFFF;
	width: calc(46% - 0.9375rem);
	padding: 2.5rem;
}
.specs-container .specs-detail h3{
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	border-bottom: 1px solid #C3C3C3;
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
}
.specs-container .specs-detail h3 span{
	display: block;
	color: #A69670;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 0.75rem;
}
.specs-container .specs-detail dl:not(:last-child){
	margin-bottom: 1.5rem;
}
.specs-container .specs-detail dl dt{
	color: #A69670;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 0.75rem;
}
.specs-container .specs-detail dl dd{
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.6;
}
@media only screen and (max-width: 767px) {
	.specs-guide{
		padding: 1.875rem 0;
	}
	.specs-guide .specs-container{
		column-gap: 0;
		row-gap: 1.875rem;
	}
	.specs-container .imgArea{
		width: 100%;
		column-gap: 0;
		row-gap: 2.5rem;
	}
	.specs-container .imgArea .specs-map{
		width: 100%;
	}
	.specs-container .imgArea .specs-img{
		width: 100%;
	}
	.specs-container .specs-detail{
		background: #F3F3F3;
		width: 100%;
		padding: 1.5rem 0 0 0;
	}
	.specs-container .specs-detail h3{
		font-size: 1rem;
	}
	.specs-container .specs-detail dl dd{
		font-size: 1rem;
	}
}
/**
/*  料金プラン CSS
----------------------------------------------- */
.plan-guide{
	padding: 5rem 0;
}
.plan-guide .inner{
	max-width: 872px;
}
.plan-guide .guide-ttl h2 span{
	font-size: 1.5rem;
	font-weight: 400;
}
.plan-guide .plan-list{
	column-gap: 1.5rem;
}
.plan-list .plan-items{
	width: calc(50% - 0.75rem);
}
.plan-list .plan-1{
	background: #F2F5FA;
}
.plan-list .plan-2{
	background: #FDFAF3;
}
.plan-list .plan-items h3{
	color: #FFFFFF;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	padding: 0.75rem;
}
.plan-list .plan-1 h3{
	background: #012D4E;
}
.plan-list .plan-2 h3{
	background: linear-gradient(90deg, #896F2B 0%, #BEA258 100%);
}
.plan-list .plan-items .plan-body{
	padding: 1.5rem 2.5rem 2.5rem 2.5rem;
}
.plan-list .plan-items .fee{
	display: flex;
	align-items: baseline;
	-webkit-justify-content: center;
	justify-content: center;
	border-bottom: 1px solid #C3C3C3;
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
}
.plan-list .plan-items .fee .monthly{
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	margin-right: 0.1875rem;
}
.plan-list .plan-items .fee .price{
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
}
.plan-list .plan-items .fee .price .bg{
	font-size: 3.5rem;
}
.plan-list .plan-items .fee-detail{
	column-gap: 1.5rem;
}
.plan-list .plan-items .fee-detail dl{
	width: calc(50% - 0.75rem);
}
.plan-list .plan-items .fee-detail dl dt{
	color: #A69670;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 0.75rem;
}
.plan-list .plan-items .fee-detail dl dd{
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}
.plan-guide .plan-support{
	padding: 2.5rem;
	margin-top: 2.5rem;
}
.plan-guide .plan-support dl{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	flex-wrap: wrap;
	column-gap: 6.25rem;
}
.plan-guide .plan-support dl dt{
	color: #A69670;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
}
.plan-guide .plan-support dl dd{
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.6;
}
@media only screen and (max-width: 767px) {
	.plan-guide{
		padding: 3.5rem 0;
	}
	.plan-guide .guide-ttl h2 span{
		font-size: 1rem;
	}
	.plan-guide .plan-list{
		column-gap: ;
	}
	.plan-list .plan-items{
		width: 100%;
	}
	.plan-list .plan-items .plan-body{
		padding: 1.5rem 0 2.5rem 0;
	}
	.plan-guide .plan-support{
		padding: 1.25rem;
		margin-top: 1.75rem;
	}
	.plan-guide .plan-support dl{
		display: block;
		column-gap: 0;
	}
	.plan-guide .plan-support dl dt{
		margin-bottom: 1.5rem;
	}
	.plan-guide .plan-support dl dd{
		font-size: 0.875rem;
	}
}
/**
/*  掲載までの流れ CSS
----------------------------------------------- */
.flow-guide{
	padding: 5rem 0;
}
.flow-guide .box{
	padding: 5rem 2.5rem;
}
.flow-guide .bubble{
	margin-bottom: 3.375rem;
}
.flow-guide .bubble p{
	position: relative;
	display: inline-block;
	background: #A69670;
	color: #FFFFFF;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
	text-align: center;
	border-radius: 2.5rem;
	padding: 0.375rem 1.875rem 0.5rem 1.875rem;
}
.flow-guide .bubble p span{
	font-size: 1.25rem;
}
.flow-guide .bubble p:after {
	position: absolute;
	bottom: -0.9375rem;
	right: 50%;
	width: 0;
	height: 0;
	content: '';
	border-style: solid;
	border-right: 0.5625rem solid transparent;
	border-left: 0.5625rem solid transparent;
	border-top: 1rem solid #A69670;
	border-bottom: 0;
}
.flow-guide .flow-container{
	max-width: 810px;
    margin: 0 auto;
}
.flow-container .flow-list dl{
	display:flex;
	align-items: center;
	border-bottom: 1px dashed #004C85;
	padding: 1.875rem 0;
}
.flow-container .flow-list dl:first-child{
	border-top: 1px dashed #004C85;
}
.flow-container .flow-list dl dt{
	width: 20rem;
	display:flex;
	align-items: center;
}
.flow-container .flow-list dl dt .no{
	width: 4.6875rem;
	margin-right: 1.25rem;
}
.flow-container .flow-list dl dt .no span{
	background: #004C85;
	display: block;
	font-family: "Roboto", sans-serif;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	border-radius: 1.25rem;
	padding: 0.1875rem 0 0.09375rem 0;
}
.flow-container .flow-list dl dt .ttl{
	width: calc(100% - 5.9375rem);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
}
.flow-container .flow-list dl dd{
	width: calc(100% - 20rem);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.04em;
}
.flow-container .note{
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	margin-top: 2.5rem;
}
@media only screen and (max-width: 767px) {
	.flow-guide{
		padding: 3.5rem 0;
	}
	.flow-guide .guide-ttl{
		margin-bottom: 3rem;
	}
	.flow-guide .box{
		padding: 1.5rem 1rem;
	}
	.flow-container .flow-list dl{
		display: block;
		padding: 0.75rem 0;
	}
	.flow-container .flow-list dl dt{
		width: 100%;
		display: block;
		margin-bottom: 0.5rem;
	}
	.flow-container .flow-list dl dt .no{
		margin-right: 0;
		margin-bottom: 0.5rem;
	}
	.flow-container .flow-list dl dt .ttl{
		width: 100%;
	}
	.flow-container .flow-list dl dd{
		width: 100%;
	}
}
/**
/*  よくある質問 CSS
----------------------------------------------- */
.faq-guide{
	padding: 5rem 0;
}
.faq-guide .guide-ttl{
	margin-bottom: 2.625rem;
}
.faq-list .faq-items:not(:last-child){
	margin-bottom: 1.25rem;
}
.faq-list .faq-items .question{
	position: relative;
	background: #FFFFFF;
	cursor: pointer;
	border-radius: 0.25rem;
	padding: 1.5rem 2rem;
}
.faq-list .faq-items .question.open{
	background: #A69670;
	border-radius: 0.25rem 0.25rem 0 0;
}
.faq-list .faq-items .question::before{
	position: absolute;
	background: url(../img/okinawa/plus.png) no-repeat;
	background-size: cover;
	content: "";
	width: 1.25rem;
	height: 1.25rem;
	top: 0;
	bottom: 0;
	right: 2rem;
	vertical-align: middle;
	margin: auto;
}
.faq-list .faq-items .question.open::before{
	background: url(../img/okinawa/minus.png) no-repeat;
	background-size: cover;
}
.faq-guide .faq-list .faq-items .question dl{
	display:flex;
}
.faq-guide .faq-list .faq-items .question dt{
	width: 2rem;
	display:flex;
	flex-direction:column;
	justify-content:center;
	text-align: center;
}
.faq-guide .faq-list .faq-items .question dt span{
	color: #004C85;
	font-family: "Lato", sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
}
.faq-list .faq-items .question.open dt span{
	color: #FFFFFF;
}
.faq-guide .faq-list .faq-items .question dd{
	width: calc(100% - 2rem);
	display:flex;
	flex-direction:column;
	justify-content:center;
	color: #222222;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.04em;
	padding: 0 2.5rem 0 2.5rem;
}
.faq-list .faq-items .question.open dd{
	color: #FFFFFF;
}
.faq-guide .faq-list .faq-items .answer{
	background: #FFFFFF;
	display: none;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.85;
	letter-spacing: 0.04em;
	border-radius: 0 0 0.25rem 0.25rem;
	padding: 2.5rem;
}
@media only screen and (max-width: 767px) {
	.faq-guide{
		padding: 3.5rem 0;
	}
	.faq-list .faq-items:not(:last-child){
		margin-bottom: 1.5rem;
	}
	.faq-list .faq-items .question{
		padding: 1.5rem 1rem;
	}
	.faq-list .faq-items .question::before{
		width: 1.125rem;
		height: 1.125rem;
		right: 1rem;
	}
	.faq-guide .faq-list .faq-items .question dd{
		font-size: 1rem;
		padding: 0 2rem 0 0.875rem;
	}
	.faq-guide .faq-list .faq-items .answer{
		padding: 1.5rem 1rem;
	}
}
/**
/*  お問い合わせ CSS
----------------------------------------------- */
.contact-guide{
	padding: 5rem 0;
}
.contact-guide .guide-ttl{
	margin-bottom: 2.5rem;
}
.contact-guide .p-text{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.04em;
	margin-bottom: 2.5rem;
}
.contact-guide .form-grid{
	max-width: 600px;
	margin: 0 auto;
}
.form-box dl:not(:last-child){
	margin-bottom: 1.25rem;
}
.form-box dl dt,
.form-box dl dd{
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.04em;
}
.form-box dl dt{
	display: flex;
	align-items: center;
	margin-bottom: 0.625rem;
}
.form-box dl dt span{
	display: inline-block;
	color: #FFFFFF;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	border-radius: 0.125rem;
	padding: 0.125rem 0.25rem;
	margin-left: 0.25rem;
}
.form-box dl dt .required{
	background: #FF3B30;
}
.form-box dl dt .any{
	background: #C3C3C3;
}
input[type="date"],
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
textarea,
select{
	width: 100%;
	background: #FFFFFF;
	font-family: 'Noto Sans JP', sans-serif;
	color: #333333;
	font-size: 1rem;
	font-weight: 500;
	border-radius: 0.25rem;
	border: 1px solid #CCCCCC;
	padding: 0.625rem;
}
input[type="date"]::placeholder,
input[type="text"]::placeholder,
input[type="tel"]::placeholder,
input[type="email"]::placeholder,
input[type="url"]::placeholder,
textarea::placeholder{
	color: #C3C3C3;
}
input[type="date"]:-ms-input-placeholder,
input[type="text"]:-ms-input-placeholder,
input[type="tel"]:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder,
input[type="url"]:-ms-input-placeholder,
textarea:-ms-input-placeholder{
	color: #C3C3C3;
}
input[type="date"]::-ms-input-placeholder,
input[type="text"]::-ms-input-placeholder,
input[type="tel"]::-ms-input-placeholder,
input[type="email"]::-ms-input-placeholder,
input[type="url"]::-ms-input-placeholder,
textarea::-ms-input-placeholder{
	color: #C3C3C3;
}
.form-box textarea{
	height: 8.75rem;
}
.wpcf7-list-item {
	display: inline-block;
	line-height: 1.4;
	margin: 0 2rem 0 0;
}
.wpcf7-radio label{
	display: flex;
	align-items: center;
	column-gap: 0.25rem;
	width: fit-content;
	line-height: 1;
	cursor: pointer;
}
.wpcf7-radio input[type=radio]{
	appearance: none;
	position: relative;
	background-color: #FFFFFF;
	width: 1.25rem;
	height: 1.25rem;
	border: 1px solid #C3C3C3;
	border-radius: 9999px;
	cursor: pointer;
}
.wpcf7-radio input[type=radio]:checked{
	border: 1px solid #004C85;
}
.wpcf7-radio input[type=radio]:checked::after{
	content: "";
	position: absolute;
	inset: 0;
	width: 0.75rem;
	height: 0.75rem;
	margin: auto;
	border-radius: 9999px;
	background-color: #004C85;
}
.wpcf7-radio .wpcf7-list-item-label{
	font-weight: 500;
}
.form-grid .acceptance-text{
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.04em;
	margin-top: 1.25rem;
}
.form-grid .acceptance-text a{
	color: #0693FF;
	text-decoration: underline;
}
.form-grid .acceptance-text label{
	display: flex;
	align-items: center;
	column-gap: 0.625rem;
	width: fit-content;
	line-height: 1;
	cursor: pointer;
}
.form-grid .acceptance-text .wpcf7-list-item-label span{
	display: inline-block;
	background: #FF3B30;
	color: #FFFFFF;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	border-radius: 0.125rem;
	padding: 0.125rem 0.25rem;
	margin-left: 0.25rem;
}
.acceptance{
	appearance: none;
	position: relative;
	background: #FFFFFF;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 0.25rem;
	border: 1px solid #868686;
	cursor: pointer;
	margin: 0;
}
.acceptance:checked{
	background-color: #004C85;
	border: 1px solid #004C85;
}
.acceptance:checked::after{
	content: "";
	position: absolute;
	top: 0.3125rem;
	left: 0.2rem;
	width: 0.75rem;
	height: 0.375rem;
	border-bottom: 2px solid #ffffff;
	border-left: 2px solid #ffffff;
	transform: rotate(-45deg);
}
.acceptance .wpcf7-list-item{
	margin: 0;
}
.submit_btn{
	text-align: center;
	margin-top: 2.5rem;
}
.submit_btn input[type="submit"]{
	background: #222222;
	border: 0.125rem solid #222222;
	font-family: 'Noto Sans JP', sans-serif;
	width: 100%;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 700;
	line-height: 3.125;
	letter-spacing: 0.04em;
	border-radius: 3.125rem;
}
.wpcf7-spinner{
	display: none;
}
@media only screen and (max-width: 767px) {
	.contact-guide{
		padding: 3.5rem 0;
	}
	.contact-guide .guide-ttl{
		margin-bottom: 1.625rem;
	}
	.contact-guide .p-text{
		text-align: left;
		margin-bottom: 1.625rem;
	}
	.form-box dl:not(:last-child){
		margin-bottom: 0.75rem;
	}
	.form-box dl dt{
		margin-bottom: 0.25rem;
	}
	.form-box dl:first-child dt{
		margin-bottom: 0.625rem;
	}
	.form-box textarea{
		height: 8.375rem;
	}
	.form-grid .acceptance-text{
		margin-top: 0.75rem;
	}
	.form-grid .acceptance-text label{
		column-gap: 0.25rem;
	}
	.submit_btn{
		margin-top: 1.625rem;
	}
}
/**
/* 今スグ資料請求! CSS
----------------------------------------------- */
.app-guide{
	background: linear-gradient(93.75deg, #B69548 23.76%, #EBD9B0 36.22%, #DACC95 50.82%, #AF8B37 92.48%);
	padding: 5rem 0;
}
.app-guide .box{
	padding: 5rem 6.25rem;
}
.app-guide .box h2{
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 1.5rem;
}
.app-guide .block_btn{
	column-gap: 2.5rem;
}
.app-guide .block_btn li{
	width: calc(50% - 1.25rem);
	max-width: 100%;
}
.app-guide .block_btn .btn{
	position: relative;
	display: block;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-align: center;
	border-radius: 0.25rem;
	padding: 1.625rem;
}
.app-guide .block_btn .btn::before{
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	border-radius: 0.25rem;
}
.app-guide .block_btn .btn:hover::before{
	transform: scale(1, 1);
}
.app-guide .block_btn li .btn::after{
	content: none;
}
.app-guide .block_btn .btn span{
	position: relative;
	display: inline-block;
	padding-right: 0.625rem;
}
.app-guide .block_btn .btn span::before,
.app-guide .block_btn .btn span::after{
	position: absolute;
	content: "";
	top: 50%;
	transform: translateY(-50%);
}
.app-guide .block_btn .btn span::before{
	background: #FFFFFF;
	width: 1.375rem;
	height: 1.375rem;
	border-radius: 100%;
	right: -1.375rem;
}
.app-guide .block_btn .btn span::after{
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-size: 0.625rem;
	font-weight: 900;
	line-height: 1;
	right: -0.875rem;
}
.app-guide .block_btn .contact_btn .btn{
	background: linear-gradient(271.97deg, #BD1903 23.74%, #D74734 98.34%);
}
.app-guide .block_btn .contact_btn .btn::before{
	background: #BD1903;
}
.app-guide .block_btn .contact_btn .btn span::after{
	color: #BD1904;
}
.app-guide .block_btn .line_btn .btn{
	background: linear-gradient(90deg, #5DA02C 0%, #387A09 100%);
}
.app-guide .block_btn .line_btn .btn::before{
	background: #387A09;
}
.app-guide .block_btn .line_btn .btn span::after{
	color: #3E800F;
}
@media only screen and (max-width: 767px) {
	.app-guide{
		padding: 2.5rem 0;
	}
	.app-guide .box{
		padding: 1.5rem;
	}
	.app-guide .box h2{
		font-size: 1.25rem;
	}
	.app-guide .block_btn{
		column-gap: 0;
		row-gap: 1.5rem;
	}
	.app-guide .block_btn li{
		width: 100%;
	}
	.app-guide .block_btn .btn{
		padding: 1.25rem 0.75rem;
	}
	.app-guide .block_btn .btn span{
		display: block;
		padding-right: 1.375rem;
	}
	.app-guide .block_btn .btn span::before{
		right: 0;
	}
	.app-guide .block_btn .btn span::after{
		right: 0.45rem;
	}
}
/**
/* 完了ページ CSS
----------------------------------------------- */
.thanks-guide{
	padding-bottom: 6.25rem;
}
.thanks-guide .guide-ttl{
	margin-bottom: 1.25rem;
}
.thanks-guide .p-text{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.04em;
}
.thanks-guide .block_btn{
	margin-top: 1.25rem;
}
.thanks-guide .block_btn li .btn{
	background: #222222;
	color: #FFFFFF;
	border: 0.125rem solid #222222;
}
.thanks-guide .block_btn li .btn::before{
	background: #FFFFFF;
	right: 1.125rem;
}
.thanks-guide .block_btn li .btn::after{
	color: #222222;
	right: 1.5rem;
}
.thanks-guide .block_btn li .btn:hover{
	background: #FFFFFF;
	color: #222222;
}
.thanks-guide .block_btn li .btn:hover::before{
	background: #222222;
}
.thanks-guide .block_btn li .btn:hover::after{
	color: #FFFFFF;
}
.consultation-guide .p-text{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.04em;
}
.consultation-container{
	margin-top: 1.25rem;
}
.consultation-guide .block_btn{
	margin-top: 3.75rem;
}
@media only screen and (max-width: 767px) {
	.thanks-guide{
		padding-bottom: 4rem;
	}
	.thanks-guide .guide-ttl{
		margin-bottom: 2.5rem;
	}
	.thanks-guide .p-text{
		font-size: 0.9375rem;
		text-align: left;
	}
	.thanks-guide .block_btn{
		margin-top: 1.25rem;
	}
	.consultation-guide .p-text{
		font-size: 0.9375rem;
		text-align: left;
	}
	.consultation-container{
		margin-top: 1.25rem;
	}
	.consultation-guide .block_btn{
		margin-top: 1.75rem;
	}
}
/**
/* トップへ戻る CSS
----------------------------------------------- */
.btn_page_top {
	background: #ffffff;
	display: block;
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 20;
	width: 4rem;
	height: 4rem;
	color: #ffffff;
	border-radius: 100%;
	border: 0.125rem solid #004381;
	box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.16);
}
.btn_page_top:before {
	display: block;
	position: absolute;
	top: 1.75rem;
	left: 1.375rem;
	width: 0.875rem;
	height: 0.875rem;
	border-top: solid 3px #004381;
	border-left: solid 3px #004381;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	content: "";
}
@media only screen and (max-width: 767px) {
	.btn_page_top {
		right: 0.5rem;
		bottom: 5.5rem;
	}
	.btn_page_top:before {
		border-top: solid 2px #004381;
		border-left: solid 2px #004381;
	}
}
/**
/* フッター CSS
----------------------------------------------- */
.footer{
	background: #222222;
	padding: 1.5625rem 0;
}
.footer_logo{
	text-align: center;
	margin-bottom: 1.5rem;
}
.footer_logo img{
	width: 9.375rem;
}
@media only screen and (max-width: 767px) {
	.footer{
		padding: 1.5625rem 0 6.25rem 0;
	}
	.footer-bar .bar-contact a{
		background: linear-gradient(271.97deg, #BD1903 23.74%, #D74734 98.34%);
	}
	.footer-bar .bar-line a{
		background: linear-gradient(90deg, #5DA02C 0%, #387A09 100%);
	}
}