@charset "UTF-8";
/* CSS Document */


body {
    font-family: 'Noto Sans JP', sans-serif;
}

.gradient-bg {
    background: linear-gradient(135deg, #f5e6d3 0%, #e8d5c4 100%);
	background-image: url("../img/bg.webp");
	background-size: cover;
    position: relative;
}

.gradient-bg_2 {
    background-color: #fff3d9;
}

.gradient-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 138, 101, 0.1);
    z-index: 1;
}

.gradient-bg > * {
    position: relative;
    z-index: 2;
}

.warm-orange {
    background-color: #ff8a65;
}

.warm-pink {
    background-color: #ffab91;
}

.section-divider {
    border-bottom: 3px solid #ff8a65;
    width: 80px;
    margin: 0 auto;
}

.text-shadow {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.bg-overlay {
    background: rgba(0, 0, 0, 0.3);
}


.h1_ttl{
	line-height: 1.3;
    font-size: 48px;
}

.top{
	background-image: url("../img/top.webp");
	min-height: 800px;
}

.orange_obi{
	background: #F47900;
	background: linear-gradient(310deg,rgba(244, 121, 0, 1) 50%, rgba(249, 157, 16, 1) 100%);
    width: 600px;
    margin: auto;
    font-size: 24px;
    padding: 10px 0 13px 0px;
    border-radius: 30px;
	margin-bottom: 20px;
}

.top_txt{
    width: 1200px;
	margin: auto;
	overflow: hidden;
	max-width: none !important; 
	padding: 0;
	position: relative;
}

.top_txt_inner{
	width: 700px;
	float: left;
}

.btn_sp{
	display: none;
}

.bg-white {
    background-color: #FFF;
}

.point_wrap {
    padding: 0 20px;
}

.section-divider {
    border-bottom: 3px solid #ac9157;
    width: 80px;
    margin: 30px auto 30px;
}

.pc_none{
	display: none;
}

button{
	width: 300px;
	justify-content: center;
	background-color: #06C755 !important;
}

.line_color{
	color: #06C755;
}

.logo{
	width: 400px;
	margin: auto;
	margin-bottom: 50px;
}

.text-red-500, .text-blue-500, .text-yellow-500, .text-purple-500, .text-pink-500, .text-green-500 {
    color: #f47900;
}

.bg-blue-500, .bg-pink-500, .bg-green-500 {
    background-color: #f47900;
}

.from-blue-100, .from-pink-100, .from-green-100 {
    --tw-gradient-from: #ffd8b1;
}

.border-blue-200, .border-pink-200, .border-green-200 {
    --tw-border-opacity: 1;
    border-color: #f47900;
}

.from-yellow-50, .from-pink-50, .border-green-500, .from-blue-50  {
	background-color: #fffbeb;
	--tw-gradient-from: #fffbeb;
}

.border-pink-500, .border-yellow-500, .border-green-500, .border-blue-500 {
    border-color: #f47900;
}

.to-pink-50, .to-green-50{
    --tw-gradient-to: #FFFFFF;
}


@media (max-width: 1100px) {
.top {
    background-image: url(../img/top_sp.webp);
    min-height: 100vw;
}
	
.top_txt {
    width: 90%;
	margin-top: 5%;
	}
	
.top_txt_inner {
    width: 100%;;
    float: none;
}
	
.point_wrap {
    padding: 0;
	width: 650px;
}
	
.orange_obi {
	width: 570px;
	margin: auto;
	font-size: 22px;
	padding: 1vw 0 1.3vw 0px;
	margin-bottom: 2.5vw;
}
	
.md\:grid-cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
	
	
	
}


@media (max-width: 767px) {
    .orange_obi {
        width: 100%;
        margin: auto;
        font-size: 4.5vw;
		padding: 2vw 0 2.5vw 0px;
        margin-bottom: 2.5vw;
        line-height: 1.3;
		border-radius: 3vw
    }
	
.top {
        background-image: url(../img/top_sp_2.webp);
        padding: 0;
        background-position-y: top;
        background-size: cover;
        height: 100vh;
        background-repeat: no-repeat;
}
	
.top_txt {
	 margin-top: 0; 
	width: 100%;
}

	
.h1_ttl {
    line-height: 1.2;
    font-size: 8.8vw;
    margin-bottom: 1rem;
}
	
.text-lg {
        font-size: 4vw;
        line-height: 6vw;
	margin-bottom: 4vw;
}
	
.pc_none{
	display: block;
}
	
.point_wrap {
	padding: 0;
	width: 75%;
}
	
.gap-4 {
    gap: .8rem;
	margin-bottom: 1rem;
}	
	
button {
    width: 80%;
}
	
.btn_txt {
    font-size: 4vw;
}
	
	
.logo {
    width: 50vw;
    margin-bottom: 10vw;
}
	
.md\:grid-cols-4 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
		
	
.fa-brands, .fab {
    font-size: 5vw;
}
	
		
.top_txt::before {
  content: "";
  display: block;
  padding-top: 100vh; /* これで高さが確保される */
}
	
.top_txt_inner {
        display: none;
    }
	
.btn_sp{
	display: block;
	position: absolute;
	z-index: 9999;
	left: 50%;
	transform: translateX(-50%);
	bottom: 10px;
	background-color: #06C755;
}

	
}

@media (max-width: 500px) {
	

	
}