@charset "utf-8";
/* CSS Document */
.pagelinks_a {
    border-bottom: #DEDEDE 1px solid;
}
.pagelinks_a .tab-wrap {
    min-width: 250px;
	border: #DEDEDE 1px solid;
	border-radius: 5px 5px 0 0;
	padding: 4px 4px 0 4px;
	background-color: #fff;
	cursor: pointer;
}
.pagelinks_a .en{
    background-color: inherit;
    color: #333333;
    line-height: 1;
    padding: 15px 20px;
    display: block;
    text-align: center;
	transition: ease 0.3s;
	border-radius: 3px 3px 0 0;
}
.pagelinks_a .tab-wrap:hover .en,.pagelinks_a .tab-wrap.active .en{
    background-color: #9DD1BA;
}
.pagelinks_box{
	gap: 60px;
	padding-bottom: 30px;
	justify-content: flex-start;
	border-bottom: #A7DEF2 1px solid;
}

/* ---------- cate1 ---------- */
.cate1 .txtbox{
	position: relative;
	flex-direction: column;
	gap: 60px;
}
.cate1 .txtbox .bg-txt{
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: rgba(255, 255, 255, 0.5);
	font-size: clamp(80px, 10vw, 150px);
	z-index: 1;
	letter-spacing: 0.1em;
	white-space: nowrap;
    width: max-content;
    max-width: none;
}
.cate1 .txtbox .title{
	font-weight: 700;
	font-size: clamp(24px, 3vw, 34px);
	letter-spacing: 0.1em;
	z-index: 2;
}
.cate1 .txtbox .linehight-2{
	z-index: 2;
}

/* ---------- cate2 ---------- */
.cate2 .box_wrap{
	flex-direction: column;
	gap: 40px;
}
.cate2 .txtbox{
	position: relative;
}
.cate2 .txtbox .txtitem{
	position: absolute;
	top: -40px;
	left: -3%;
}
.cate2 .worry-box{
	background-color: #fff;
	border-radius: 10px;
	gap :20px 40px;
	padding: 60px 10%;
	align-items: stretch;
}
.cate2 .worry-box .worry-item{
	width: calc(50% - 20px);
	position: relative;
	justify-content: flex-start;
	padding: 10px; 
	background-image: repeating-linear-gradient(
        to right,
        #C4E8D9 0,
        #C4E8D9 2px,
        transparent 2px,
        transparent 6px
    );
    background-repeat: repeat-x;
    background-position: bottom left;
    background-size: 8px 2px;
	align-self: stretch;
}
.cate2 .titlebox {
    position: relative;
    align-items: center;                    
}
.cate2 .worry-box .worry-item {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 10px;
}
.cate2 .worry-box .worry-item img {
    width: 100%;
    max-width: 25px;
    flex: 0 0 10%;
	padding-top: 3px;
    margin-right: 10px;
    align-items: center;
}
.cate2 .worry-box .worry-item p {
    flex: 0 0 90%;   
    min-width: 0;
    word-break: break-word;
}
.cate2 .bottombox{
	gap: 10px;
}
.cate2 .bottombox > img{
	width: 14px;
}
.cate2 .bottombox .bottomitem{
	width: 100%;
    gap: 20px;
    align-items: center;
}
.cate2 .bottombox .bottomitem img {
    flex: 1;
    width: auto;
    min-width: 0;
}
.cate2 .bottombox .bottomitem p {
    flex-shrink: 0;
    text-align: center;
}
.cate2 .bottombox .bottomitem .default_title2 span{
	color: #9DD1BA;
}
/* ---------- cate3 ---------- */
.benefits_wrap{
	position: relative;
	flex-direction: column;
	gap: 60px;
	overflow: hidden;
}
.benefits_wrap::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 150vw;
    background-color: #D8EBE3;
    border-radius: 50% 50% 0 0;
    transform: translateX(-50%);
    z-index: 0;
}
.benefits_wrap .titlebox1,
.benefits_wrap .box_wrap {
    position: relative;
    z-index: 1;
}
.benefits_wrap .box_wrap{
	gap: 30px;
	align-items: stretch;
}
.benefits_wrap .box_wrap .boxitem{
	flex-direction: column;
	gap: 20px;
	background-color: #fff;
	border-radius: 10px;
	padding: 30px;
	width: calc((100% - 60px) / 3);
	height: auto;
    align-self: stretch;
}
.benefits_wrap .box_wrap .boxitem .icon {
    width: 70px;
}
.benefits_wrap .box_wrap .boxitem .icon img {
    width: 100%;
    height: auto;
    display: block;
}
.benefits_wrap .box_wrap .boxitem .box_line {
    width: 20px;
    height: 1px;
    background-color: #9DD1BA;
}
.benefits_wrap .box_wrap .boxitem .menuitem {
	width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px 10px;
}
.benefits_wrap .box_wrap .boxitem .menuitem .label {
    background-color: #D8EBE3;
    border-radius: 50px;
    padding: 4px 18px;
    font-size: 13px;
    line-height: 1.4;
}
/* ---------- cate4 ---------- */
.cate4 {
	flex-direction: column;
	gap: 60px;
}
.cate4 .box_wrap{
	gap: 30px;
}
.cate4 .box_wrap .boxitem{
	position: relative;
	gap: 10px;
	width: calc(50% - 15px);
}
.cate4 .box_wrap .boxitem::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    aspect-ratio: 1 / 1;
    background: url("https://hairmakesnipsnap.jp/system_panel/uploads/images/meteo-arrow2.svg") no-repeat center center / contain;
    transform: translate(-50%, -50%);
    z-index: 3;
    pointer-events: none;
}
.cate4 .box_wrap .boxitem .box{
	position: relative;
	width: calc(50% - 5px);
}
.cate4 .box_wrap .boxitem .box .txt{
	position: absolute;
	bottom:0;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.8);
	padding: 8px;
}
/* ---------- cate5 ---------- */
.cate5 {
	flex-direction: column;
	gap: 60px;
}
.cate5 .box_wrap {
    gap: 60px;
}
.cate5 .box_wrap .moviebox {
    width: min(400px, 40vw);
    aspect-ratio: 9 / 16;
    overflow: hidden;
}
.cate5 .box_wrap .moviebox video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
	.cate2 .worry-box {
		gap: 20px 40px;
		padding: 60px 6%;
	}
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
	.cate2 .worry-box .worry-item{
		width: 100%;
	}
	.cate2 .worry-box {
		gap: 15px;
		padding: 40px 20%;
	}
	.cate2 .titlebox::before,
	.cate2 .titlebox::after {
		width: 120px;
		height: 120px;
		top: 75%;
	}
	.cate2 .worry-box .worry-item img {
		max-width: 18px;
		padding-top: 7px;
		margin-right: 10px;
		align-items: center;
	}
	.benefits_wrap .box_wrap .boxitem{
		width: calc((100% - 30px) /2);
	}
	.cate4 .box_wrap {
		flex-direction: column;
		gap: 50px;
	}
	.cate4 .box_wrap .boxitem{
		width: 80%;
	}
	.cate5 .box_wrap {
		flex-direction: column;
		gap: 30px;
	}
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
	.cate2 .worry-box {
		gap: 20px 40px;
		padding: 60px 20px;
	}
	.cate2 .bottombox .bottomitem img {
		display: none;
	}
	.cate2 .txtbox .txtitem{
		position: absolute;
		top: -40px;
		left: 0%;
	}
	.cate2 .box_wrap {
		width: 100%;
	}
	.benefits_wrap .box_wrap {
		gap: 20px;
	}
	.benefits_wrap .box_wrap .boxitem {
		padding: 30px　20px;
	}
	.benefits_wrap::before {
		width: 200vw;
	}
	.cate5 .box_wrap .moviebox {
		width: min(400px, 60vw);
	}
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.cate1 .txtbox {
		gap: 40px;
	}
    .cate2 .worry-box {
        gap: 10px;
        padding: 30px 20px;
    }
    .cate2 .worry-box .worry-item {
        align-items: flex-start;
    }
    .cate2 .worry-box .worry-item img {
        max-width: 15px;
		padding-top: 5px;
        margin-right: 8px;
		align-items: center;
    }
    .cate2 .worry-box .worry-item p {
        flex: 1;
        min-width: 0;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }
    .cate2 .bottombox,
    .cate2 .bottombox .bottomitem {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .cate2 .bottombox .bottomitem {
        justify-content: center;
    }

    .cate2 .bottombox .bottomitem p {
        flex: 1;
        min-width: 0;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
        text-align: left;
    }
	.benefits_wrap .box_wrap .boxitem{
		width: 90%;
	}
	.benefits_wrap {
		gap: 40px;
	}
	.benefits_wrap .box_wrap .boxitem .icon {
		width: 50px;
	}
	.benefits_wrap::before {
		width: 250vw;
	}
	.cate4 .box_wrap .boxitem{
		width: 100%;
	}
	.cate4 .box_wrap .boxitem::after {
		width: 20px;
	}
	.cate4 .box_wrap .boxitem .box .txt {
		padding: 3px;
	}
	.cate4 {
		gap: 40px;
	}
	.cate5 {
		gap: 40px;
	}
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

