@charset "UTF-8";
/*!
 *  paradise2025
 */
 
@import url('https://fonts.googleapis.com/css2?family=Aclonica&family=Noto+Sans+JP:wght@100;400;700&display=swap');

body {
	font-family: 'Noto Sans JP', sans-serif;
    font-size: 12pt;
	background-color: #FFF9E1;
}

a:link {
    color: #666;
}
a:visited {
    color: #666;
}
a:hover {
    color: #fab42d;
}
a:active {
    color: #fab42d;
}

.btn {
	border-radius: 0.3rem;
	line-height: 1.2;
	padding: 0.5rem 1rem;
}
.btn-op {
	color: #fff !important;
	background-color: #00a1ff;
	border-color: #00a1ff;
}
.btn-op:hover {
	color: #00a1ff !important;
	background-color: #fff;
	border-color: #00a1ff;
	transition: 0.5s;
}
.btn-op2 {
	color: #fff !important;
	background-color: #FF4D54;
	border-color: #FF4D54;
}
.btn-op2:hover {
	color: #FF4D54 !important;
	background-color: #fff;
	border-color: #FF4D54;
	transition: 0.5s;
}
.navbar-toggler:focus {
	text-decoration: none;
	outline: 0;
	box-shadow: none !important;
}
.text-center {
	color: #404040;
	text-align: center;
	padding: 0.5rem 0;
}

@media (min-width: 991.98px){
	.spbr{
	display: none;
	}
}
@media (max-width: 767.98px){
	.pcbr{
	display: none;
	}
}
@media (max-width: 375px) {
	p {
	font-size: 0.875rem;
	}
}

main h1 {
	margin: 2.0rem 0 3.5rem 0;
	text-align: center;
	font-size: 2.0rem;
	font-weight: bold;
	color: #404040;
}
@media (max-width: 575.98px) {
	main h1 {
	margin: 1.5rem 0 3.0rem 0;
	font-size: 1.5rem;
	}
}

main h2 {
	margin: 0 0 2.5rem 0;
	text-align: center;
	font-size: 1.75rem;
	font-weight: bold;
	color: #404040;
}
@media (max-width: 575.98px) {
	main h2 {
	font-size: 1.5rem;
	}
}
main h3 {
	margin: 1.875rem 0 0.625rem 0;
	text-align: left;
	font-weight: bold;
	font-size: 1.5rem;
	line-height: 1.5;
	color: #404040;
}
main h4 {
	margin: 1.25rem 0 0.315rem 0;
	text-align: left;
	font-weight: bold;
	font-size: 1.25rem;
	color: #404040;
}
main h5 {
	margin: 1.0rem 0 0.315rem 0;
	text-align: left;
	font-weight: bold;
	font-size: 1.0rem;
	color: #404040;
}

@media (max-width: 1399.98px) {
}
@media (max-width: 1199.98px) {
}
@media (max-width: 991.98px) {
}
@media (max-width: 767.98px) {
}
@media (max-width: 575.98px) {
}


/**
 *  メインビジュアル
 */


#mainvisualtop{
	padding: 0;
	max-width: 100%;
	background-size: cover;
	background-position: center;
	position: relative;
    background-color: #fff;
}
#mainvisualtop h1{
    margin: 0;
	padding: 2.5rem 1.0rem;
	text-align: center;
	font-size: 2.0rem;
	font-weight: bold;
	color: #404040;
}
#mainvisualtop h2{
	margin: 0;
	text-align: center;
	font-size: 1.25rem;
	font-weight: bold;
	color: #404040;
}
@media (max-width: 991.98px) {
#mainvisualtop h2{
	font-size: 1.125rem;
    }
}

#mainvisualtop img{
	width: 100%;
    padding: 1.5rem 0 0;
}
@media (min-width: 992px) {
    #mainvisualtop img{
        height: 400px;
        padding: 2.0rem 1.0rem !important;
    }
}


main section {
	margin: 0;
	padding: 80px 0;
}

section#lead {
	background-color: #FDF1DC;
	background-image: url(../img/bgov-1.png);
	background-size: cover;
}
	section#lead p{
		font-size: 1.125rem;
		line-height: 1.75;
        text-align: center;
	}
@media (max-width: 991.98px) {
	section#lead p{
		font-size: 1.075rem;
		line-height: 1.5;
        text-align: center;
	}
}
	section#lead h2{
        margin: 0 0 1.5rem 0 !important;
	}
	section#lead img{
		max-width: 24.0rem;
    	padding: 0 0 1.0rem;
	}
@media (max-width: 991.98px) {
	section#lead img{
		max-width: 18.0rem;
    	padding: 0 0 1.0rem;
	}
}

.col-xl-15 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}
@media (min-width: 1200px) {
    .col-xl-15 {
        width: 33%;
        flex: 0 0 20%;
    }
}

section#recommended{
	background-color: #fab42d;
	color: #404040;
}

section#recommended .circle {
    position: relative;
    display: inline-block;
    width: 17.5rem;
    height: 17.5rem;
    border-radius: 50%;
    background-color: #fff;
    margin: 0.5rem;
}

section#recommended h4 {
  position: absolute;
  display: inline-block;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-70%);
  transform: translateY(-70%);
  width :17.5rem;
  text-align:center;
  font-size: 1.5rem;
  font-weight: bold;
  padding: 0 1rem;
}

@media (max-width: 575.98px) {
section#recommended .circle {
    width: 14.0rem;
    height: 14.0rem;
}

section#recommended h4 {
  width :14.0rem;
  text-align:center;
  font-size: 1.25rem;
}
}

section#recommended h4.circle1 {
  color: #6d74bd;
}
section#recommended h4.circle2 {
  color: #3fada8;
}
section#recommended h4.circle3 {
  color: #f37596;
}

section#recommended .circle p {
  position: absolute;
  display: inline-block;
  left: 0;
  top: 70%;
  -webkit-transform: translateY(-70%);
  transform: translateY(-70%);
  width :17.5rem;
  text-align:center;
  font-size: 1.0rem;
  font-weight: bold;
  color: #000;
  padding: 0 1rem;
}


section#merit {
	background-color: #fff;
	color: #404040;
}

section#lineup {
	background-color: #fff;
	color: #404040;
}

section#flow {
	background-color: #FDF1DC;
	color: #404040;
}
section#flow h3 {
	margin: 0;
	text-align: left;
	font-weight: bold;
	font-size: 1.25rem;
	line-height: 1.5;
	color: #404040;
}
section#flow h3.flow-sub-title {
    font-size: 110%;
    font-weight: 700;
    line-height: normal;
}
@media (min-width: 992px) {
    section#flow h3.flow-sub-title {
        font-size: 110%;
    }
}

.flow-contents {
    max-width: 1200px;
    margin: 0 auto;
}

.flow-container {
    display: flex;
    flex-direction: column;
    max-width: 480px;
    margin: 0 auto;
    counter-reset: number 0;
}
@media (min-width: 1200px) {
    .flow-container {
        flex-direction: row;
        justify-content: center;
        gap: 0 40px;
        max-width: 100%;
    }
}
@media (min-width: 1200px) {
    .flow-container.vertical {
        flex-direction: column;
        /*gap: 40px 0;*/
        max-width: 928px;
    }
}

.flow-container .flow-item {
    display: flex;
    position: relative;
    flex-direction: column;
    border: thin solid #22a6b5;
    text-align: center;
}
@media (min-width: 1200px) {
    .flow-container .flow-item {
        flex: 1 1;
        flex-direction: column;
        min-width: 200px;
        border: none;
        border-radius: inherit;
    }
}
@media (min-width: 1200px) {
    .flow-container.vertical .flow-item {
        flex-direction: row;
        border: thin solid #22a6b5;
    }
}
@media (min-width: 1200px) {
    .flow-container.vertical .flow-item .flow-image {
        display: flex;
        margin-bottom: 0;
        border-radius: 3px 0 0 3px;
    }
}
.flow-container .flow-item .flow-image {
    position: relative;
    background-color: #ECF7F8;
}
.flow-container .flow-item .flow-image::before {
    content: "STEP" counter(number) "";
    display: flex;
    position: absolute;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 6.0rem;
    height: 32px;
    background-color: #22a6b5;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    counter-increment: number 1;
}
@media (min-width: 1200px) {
    .flow-container .flow-item .flow-image::before {
        width: 8.0rem;
    }
}
@media (min-width: 1200px) {
    .flow-container.vertical .flow-item .flow-image::before {
    }
}

.flow-container img {
    width: 8.0rem;
    height: auto;
    padding: 3.0rem 2.0rem 1.0rem;
    border: 0 solid  rgba(0, 0, 0, 0);
    vertical-align: middle;
}
@media (max-width: 1199.98px) {
.flow-container img {
    width: 7.5rem;
    padding: 0.75rem 2.0rem;
}
}

.flow-container .flow-item .flow-text-container {
    display: flex;
    flex: 1 1;
    flex-direction: column;
    padding: 16px;
    background: #fff;
}
@media (min-width: 1200px) {
    .flow-container .flow-item .flow-text-container {
        padding: 0;
    }
}
@media (min-width: 1200px) {
    .flow-container.vertical .flow-item .flow-text-container {
        justify-content: center;
        padding: 24px;
        text-align: left;
    }
}



.flow-container .flow-item .flow-text-container .flow-text {
    margin-top: 8px;
    text-align: left;
}

.flow-container .flow-item {
    display: flex;
    position: relative;
    flex-direction: column;
    border: 1px solid #22a6b5;
    text-align: center;
}
@media (min-width: 1240px) {
    .flow-container .flow-item {
        flex: 1 1;
        flex-direction: column;
        min-width: 200px;
        border: none;
        border-radius: inherit;
    }
}
@media (min-width: 1240px) {
    .flow-container.vertical .flow-item+.flow-item::before {
        top: -32px;
        left: calc(50% - 12px);
        background-image: url(../img/arrow-down.svg);
    }
}
@media (min-width: 1240px) {
    .flow-container .flow-item+.flow-item::before {
        top: calc(50% - 12px);
        left: -32px;
        background-image: url(/packs/dist/cf6501e….svg);
    }
}
.flow-container .flow-item+.flow-item::before {
    content: "";
    display: block;
    position: absolute;
    top: -32px;
    left: calc(50% - 12px);
    width: 24px;
    height: 24px;
    background-image: url(/packs/dist/d14ab14….svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

*, *::before, *::after {
    box-sizing: border-box;
}

.flow-container ul, ol {
    list-style: none;
}


.flow-container .flow-item+.flow-item {
    margin-top: 40px;
}
.flow-container .flow-item+.flow-item::before {
    content: "";
    display: block;
    position: absolute;
    top: -32px;
    left: calc(50% - 12px);
    width: 24px;
    height: 24px;
    background-image: url(../img/arrow-down.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}


section#voice {
	background-color: #fff;
	color: #404040;
}

section#voice .p_lead {
    padding: 1.0rem 0 2.0rem;
    text-align: center;
}
section#voice span.s_text {
    color: #000;
    font-size: 0.85rem;
    padding: 0.25rem 0 0;
}

.balloon{
  display: flex;
  margin: 0 0 1.5em 0;
}
.balloonR{
  flex-direction: row-reverse;
}
/* アイコンの作成 */
.balloon figure img {
	/*border-radius: 50%;*/ /*丸の設定*/
	/*border: 2px solid #333300;*/ /*アイコンの枠のカラーと太さはここで変更*/
	margin: 0;
}
/* アイコンの大きさ */
.icon-img {
	width: 6.0rem;
	height: 6.0rem;
}
/* アイコンの名前の設定 */
.icon-name {
	width: 6.0rem; /* アイコンの大きさと合わせる */
	font-size: 1.0rem;
	text-align: center;
}

.balloon-text{
  padding: 1em;
  border-radius: 6px;
  position: relative;
  display: flex;
}
.balloon-text-inner{
	margin: auto;
}
@media screen and (min-width: 768px) {
.balloon-text-inner{
	padding: 0.75rem;
}
}
.balloon-text::before,.balloon-text::after{
  content: '';
  position: absolute;
  top: 19px;
  font-size: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
.balloonL .balloon-text{
  margin: 1rem 0 0 2rem;
  background: #FEF8ED;
    filter:drop-shadow(1px 2px 4px rgb(0 0 0 / .1));
}
.balloonR .balloon-text{
  margin: 1rem 2rem 0 0;
  background: #FEF8ED;
    filter:drop-shadow(-2px 2px 4px rgb(0 0 0 / .1));
}

@media screen and (min-width: 768px) {
.balloonL .balloon-text{
  margin: 1rem 4rem 0 2rem;
}
.balloonR .balloon-text{
  margin: 1rem 2rem 0 4rem;
}
}
@media screen and (min-width: 992px) {
.balloonL .balloon-text{
  margin: 1rem 10rem 0 2rem;
}
.balloonR .balloon-text{
  margin: 1rem 2rem 0 10rem;
}
}

.balloonL .balloon-text::before{
  left: -1rem;
  border-right: 1rem solid #FEF8ED;
}
.balloonR .balloon-text::before{
  right: -1rem;
  border-left: 1rem solid #FEF8ED;
}


section#faq {
	background-color: #FDF1DC;
	color: #404040;
}



/* card */
.card {
	border-color: rgba(0,0,0,0.1);
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.card-body {
	padding: 0 1.5rem 1.5rem;
}
@media (max-width: 575.98px) {
.card-body {
	padding: 0 1rem 1rem;
}
}
.card-title {
	color: #404040;
	text-align: center;
	font-size: 1.0rem;
	font-weight: bold;
	padding: 0 0 0.8rem 0;
	margin: 0 0 0.8rem 0;
	border-bottom: dashed 2px #00a1ff;
}
.card-title-only {
	color: #404040;
	text-align: center;
	font-size: 1.0rem;
	font-weight: bold;
	padding: 0 0 0.8rem 0;
	margin: 0 0 0.8rem 0;
}
.card-title-top {
	color: #404040;
	text-align: center;
	font-size: 1.25rem;
	font-weight: bold;
	padding: 1rem 0;
	margin: 0;
}
.card-text {
	color: #404040;
}
.card-title-top-merit {
    color: #fff;
    text-align: center;
    font-size: 110%;
    font-weight: bold;
    padding: 1rem 0;
    margin: 0;
	background: #22a6b5;
}
.card-img {
	padding: 1.0rem;
}

/* bi */
.bi:before {
	font-weight: 700 !important; 
}
section#scene .bi-check-circle-fill {
	font-size: 1.5rem;
	color: #dc3545;
	display: inline-flex;
	vertical-align: middle;
	margin: 0 0.25rem 0.25rem 0; 
}

/* r-panel */
.r-panel {
	padding: 40px 25px 40px 25px;
	background: rgba(255,255,255,0.9);
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
	border-radius: 10px;
}
@media (max-width: 575.98px) {
.r-panel {
	padding: 25px 15px 25px 15px;
	background: rgba(255,255,255,0.9);
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
	border-radius: 10px;
}
}
.bc-w {
	background-color: #fff;
}
.bc-w50 {
	background-color: rgba(255,255,255,0.5);
}

.faq-q {
	background-image: url('../img/faq-q.png');
	background-repeat: no-repeat;
	background-size: 40px;
	background-position: left center;
	padding: 0 0 0 55px;
	font-weight: bold;
	font-size: 100%;
	min-height: 50px;
}
.faq-a {
	background-image: url('../img/faq-a.png');
	background-repeat: no-repeat;
	background-size: 40px;
	background-position: left top;
	padding: 0 0 0 55px;
	font-weight: normal;
	font-size: 80%;
	min-height: 50px;
}


/* プランアイコン */
.plan-icon {
	background: #f0f0f0;
	padding: 15px;
	margin-bottom: 10px;
}


/* ご利用の流れ */
.flow .card {
	position: relative;
}
	.flow .card > img {
		border: solid 12px #fff;
	}
.flow .step {
	position: absolute;
	top: 5px;
	left: 20px;
	background: #ff4d54;
	color: #fff;
	text-align: center;
	width: 100px;
	height: 100px;
	font-family: 'Aclonica', sans-serif;
	font-size: 1.0rem;
	line-height: 1;
	border-radius: 50%;
	border: solid 8px #fff;
	padding: 20px 0 0 0;
}
.flow .step strong {
	font-size: 2.0rem;
	line-height: 1;
}
.flow .card-text {
	font-weight: bold;
}
.flow .arrow {
	position: absolute;
	right: -22px;
	top: 40%;
	width: 10%;
}
.flow .arrow img {
	filter: drop-shadow(0 3px 3px #fff);
}
	@media (max-width: 991.98px) {
	.flow .step {
		position: absolute;
		top: 5px;
		left: 20px;
		background: #dc3545;
		color: #fff;
		text-align: center;
		width: 75px;
		height: 75px;
		font-family: 'Aclonica', sans-serif;
		font-size: 1.0rem;
		line-height: 1;
		border-radius: 50%;
		border: solid 8px #fff;
		padding: 15px 0 0 0;
	}
	.flow .step strong {
		font-size: 1.25rem;
		line-height: 1;
	}
	.flow .card-text {
		font-weight: bold;
	}
	.flow .arrow {
		position: absolute;
		right: -22px;
		top: 40%;
		width: 10%;
	}
	.flow .arrow img {
		filter: drop-shadow(0 3px 3px #fff);
	}
	}



.contactbtn {
	padding: 1.0rem 0 1.0rem 0;
    margin-bottom: 1.0rem;
}

.contactbtn a {
    display: block;
    max-width: 18.0rem;
    margin: 0 auto;
    padding:  0.5rem 0.25rem;
    background: #e86345;
    color: #ffffff;
    text-align: center;
    border: 0.125rem solid #ffffff;
    border-radius: 50px;
    transition-duration: 0.5s;
    position: relative;
    font-size: 1.125rem;
    font-weight: bold;
}
.contactbtn a:hover {
    background: #ffffff;
    color: #e86345;
    border: 0.125rem solid #e86345;
}

@media screen and (min-width: 768px) {
    .contactbtn {
    display: flex;
    justify-content: center;
    }
}
@media screen and (min-width: 768px) {
    .contactbtn a {
    width: 15.0rem;
    margin: 0 1.0rem;
}
.contactbtn a:last-child {
    margin: 0 1.0rem;
    }
}
.contactbtn i {
    margin-left: 1.0rem;
    font-size: 1.125rem;
}

.contactbtn a span {
    background: #FFFF;
    max-width: 10.0rem;
    padding:  0 0.5rem;
    right: 0;
    left: 0;
    margin: 0 auto;
    text-align: center;
    position: absolute;
    top: -15px;
    font-size: 0.75rem;
    color: #2b7fde;
    border-radius: 50px;
	border: 0.125rem solid #e86345;
}
.contactbtn a span:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -5px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: #fff transparent transparent transparent;
	border-width: 5px 5px 0 5px;
}

.contactbtn a:hover > span {
	background: #e86345;
	color: #fff;
	border: 0.01rem solid #e86345;
}
.contactbtn a:hover > span:after {
	border-color: #e86345 transparent transparent transparent;
}



/* 共通部分オーバーライド */
.contact_section {
	background: #fab42d !important;
}
.h2_title{
	margin-bottom: 0rem !important;
}
.h2_title h2.color2 {
	background: #ffffff;
	color: #404040;
}
.contact_inner{
    border: none !important;
}
.contact_section .contact_container .contact_inner .tel i {
	color: #fab42d;
}
.h2_title h2.company{
	margin-bottom: 2.0rem !important;
	background: #fab42d;
	color: #fff;
}
.pagetop_section a {
	background: #404040;
	border: 0.0625rem solid #404040;
	color: #fff;
}


/**
 *  レスポンシブ調整用
 */
@media (max-width: 1399.98px) {
}
@media (max-width: 1199.98px) {
}
@media (max-width: 991.98px) {
}
@media (max-width: 767.98px) {
section#lead a.top-navi {
	padding: 1.75rem 0.25rem;
	}
.contact_section .h2_title h2 {
	font-size: 1.125rem; 
	} 
.company_section .h2_title h2 {
	font-size: 1.125rem; 
	} 
}

@media (max-width: 575.98px) {
.contact_section .h2_title h2 {
	font-size: 1.25rem;
	border-radius: 2.5rem;
}
.company_section .h2_title h2 {
	font-size: 1.25rem;
	border-radius: 2.5rem;
	} 
}
@media screen and (min-width: 992px){
  .spbr{
    display: none;
  }
}
@media screen and (max-width: 762px){
  .pcbr{
    display: none;
  }
}
