body {
margin: 0;
line-height: normal;
    width: 100%!important;
  	background-color: #eaeaea;
  	text-align: center;
    /*
  	position: relative;
  	overflow: hidden;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;*/
  	color: #fff;
  	font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0.05em;
}

.lp-pc{
        width: 1000px;
        margin: 0 auto!important;
    overflow: auto;
    }
.wrap {
    width: 100%;
}
.wrap-contents{
    position: relative;
  	overflow: hidden;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	isolation: isolate;
    padding: 80px 100px;
    }
.ttl-contents{padding: 0 100px;}

@media screen and (max-width:1000px) {
    .lp-pc{
        max-width: 1000px;
        width: 100%;
    }
    .wrap{
        max-width: 1000px;
        width: 100%;
    }
    .wrap-contents{
        padding: 6rem 3rem;
    }
    .ttl-contents{padding: 0  3rem;}
}

p{
    text-align: left;
    font-size: 18px;
    color: #111;
    line-height: 160%;
    font-family: 'Noto Sans JP';
    
}


@media screen and (max-width:500px) {
    .wrap-contents{padding: 4rem 1rem;}
    .ttl-contents{padding: 0 1rem;}
}


@media screen and (min-width:800px) {
.image-sp{display: none;}
.image-pc {display: block;}
}
@media (max-width: 800px) {
.image-sp {display: block;}
.image-pc {display: none;}
}


@media (min-width: 500px) {
.brsp {display: none;}
.brpc {display: block;}
}

@media (max-width: 500px) {
.brsp {display: block;}
.brpc {display: none;}
}

.fs10{font-size: 10%;}
.fs20{font-size: 20%;}
.fs30{font-size: 30%;}
.fs40{font-size: 40%;}
.fs50{font-size: 50%;}
.fs60{font-size: 60%;}
.fs70{font-size: 70%;}
.fs80{font-size: 80%;}
.fs90{font-size: 90%;}
.fs100{font-size: 100%;}
.fs110{font-size: 110%;}
.fs120{font-size: 120%;}

.fc-blue {color: #2c5bad;}

.marker-y { 
    background:linear-gradient(transparent 70%, #FFED79 70%);
    padding-bottom: .1em;
}

#trouble01 .marker-y { 
    background:linear-gradient(transparent 70%, #fff454 70%)!important;
    padding-bottom: .1em;
}

.bold{font-weight: bold;}
.bold300{font-weight: 300;}
.bold400{font-weight: 400;}
.bold500{font-weight: 500;}
.bold600{font-weight: 600;}
.bold700{font-weight: 700;}
.bold800{font-weight: 800;}
.bold900{font-weight: 900;}


/*****見出し共通*****/

.block-ttl {
position: relative;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 1.25rem;
text-align: center;
letter-spacing: 0.05em;
}
.block-ttl .sub-ttl {
font-size: 1.875rem;
font-family: Roboto;
font-weight: 500;
line-height: 1;
}

.block-ttl .ttl-line {
width: 86px;
height: 4px;
position: relative;
border-top: 6px solid #0f3b8a;
box-sizing: border-box;
border-radius: 10px;
}
.block-ttl h2{
position: relative;
font-size: 2.25rem;
line-height:1;
font-family: 'Noto Sans JP';
color: #111;
font-weight: 600;
padding-top: .2em;
}

@media (max-width:800px) {
    .block-ttl .sub-ttl {
    font-size: 1.6rem;
    }
    .block-ttl .ttl-line {
width: 50px;
            height: 4px;
    }
    .block-ttl h2{
    font-size: 1.9rem;
    }
}

/*****見出し01*****/

.block-ttl01 .sub-ttl {
color: #0f3b8a!important;
}

.block-ttl01 .ttl-line {
border-top: 4px solid #0f3b8a;
}
.block-ttl01 h2{
color: #111;
}

/*****見出し02*****/

.block-ttl02 .sub-ttl {
color: #FFE500!important;
}

.block-ttl02 .ttl-line {
border-top: 4px solid #FFE500;
}
.block-ttl02 h2{
color: #fff;
}


/************************************
** メインビューここから
************************************/
.main {
  	width: 100%;
  	position: relative;
  	overflow: hidden;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	background-size: cover;
  	background-repeat: no-repeat;
  	background-position: top;
  	text-align: left;
  	font-size: 18px;
  	color: #111;
  	font-family: 'Zen Maru Gothic';
  	isolation: isolate;
    background-image: url(img/main-bg-pc.jpg);
    background-size: cover;
    
}

.main-contents {
  	width: 100%;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	padding: 2.5rem;
  	box-sizing: border-box;
  	position: relative;
  	isolation: isolate;
}
.main-photo {
  	width: 317.5px;
  	height: 354.7px;
  	position: absolute;
  	margin: 0 !important;
    top: 12rem;
    right: 10%;
  	z-index: 0;
  	flex-shrink: 0;
}
.main-hukidashi {
  	position: absolute;
  	top: 0px;
  	left: 0px;
  	width: 205.5px;
  	height: 128.2px;
}
.frame-parent {
  	position: absolute;
  	top: 38.64px;
  	left: 19.07px;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	gap: 6px;
}
.wrapper {
  	border-bottom: 6px solid #ffec44;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	padding: 0px 0px 4px;
}
.main .div {
  	position: relative;
  	letter-spacing: 0.05em;
  	line-height: 100%;
  	font-weight: 500;
  	text-shadow: 0px 4px 10px rgba(255, 255, 255, 0.5);
}
.mask-group-icon {
  	position: absolute;
  	top: 136.7px;
  	left: 81.46px;
  	filter: drop-shadow(0px 4px 10px rgba(0, 0, 0, 0.1));
  	width: 140.3px;
  	height: 140.3px;
  	object-fit: cover;
}
.mask-group-icon2 {
  	position: absolute;
  	top: 213.65px;
  	left: 176.41px;
  	filter: drop-shadow(0px 4px 10px rgba(0, 0, 0, 0.1));
  	width: 141.1px;
  	height: 141.1px;
  	object-fit: cover;
}
.mainview-text {
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	gap: 2rem;
  	z-index: 1;
  	flex-shrink: 0;
  	font-size: 25px;
  	color: #fff;
  	font-family: Inter;
}

.main-text-catch {
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	gap: 2rem;
    animation: slideinLeft 1s;
}

.main-text-sub {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)), #1b929e;
    padding: 10px 16px 8px;
    font-size:1.563rem;
    letter-spacing: 0.05em;
  	line-height: 100%;
  	font-weight: 400;
  	text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
    color: #fff;
    display: inline-block;
}

@media screen and (max-width: 800px) {

}
.main-text-sub span:nth-of-type(2) {
    margin-top:0.5rem;

}
.main .main-text-main {
    position: relative;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	gap: 30px;
}

.main-text01 {
    letter-spacing: 0.02em;
  	color: #222;
    font-weight: 700;
  	font-size:2.063rem!important;
    line-height: 1;
    margin-top: .9rem;
}

.main-text01 span {
  	font-size: 2.875rem;
}

.main-text01 span:after {
    content: "・・・・・・";
    position: absolute;
    top: -1rem;
    left: .5rem;
    font-size: 2rem;
    letter-spacing: .8rem;
}
.div6 {
  	width: 267px;
  	height: 26px;
  	position: absolute;
  	margin: 0 !important;
  	top: -24px;
  	left: 7px;
  	letter-spacing: 0.84em;
  	line-height: 100%;
  	font-weight: 900;
  	display: inline-block;
  	z-index: 1;
  	flex-shrink: 0;
  	font-size: 1px;
}
.span2 {
  	font-size: 26px;
}
.main-text02 {
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	position: relative;
  	isolation: isolate;
  	gap: 30px;
  	font-size: 57px;
  	color: #1b929e;
}
.main-text02 img{
    max-width: 90%;
}

.main-text02-child {
  	width: 387px;
  	height: 14px;
  	position: absolute;
  	margin: 0 !important;
  	top: 111px;
  	left: 387px;
  	background: linear-gradient(-77.62deg, #eebb4d, #f5d274 29.81%, rgba(255, 232, 158, 0.5) 79.33%, rgba(255, 244, 169, 0.3));
  	transform:  rotate(-180deg);
  	transform-origin: 0 0;
  	z-index: 0;
  	flex-shrink: 0;
}
.main-text02-item {
  	width: 541px;
  	height: 14px;
  	position: absolute;
  	margin: 0 !important;
  	top: 218px;
  	left: 541px;
  	background: linear-gradient(-77.62deg, #eebb4d, #f5d274 29.81%, rgba(255, 232, 158, 0.5) 79.33%, rgba(255, 244, 169, 0.3));
  	transform:  rotate(-180deg);
  	transform-origin: 0 0;
  	z-index: 1;
  	flex-shrink: 0;
}
.group {
  	display: flex;
  	align-items: flex-start;
  	position: relative;
  	isolation: isolate;
  	z-index: 2;
  	flex-shrink: 0;
}
.div7 {
  	height: 57px;
  	width: 57px;
  	position: absolute;
  	margin: 0 !important;
  	top: -1px;
  	left: -34px;
  	line-height: 100%;
  	font-weight: 900;
  	display: inline-block;
  	z-index: 0;
  	flex-shrink: 0;
}
.div8 {
  	position: relative;
  	font-size: 102px;
  	line-height: 100%;
  	font-weight: 900;
  	background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.1)), #1b929e;
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
  	z-index: 1;
  	flex-shrink: 0;
}
.span3 {
  	letter-spacing: 0.1em;
}
.span4 {
  	letter-spacing: 0.05em;
}
.div9 {
  	height: 57px;
  	width: 57px;
  	position: absolute;
  	margin: 0 !important;
  	top: 103.89px;
  	left: 309px;
  	line-height: 100%;
  	font-weight: 900;
  	display: inline-block;
  	transform:  rotate(-180deg);
  	transform-origin: 0 0;
  	z-index: 2;
  	flex-shrink: 0;
}
.div10 {
  	height: 75px;
  	width: 75px;
  	position: absolute;
  	margin: 0 !important;
  	top: 27px;
  	left: 297px;
  	font-size: 75px;
  	line-height: 100%;
  	font-weight: 900;
  	background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.1)), #1b929e;
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
  	display: inline-block;
  	z-index: 3;
  	flex-shrink: 0;
}
.div11 {
  	position: relative;
  	line-height: 100%;
  	font-weight: 900;
  	background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.1)), #1b929e;
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
  	z-index: 3;
  	flex-shrink: 0;
  	font-size: 78px;
}
.node {
  	white-space: pre-wrap;
}
.span5 {
  	letter-spacing: 0.03em;
}
.span6 {
  	font-size: 68px;
}
.main-logo {
    width: 260px;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	margin: 1.5rem 0rem 0rem 1.25rem;
  	gap: 0.875rem;
  	font-size: 18px;
  	font-family: YuGothic;
}
.main-logo-text {
  	background: #8D8D8D;
  	padding: 6px;
    color: #fff;
    text-align: center;
    width: 100%;
    padding: 0.375rem;
    line-height:1;
}
.main-logo-text span {
  	letter-spacing: 0.05em;
  	line-height: 100%;
  	text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.5);
    font-weight: 400!important;
}
.main-logo img {
    width: 100%;
  	position: relative;
  	max-height: 100%;
  	object-fit: cover;
}
.mainview-keni {
  	display: flex;
  	align-items: flex-end;
  	isolation: isolate;
    gap: 10px;
}

.mainview-keni img {
  	max-height: 10rem;
}

.kein-small {
  	font-size: 0.938rem;
  	font-weight: 500;
  	color: #482e00;
  	font-family: 'Zen Maru Gothic';
    margin: 0 0 .2rem -1rem;
}

.main-product-img {
    width: 30%;
    position: absolute;
    top: 2rem;
    right: 5%;
  	max-height: 100%;
  	object-fit: cover;
  	z-index: 3;
  	flex-shrink: 0;
    animation: popup 1s;
}

@media (max-width:800px) {
    .main{
        background-image: url(img/main-bg-sp.jpg);
        background-position: bottom;
    }
    .main-contents{
        padding: 2.5rem 1.875rem;
    }
    .main-text-sub {
    background: none;
    padding: 0;
    }
.main-text-sub span {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)), #1b929e;
    display: table;
    padding: 10px 16px 8px;

}
    .main-text01{
        font-size: 2rem!important;
    }
    .main-text01 span {
        font-size: 2.5rem!important;
}
    .main-text01 span:after {
    left: .2rem;
    letter-spacing: .5rem;
}
    
.main-logo {
    max-width:55%;
    margin: 0.3rem 0rem 0rem .5rem
    }
.mainview-keni {
    gap:.4rem;
}
.mainview-keni img {
    max-height: 8rem;
}
.kein-small {
    font-size: 0.8rem;
    }
    .main-photo{
        display: none;
    }
}
@media (max-width: 500px) {
    .main-product-img {
        width: 22%;
        top: 1rem;
        right: 2%;
}
    .main-contents {
        padding: 1.5rem 1rem;
    }
.main-text-catch {
  	gap: 1.5rem;
}
    .main .main-text-main {
    gap: 20px;
}
    .mainview-text {
    gap: 1.8rem;
    }
    .main-text-sub {
    font-size: 1.15rem;
    }
    .main-text-sub span {
    padding: 6px 10px;
    }
    .main-text-sub span:nth-of-type(2) {
    margin-top: 0.3rem;
}
    .main-text01 {
        font-size: 1.5rem !important;
    }
    .main-text01 span {
        font-size: 2rem !important;
    }
    .main-text01 span:after {
        top: -.5rem;
        letter-spacing: .6rem;
        font-size: 1.4rem;
    }
    .main-logo {
    width: 50%;
        margin: 0.5rem 0rem 0rem .2rem;
        gap: 0.5rem;
        font-size: 18px;
    }
    .main-logo-text {
    font-size: .9rem;
}
    .mainview-keni {
    margin-top: -.5rem;
    }
    .mainview-keni img {
    max-height: 6rem;
    }
    .kein-small {
        font-size: 0.6rem;
        margin: 0 0 .2rem 0rem;
    }
}

/************************************
** メインビューここまで
************************************/

/************************************
** CTAここから
************************************/

.cta {
    background-image: url(img/cta-bg.jpg);
  	background-size: cover;
  	background-repeat: no-repeat;
  	background-position: top;
  	font-family: 'Hiragino Sans';
    line-height: 100%;
}

.cta .wrap-contents{
    padding-top:3.125rem;
    padding-bottom:3.125rem;
}


.cta-ttl {
    width: 100%;
  	border-radius: 20px 20px 0px 0px;
  	background-color: #0f3b8a;
  	overflow: hidden;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	padding: 1.5rem 3.75rem;
  	box-sizing: border-box;
}
.cta-ttl h2 {
  	display: flex;
  	align-items: center;
    font-size: 2rem;
  	gap: 1.25rem;
}
.cta-ttl-img {
  	height: 1.838rem;
  	position: relative;
  	object-fit: contain;
}
.cta-contents {
    width: 100%;
  	border-radius: 0px 0px 20px 20px;
  	background-color: #fff;
  	border-right: 4px solid #0f3b8a;
  	border-bottom: 4px solid #0f3b8a;
  	border-left: 4px solid #0f3b8a;
  	box-sizing: border-box;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	padding: 1.875rem 3.75rem;
    gap: 1.5rem;

}
.cta-box {
  	align-self: stretch;
  	display: flex;
  	align-items: flex-start;
  	position: relative;
  	isolation: isolate;
  	gap: 10px;
  	text-align: left;
}
.cta-text {
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	position: relative;
  	isolation: isolate;
  	gap: 14px;
  	z-index: 0;
  	flex-shrink: 0;
}
.cta-text p{
    color: #191264!important;
  	font-family: 'Noto Sans JP'!important;
    line-height: 1.1;
}

.cta-text01 {
  	position: relative;
  	letter-spacing: 0.03em;
  	line-height: 100%;
  	z-index: 0;
  	flex-shrink: 0;
    font-size: 1.5rem;
    font-weight: 500;
}
.cta-text02 {
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	justify-content: flex-end;
  	gap: 6px;
  	z-index: 1;
  	flex-shrink: 0;
  	font-size: 2rem;
    font-weight: 600;
}
.cta-text03 {
  	display: flex;
  	align-items: baseline;
  	justify-content: flex-end;
  	gap: 6px;
    font-size: 2.125rem;
    font-weight: 600;
}
.cta-text03-01 {
  	background: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)), #be0000;
  	padding: 0.3rem 0.625rem;
  	font-size: 2.203rem;
  	color: #fff;
}


.cta-text04 {
  	display: flex;
  	align-items: flex-start;
  	justify-content: center;
  	position: relative;
  	isolation: isolate;
  	z-index: 2;
  	flex-shrink: 0;
  	font-size: 3.527rem;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
      	background: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)), #be0000;
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
}

.cta-text04-03{
    letter-spacing: 0;
}
.cta-text04-02{
transform: rotate(10deg);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)), #be0000;
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
}

.cta-price {
  	max-height: 3rem;
  	position: absolute;
  	margin: 0 !important;
  	object-fit: contain;
  	z-index: 3;
  	flex-shrink: 0;
}

.cta-photo {
  	max-height: 13.75rem;
  	position: absolute;
  	margin: 0 !important;
  	object-fit: cover;
  	z-index: 1;
  	flex-shrink: 0;
    bottom: 0;
        right: 0;
}
.cta-btn {
  	align-self: stretch;
  	min-height: 80px;
  	box-shadow: 0px 10px 0px #d14d00;
  	border-radius: 20px;
  	background: linear-gradient(180deg, #ff8400, #ff8400 50%, #f66f00 50%, #f66f00);
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	padding: 8px;
  	box-sizing: border-box;
  	gap: 22px;
    position: relative;
    overflow: hidden;
}

.cta-btn::after{
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #eed0f8;
    transition: 300ms;
    animation: shinyshiny 3.5s ease-in-out infinite;
    border-radius: inherit !important;
}
.cta-btn-box {
  	display: flex;
  	align-items: center;
  	gap: 22px;
}
.line-icon {
  	max-width: 3.375rem;
  	position: relative;
  	max-height: 100%;
  	object-fit: cover;
}

.js-cta{
    width: 100%;
}
.cta-btn-text {
  	position: relative;
  	letter-spacing: 0.05em;
line-height: 100%;
font-family: 'Noto Sans JP';
color: #fff;
text-align: center;
  	text-shadow: 0px 0px 10px rgba(226, 102, 0, 0.5);
    font-size: 1.813rem;
    font-weight: 500;
}
.cta-small p {
  	letter-spacing: 0.04em;
  	line-height: 140%;
  	font-weight: 400;
    font-size: 1rem;
    color: #333;
    justify-content: center;
  	padding: 4px 0px 0px;
    text-align: center;
}

@media screen and (max-width: 800px) {
.cta {
}
.cta-ttl{
    padding: 1.4rem;
    border-radius: 10px 10px 0px 0px;
    }
.cta-contents{
    padding:2rem;
    border-radius: 0px 0px 10px 10px;
    }
    
    .cta-ttl h2 {
    display: flex;
    align-items: center;
        font-size: 1.4rem;
        gap: 10px;
}
    .cta-ttl-img {
  	height: 1.2rem;
    }
    .cta-text {
        width: 100%;
    }
    .cta-text01{
        font-size: 1.2rem;
    }
    .cta-text02 {
    font-size: 1.6rem;
}
    .cta-text03 {
    font-size: 1.6rem;
}
    .cta-text03-01{
    font-size: 1.6rem;
    padding: 0.3rem;
    }
    .cta-text04 {
    font-size: 2.4rem;
    }
        .cta-photo {
    max-height: 10rem;
}
    .cta-price {
        max-height: 3.8rem;
        top: 1.8rem;
        left: 16rem !important;
}
.cta-btn {
    min-height: 70px;
    }
.line-icon {
    max-width: 3rem;
    }
.cta-btn-text {
    font-size: 1.3rem;
}
.cta-small p {
    font-size: .8rem;
}
    
}


@media screen and (min-width: 800px) {
    .cta-price {
top: 2.2rem;
        left: 22.358rem;
        width: auto;
        max-height: 4.4rem;
}
}
    
@media screen and (max-width: 500px) {
.cta .wrap-contents{
    padding:2rem 1rem;
}
    .cta-contents{
            gap: 1.2rem;
        padding: 1.4rem 1rem;
    }
    .cta-text{
        gap: 10px;
    }
    .cta-ttl {
        padding: 1rem 0!important;
    }
    .cta-ttl h2 {
    display: flex;
    align-items: center;
        font-size: 1.1rem;
        gap: 2px;
}
    .cta-ttl-img {
  	height: 1.2rem;
    }
    .cta-text {
        width: 100%;
    }
    .cta-text01{
        font-size: .95rem;
    }
    .cta-text02 {
    font-size: 1.1rem;
}
    .cta-text03 {
    font-size: 1.1rem;
}
    .cta-text03-01{
    font-size: 1.2rem;
    padding: 0.3rem;
    }
    .cta-text04 {
    font-size: 1.8rem;
    }
.cta-photo {
    height: 4.6rem;
}
.cta-price {
        max-height: 2.5rem;
        position: absolute;
        margin: 0 !important;
        top: 1.2rem;
        left: 12rem !important;
    }
.cta-btn {
    min-height: 60px;
    border-radius: 10px;
    box-shadow: 0px 6px 0px #d14d00;
    }
.cta-btn-box {
    gap: 10px;
}
        .cta-btn-text {
        font-size: 1.1rem;
    }
    .line-icon {
    max-width: 2.2rem;
    }
.cta-small p {
    font-size: .7rem;
}
}

/************************************
** aboutここから
************************************/
.about {
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	text-align: left;
  	font-size: 7px;
  	color: #59493f;
}
.about-ttl {
  	align-self: stretch;
  	background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)), #1b929e;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
}
.about-ttl-text {
  	filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15));
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	flex-shrink: 0;
  	text-align: center;
  	font-size: 3rem;
  	color: #fff;
  	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif
    font-weight: 600;
    padding: 1rem 0;
}
.about-ttl-img {
padding-bottom: 10px;
  	flex-shrink: 0;
}

.about-ttl img{
  	height: 70px;
  	width: auto;
}
.about-ttl-text h2 {
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	flex-shrink: 0;
        font-weight: bold;
}

.about-contents {
background: url(img/about-bg.png), linear-gradient(to right, #DFF3FC, #DFF3FC);
    background-size: cover, cover;
  	text-align: center;
}

.union-icon {
  	width: 56px;
  	height: 28px;
  	position: absolute;
  	margin: 0 !important;
  	top: 0px;
  	left: calc(50% - 28px);
  	z-index: 1;
  	flex-shrink: 0;
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 500px) {
    .about-ttl-text {
    font-size: 1.6rem;
    padding: .6rem 0;
}
    .about-ttl img {
    max-height: 3.5rem;
    }
}


/************************************
** troubleここから
************************************/

.trouble {
  	align-self: stretch;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	position: relative;
  	isolation: isolate;
  	font-size: 27px;
}

/************************************
** trouble01ここから
************************************/

#trouble01 {
    width: 100%;
    min-height: 940px;
    background-image: url(img/trouble01-bg.png);
    background-size: cover;
    background-position: center;
  	z-index: 1;
  	font-size: 50px;
  	font-family: 'Zen Maru Gothic';
}

.bg-icon2 {
  	width: 1000px;
  	height: 920px;
  	position: absolute;
  	margin: 0 !important;
  	top: 0.22px;
  	left: 0px;
  	object-fit: cover;
  	z-index: 0;
  	flex-shrink: 0;
}
.mask-group-icon3 {
  	width: 1289px;
  	height: 519px;
  	position: absolute;
  	margin: 0 !important;
  	top: -99.78px;
  	left: 89px;
  	object-fit: cover;
  	display: none;
  	z-index: 1;
  	flex-shrink: 0;
}
.trouble01-contents {
  	align-self: stretch;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	gap: 3.125rem;
}

.trouble01-ttl {
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	gap: 10px;
}

.trouble01-ttl h2 {
  	font-size: 2.875rem;
  	font-family: 'Noto Sans JP';
    font-weight: 500;
    text-shadow: 2px 2px 0px #000, 0px 0px 10px #333, 0px 4px 10px #333;
}


.trouble01-ttl-strong {
    position: relative;
  	font-size: 3.625rem;
    text-shadow: 2px 2px 0px #000, 0px 0px 10px #333, 0px 4px 10px #333;
    z-index: 11;
}

.trouble01-ttl-strong::after {
position: absolute;
    content:"お悩み";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    color: rgba(0,0,0,0);
    background: linear-gradient(180deg, #fff, #fff159);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
    text-shadow: none;
  }
    


.trouble01-ttl-dot01,
.trouble01-ttl-dot02{
    position: relative;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.trouble01-ttl-dot01::after,
.trouble01-ttl-dot02::after{
position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    color: rgba(0,0,0,0);
    background: linear-gradient(180deg, #fff, #fff159);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
    text-shadow: none;
  }

.trouble01-ttl-dot01::after {content:"“";}
.trouble01-ttl-dot02::after {content:"”";}

.trouble-list {
  	align-self: center;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	gap: 40px;
  	text-align: left;
  	color: #000;
  	font-family: 'Noto Sans JP';
    width: 90%;
    padding-bottom: 3rem;
}

.trouble-list-box {
    width: 100%;
    background-color: #fff;
    border-radius: 30px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    isolation: isolate;
    gap: 10px;
}

.trouble-list-box-text{
    
    font-size: 1.625rem;
    line-height: 160%;
    letter-spacing: 0.05em;
    padding: 1.875rem 0 1.875rem 5rem;
}

.trouble-list-box-img{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    padding: 2rem;
    max-width: 50%;
}

.trouble-list-box02 {
    justify-content: flex-end;
}

.trouble-list-box02 .trouble-list-box-text{
    padding: 1.875rem 5rem 1.875rem 0;
}

.trouble-list-box02 .trouble-list-box-img{
    left: 0;
}

@media screen and (max-width: 800px) {
    #trouble01 {
    min-height: 720px;
    }
    .trouble-list{
        width: 100%;
    }
        .trouble-list-box{
            border-radius: 16px;
    }
    .trouble-list-box-text {
    font-size: 1.4rem;
    }
    .trouble-list-box01 .trouble-list-box-text,
    .trouble-list-box03 .trouble-list-box-text{
    padding-left: 2rem;
            padding-top: 1rem;
        padding-bottom: 1rem;
    }
    .trouble-list-box02 .trouble-list-box-text{
    padding-right: 2rem;
                padding-top: 1rem;
        padding-bottom: 1rem;
    }
    .trouble-list-box .trouble-list-box-img{
    max-width: 44%;
    right:0;
    padding-top: 0;
    padding-bottom: 0;
}
    .trouble-list-box01 .trouble-list-box-img,
    .trouble-list-box03 .trouble-list-box-img{
    padding-right: .5rem;
}
    .trouble-list-box02 .trouble-list-box-img{
    padding-left: 0.5rem;
}
    .trouble-list-box-img img{
    width: 100%;
}
}

@media screen and (max-width: 500px) {
        #trouble01 {
        min-height: 560px!important;
    }
    .trouble01-contents {
        padding: 2rem 1rem 1rem!important;
            gap: 2rem;
    }
    .trouble01-ttl h2 {
    font-size: 1.8rem;
    }
    .trouble01-ttl-strong {
    font-size: 2.2rem;
    }
    .trouble-list-box-text {
    font-size: 1.05rem;
    }
    .trouble-list-box01 .trouble-list-box-text,
    .trouble-list-box03 .trouble-list-box-text{
    padding-left: 1.5rem;
    }
    .trouble-list-box02 .trouble-list-box-text{
    padding-right: 1.5rem;
    }
    .trouble-list-box01 .trouble-list-box-img{
        width: 40%;
    }

        .trouble-list {
        padding-bottom: 3rem;
                gap: 2rem;
    }
    .trouble-list-box03 .trouble-list-box-img {
        max-width: 40%;
}
}

/************************************
** trouble02ここから
************************************/
#trouble02 {
    width: 100%;
    padding-top: 200px;
    margin-top: -200px;
    box-sizing: border-box;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 0;
    background-image: url(img/trouble02-bg.jpg);
    background-size: cover;
}

.trouble02-contents {
    align-items: flex-start;
    padding-top: 0;
    overflow: inherit !important;
}

.trouble02-text{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
    max-width: 70%;
}
.trouble02-sub-text {
  	background-color: #18939b;
  	display: inline-block;
    padding: 0.5rem 0.625rem;
  	color: #fff!important;
    font-size: 1.688rem;
    line-height: 1;
    font-weight: 600;
    margin-left:.2rem;
}

#trouble02 img{
    width: 100%;
}

.trouble02-img {
position: absolute;
    top: 40%;
    transform: translateY(-60%);
    right: 2rem;
}


@media screen and (max-width: 800px) {
    #trouble02 {
    padding-top: 240px;
    }
    .trouble02-text {
    max-width: 72%;
    }
.trouble02-img {
    right: 1rem;
    max-width: 24%;
    }
.trouble02-sub-text {
    font-size: 1rem;
    }
}
@media screen and (max-width: 500px) {
    .trouble02-contents{
        padding: 0 1rem 2rem;
    }
        #trouble02 {
        padding-top: 220px;
    }
}

/************************************
** fetureここから
************************************/
.feture {
  	width: 100%;
  	position: relative;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	text-align: center;
  	font-size: 1.625rem;
  	color: #fff;
  	font-family: 'Noto Sans JP';
}
.feture-ttl {
  	align-self: stretch;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	gap: 1.8rem;
    background: url(img/feture-ttl-bg.png), linear-gradient(to bottom, rgba(0,0,0,0) 48%, rgba(0,0,0,0.5) 100%), linear-gradient(to right, rgba(36,161,174,1), rgba(36,161,174,1));
    padding: 2rem 0 2.8rem;
    background-size: cover, cover, cover, cover;
  	background-repeat: no-repeat;
  	background-position: bottom;
}
.feture-ttl-sub {
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	gap: 0.625rem;
}
.cta-ttl-item01-icon {
  	height: 2.031rem;
  	width: 1.944rem;
  	position: relative;
  	object-fit: contain;
}

.feture-ttl-sub p {
      	letter-spacing: 0.05em;
  	line-height: 2.25rem;
  	font-weight: 500;
    font-size: 1.625rem;
    color: #fff;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15));
}

.feture-ttl-main p{
  	font-family: 'Zen Antique Soft';
    display: flex;
    align-items: flex-start;
    justify-content: center;
      	gap: 0.2rem;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15));
}

.feture-ttl-main span{
  	    
}

.feture-ttl-main .yellow{
    font-size: 6.375rem;
    padding: 0rem 0rem 1.25rem;
    color: #ffe500;
}

.feture-ttl-main .white{
  	letter-spacing: 0.05em;
  	line-height: 100%;
  	color: #fff;
  	flex-shrink: 0;
  	font-size: 3.313rem;
}

.feture-contents {
  	align-self: stretch;
  	background-color: #e7f8ff;
  	overflow: hidden;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	position: relative;
  	isolation: isolate;
  	gap: 5rem;
  	font-size: 1.75rem;
  	color: #2c5bad;
}
.union-icon {
  	width: 3.5rem;
  	height: 1.75rem;
  	position: absolute;
  	margin: 0 !important;
  	top: 0rem;
  	left: calc(50% - 28px);
  	z-index: 0;
  	flex-shrink: 0;
}
.feture-box {
  	width:100%;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	z-index: 1;
  	flex-shrink: 0;
}
.feture-box-ttl {
  	align-self: stretch;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	position: relative;
  	isolation: isolate;
}
.feture-box-ttl h3{
  	border-radius: 20px 20px 0px 0px;
  	background: linear-gradient(-84.71deg, #3d60a0, #254d94);
    width: 100%;
}

.feture-box-ttl-box {
  	align-self: stretch;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	padding: 2.5rem 1.875rem;
  	gap: 1.25rem;
  	z-index: 0;
  	flex-shrink: 0;
}
.feture-box-ttl01 {
  	background-color: #fff;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	padding: 0.625rem;
    font-weight: 500;
    line-height: 1;
}
.feture-box-ttl02 {
  	display: flex;
  	align-items: center;
  	font-size: 3.125rem;
  	position: relative;
  	font-weight: 900;
  	background: linear-gradient(180deg, #fff, #ffe344);
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
  	filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15));
    line-height: 1.1;
}

.feture-box-no{
  	position: absolute;
  	margin: 0 !important;
  	top: -1.125rem;
  	left: 1.813rem;
  	font-size: 5.375rem;
  	line-height: 2.25rem;
  	font-weight: 800;
  	font-family: Roboto;
  	color: #fff;
  	display: inline-block;
    text-shadow: -3px -3px 0 #2c5bad, 0px -3px 0 #2c5bad, 3px -3px 0 #2c5bad, -3px 0px 0 #2c5bad, 3px 0px 0 #2c5bad, -3px 3px 0 #2c5bad, 0px 3px 0 #2c5bad, 3px 3px 0 #2c5bad;
  	z-index: 1;
  	flex-shrink: 0;
}
.feture-box-contents {
  	align-self: stretch;
  	border-radius: 0px 0px 20px 20px;
  	background-color: #fff;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	padding: 3.125rem 3.75rem 3.75rem;
  	gap: 3.125rem;
  	text-align: left;
  	font-size: 1.375rem;
  	color: #111;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.05);
}
.feture-box-text {
  	letter-spacing: 0.05em;
  	line-height: 200%;
}

.feture-box-photo {
  	align-self: stretch;
  	flex-shrink: 0;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	position: relative;
  	isolation: isolate;
  	font-size: 0.875rem;
}

.feture-box2 {
  	width: 50rem;
  	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.05);
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	z-index: 2;
  	flex-shrink: 0;
}

.feture-box3 {
  	width: 50rem;
  	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.05);
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	z-index: 3;
  	flex-shrink: 0;
}
.feture-box03 .feture-box-photo{
  	align-self: stretch;
  	border-radius: 0px 0px 20px 0px;
  	background-color: #fff;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	gap: 2.6rem;
  	text-align: center;
  	font-size: 1rem;
}
.feture-box-photo03-pc-ttl {
  	font-size: 1.75rem;
  	color: #fff;
  	padding: 0.625rem 1.312rem;
    background: #18939b;
    line-height: 1;
}

.feture-box03-list{
	text-align:center;
    width: 100%;
    margin:auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5%;
}

/* 子要素 */
.box03-list-box{ 
width: 30%;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.625rem;
justify-content: center;
}

.box03-list-box:nth-child(4),
.box03-list-box:nth-child(5){ 
	margin-top:1.5rem;
}

.box03-list-box p{
    font-size: 1rem;
color: #111;
font-family: 'Noto Sans JP';
        text-align: center;
}
.box03-list-box-ttl {
  	align-self: stretch;
  	position: relative;
  	letter-spacing: 0.05em;
  	line-height: 140%;
    font-size: 1rem;
    font-weight: bold;
}

.box03-list-box:nth-child(2) .box03-list-box-ttl,
.box03-list-box:nth-child(3) .box03-list-box-ttl{ 
	line-height: 280%;
	
}

.box03-list-box-img {
  	align-self: stretch;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	padding: 0rem 1.25rem;
}
.box03-list-box-img img {
  	align-self: stretch;
  	position: relative;
  	max-width: 100%;
  	overflow: hidden;
  	max-height: 100%;
  	object-fit: cover;
}
.box03-list-box-text {
  	align-self: stretch;
  	position: relative;
  	line-height: 140%;
    font-size: .9rem!important;
}
.b9 {
  	align-self: stretch;
  	height: 2.75rem;
  	position: relative;
  	letter-spacing: 0.05em;
  	line-height: 140%;
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	flex-shrink: 0;
}
.frame-div {
  	width: 12.919rem;
  	overflow: hidden;
  	flex-shrink: 0;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	gap: 0.625rem;
}

@media screen and (min-width:500px) {
.feture-box .image-sp{display: none!important;}
.feture-box .image-pc{
    display: block!important;
    width: 100%;
    }
}
@media (max-width: 500px) {
.feture-box .image-sp {display: block!important;}
.feture-box .image-pc {display: none!important;}
}


@media screen and (max-width: 500px) {
    .feture-ttl {
    gap: 1.4rem;
    padding: 1.4rem 0 2.2rem;
        background-position: left bottom;
    }
    .feture-ttl-sub p{
        font-size: 1.2rem;
    }
    .feture-ttl-sub img{
        max-height: 1.5rem !important;
    }
    .feture-ttl-main .white{
        font-size: 2.5rem;
    }
    .feture-ttl-main .yellow {
    font-size: 5rem;
    }
    .feture-box-contents {
    border-radius: 0;
    padding: 2rem 1.4rem;
    gap: 0;
    font-size: 1.375rem;
    }
    .feture-box-no {
    top: -1.125rem;
    left: 1rem;
    font-size: 3.6rem;
    }
    .feture-box-ttl-box {
    padding: 2.5rem 1rem 2rem;
    gap: .7rem;
    font-size: 1.1rem;
    }
    .feture-box-ttl01 {
    padding: 0.3rem;
    }
    .feture-box-ttl02 {
    font-size: 1.9rem;
    }
    .feture-box-text {
    font-size: 1rem;
}
    .feture-box-photo img{
            width: 100%;
    border-radius: 0 0 20px 20px;
    }
    .feture-box02 .feture-box-ttl-box,
    .feture-box03 .feture-box-ttl-box{
        padding: 2.5rem 1rem 2rem;
    }
    .feture-box02 .feture-box-ttl02{
            display: inline-block;
        font-size: 1.8rem;
    }
    .feture-box02 .feture-box-ttl02 span{
        font-size: 86%;
    }
    .feture-box03 .feture-box-ttl02{
        font-size: 1.55rem;
        letter-spacing: 0;
    }
    .feture-box03 .feture-box-photo {
    font-size: 1rem;
    margin-top: 2rem;
}
    .feture-box-photo03-pc-ttl {
    font-size: 1rem;
    padding: 0.5rem 1rem;
}
    .feture-box03-list {
    gap: 4%;
}
    .box03-list-box {
    width: 48%;
    gap: 1rem;
            justify-content: flex-start;
}
    .box03-list-box-text {
    font-size: .8rem !important;
}
    .box03-list-box:nth-child(3) .box03-list-box-ttl {
    line-height:1;
}
    .box03-list-box:nth-child(4), .box03-list-box:nth-child(5) {
    margin-top: 0;
}
    .box03-list-box:nth-child(n+3) {
    margin-top: 1rem!important;
}
    .feture-box03 .feture-box-contents {
    border-radius: 0 0 20px 20px;
}
}

/************************************
** rare01ここから
************************************/

.rare01 {
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	font-size: 34px;
}
.rare01-ttl {
  	align-self: stretch;
  	background-color: #1b929e;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
    padding: 1.875rem 0rem 2.5rem;
}
.rare01-ttl-text {
  	width: 100%;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	box-sizing: border-box;
  	gap: 1rem;
  	max-width: 100%;
}

.rare01-ttl-text p {
  	font-size: 2.125rem;
  	letter-spacing: 0.05em;
  	line-height: 100%;
  	font-weight: 500;
  	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
    color: #fff;
}

.rare01-ttl-text01 {
  	position: relative;
  	letter-spacing: 0.05em;
  	line-height: 100%;
  	font-weight: 500;
  	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}
.rare01-ttl-text02 {
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	gap: 6px;
  	font-size: 38px;
}
.rare01-ttl-text02 .fs140 {
  	align-self: stretch;
  	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
  	background: linear-gradient(94.79deg, rgba(255, 255, 255, 0.5), rgba(255, 251, 239, 0.5)), linear-gradient(#fff5d7, #fff5d7), linear-gradient(#fff, #fff), linear-gradient(-89.66deg, #996230, #c58506 50.32%, #88460b);
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	padding: 8px;
    color:#18939B;
    font-size: 2.375rem;
}
.rare01-ttl-text02 .fs100 {
    margin-bottom: -.2rem;
}

.rare01-contents {
    background-image: url(img/rare01-bg.jpg);
    background-size: cover;
  	align-self: stretch;
  	overflow: hidden;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	position: relative;
  	isolation: isolate;
  	gap: 40px;
  	text-align: left;
}

.rare01-box {
  	display: flex;
  	align-items: flex-start;
  	justify-content: center;
  	gap: 40px;
  	z-index: 3;
  	flex-shrink: 0;
    padding: 0 1em;
}

.rare01-box-text {
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	gap: 40px;
    width: 78%;
}
.rare01-box-text p{
  	position: relative;
  	letter-spacing: 0.07em;
  	line-height: 180%;
  	font-weight: 500;
  	text-shadow: 0px 4px 10px #004065, 0px 4px 30px #004065;
    color:#fff;
    font-size: 1.25rem;
}

.rare01-box-text .small{
font-size: 1rem;
    font-weight: 400;
}
.span59 {
  	font-size: 11px;
}
.rare01-strong {
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	gap: 10px;
}
.rare01-strong p {
  	background-color: #fff;
    color: #0e3b8a;
    font-size: 24px;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	padding: 8px;
    text-shadow: none;
}
.b40 {
  	position: relative;
  	letter-spacing: 0.07em;
  	line-height: 100%;
}
.small {
  	font-size:.86em;
}
.rare01-box-photo {
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	gap: 1em;
    width: 22%;
}

.rare01-box-photo img{
    width: 100%;
}

.rare01-box-photo img{
    width: 100%;
}

@media screen and (max-width: 500px) {
    .rare01-ttl {
    padding: 1.6rem 0rem 2rem;
    }
    .rare01-ttl-text {
    gap: .8rem;
    }
    .rare01-ttl-text p {
    font-size: 1.2rem;
    letter-spacing: 0.01em;
    }
    .rare01-ttl-text02 .fs140 {
    padding: 0.5rem;
    font-size: 1.3rem;
}
    .rare01-box {
    display: block;
    gap: 40px;
    padding: 0 .5rem;
}
    .rare01-box-text {
    gap: 2rem;
    width: 100%;
    align-items: center;
}
    .rare01-strong {
    align-items: center;
    }
    .rare01-box-text p {
    font-size: 1rem;
    text-align: center;
}
    .rare01-strong p {

    font-size: 1.09rem;
    padding: 6px;
    }
    .rare01-box-text .small {
    font-size: .8rem;
    }
    .rare01-box-photo {
    display: inline-block;
    text-align: center;
    margin: 2rem 0 0;
                width: 100%;
}
    .rare01-box-photo img {
    width: 36%;
}
}
/************************************
** meritここから
************************************/

.merit {
    width: 100%;
}

.merit-contents{
    background-image: url(img/merit-contents-bg.jpg);
    background-size: cover;
}
.merit-ttl {
  	align-self: stretch;
  	background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)), #1b929e;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	padding: 40px 0px;
}
.merit-ttl .text {
  	font-size: 2.125rem;
  	color: #fff;
  	font-family: 'Noto Sans JP';
}
.merit-ttl h2 {
  	position: relative;
  	letter-spacing: 0.05em;
  	line-height: 1.6em;
  	font-weight: 500;
}
.merit-ttl h2 .text02{
  	display: flex;
  	align-items: baseline;
  	justify-content: center;
  	gap: 8px;

}

.merit-ttl h2 .strong {
      	font-size: 3.25rem;
  	font-family: 'Zen Antique Soft';
  	background: linear-gradient(180deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.3) 50%), #ffda44;
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
}
.merit-ttl h2 .nomal {
  	font-size: 2.75rem;
  	font-family: YuGothic;
    font-weight: 600;
}


.merit-contents {
  	align-self: stretch;
  	background-color: #fff;
  	overflow: hidden;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	padding: 100px 0px;
  	position: relative;
  	isolation: isolate;
  	gap: 7rem;
  	font-size: 23px;
  	color: #18939b;
  	font-family: 'Zen Antique Soft';
    text-align: left;
}
.merit-box {
  	align-self: flex-start;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	z-index: 2;
  	flex-shrink: 0;
    justify-content: center;
}
.merit-box-left {
  	align-self: stretch;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	justify-content: center;
  	position: relative;
  	isolation: isolate;
  	gap: 2.5rem;
}

.merit-box01,
.merit-box03{
    padding: 0 0 0 100px;
}
.merit-box02{
    padding: 0 100px 0 0;
}

.merit-box-left01 {
    display: flex!important;
    align-items: baseline!important;
    gap:.5rem;
}

.merit-box-left01 h3{
    font-size: 2rem;
    font-family: 'Noto Sans JP';
}

.merit-box-left02 {
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	gap: 10px;
}
.merit-box-left02 p {
  	background: linear-gradient(90.07deg, rgba(242, 230, 193, 0.5), rgba(222, 211, 176, 0.5)), rgba(255, 255, 255, 0.5);
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	padding: 10px 14px;
    font-size: 2.25rem;
    color: #18939b;
    font-family: 'Zen Antique Soft';
}
.merit-box-left02 p span {
  	position: relative;
  	letter-spacing: 0.05em;
  	line-height: 100%;
  	text-shadow: 0px 0px 4px #fff;
}
.merit-box-left03 p {
  	text-align: left;
  	font-size: 1.125rem;
  	color: #111;
  	font-family: 'Noto Sans JP';
  	line-height: 200%;
}
.merit-box-photo {
  	position: absolute;
  	margin: 0 !important;
  	right: 0;
  	max-height: 100%;
  	object-fit: cover;
  	z-index: 1;
  	flex-shrink: 0;
    width: 45%;
}

.merit-box02 {
    align-self: flex-end;
    padding: 0 100px 0 0;
    width: 50%;
}
.merit-box02 .merit-box-photo{
    left: 0;
}



@media screen and (max-width: 800px) {
    .merit-contents {
            gap: 4rem;
    }
    .merit-box {
        padding: 0 3rem;
        z-index: 1;
        width: 100%;
        justify-content: flex-start;
        margin-top: 2rem;
    }
    
    .merit-box-left{
        z-index: 2;
        margin-top:4rem;
        gap: 3rem;
    }
    .merit-box-photo {
        width: 50%;
        right: 0 !important;
        left: initial;
        z-index: 0;
    }
    .merit-box-left01 h3 {
    font-size: 1.7rem;
}

.merit-box-left02 p {
    padding: 5px 8px;
    font-size: 1.8rem;
    }
    .merit-box-left03{
        margin-top:2rem;
    }
    .merit-box02 .merit-box-left01,
    .merit-box02 .merit-box-left02,
    .merit-box02 .merit-box-left03{
padding-left: 48%;
    }
        .merit-box-photo {
        width: 60%;
        right: -2rem !important;
    }
    
    .merit-box02 .merit-box-photo{
        left: -2rem;
    }
        .merit-ttl .text {
    font-size: 1.8rem;
    }
    .merit-ttl h2 .nomal {
    font-size: 2rem;
    }
    .merit-ttl h2 .strong {
    font-size: 2.6rem;
    }
}

@media screen and (max-width: 500px) {
    .merit-contents {
    font-size: 1.2rem;
        padding: 4rem 0px;
    }
    .merit-box {
        padding: 0 1.2rem;
    }
    .merit-box-left {
        margin-top: 5rem;
        gap: 1rem;
    }
    
    .merit-box-left01 h3 {
    font-size: 1.5rem;
}
    .merit-box02 .merit-box-left01,
    .merit-box02 .merit-box-left02{
        padding-left: 46%;
    }
        .merit-box02 .merit-box-left03{
        padding-left: 0;
    }

.merit-box-left02 p {
    padding: 5px 8px;
    font-size: 1.6rem;
    }
    .merit-box-left03{
        margin-top:4rem;
    }
        .merit-box-left03 p{
        font-size:1rem;
    }
    
    .merit-ttl .text {
    font-size: 1.5rem;
    }
    .merit-ttl h2 .nomal {
    font-size: 1.5rem;
    }
    .merit-ttl h2 .strong {
    font-size: 2.1rem;
    }
}

/************************************
** aboutここから
************************************/

.price {
  	background-color: #fff;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	font-size: 30px;
  	color: #ffe500;
  	font-family: Roboto;
}
.price-ttl {
  	align-self: stretch;
  	background: linear-gradient(-84.71deg, #3d60a0, #254d94), #2c5bad;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	padding: 40px 0px 50px;
}

.price-contents {
  	width: 100%;
  	position: relative;
  	background-color: #e5f9ff;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	box-sizing: border-box;
  	gap: 2.5rem;
  	text-align: center;
  	font-size: 1.5rem;
  	color: #18939b;
  	font-family: 'Zen Maru Gothic';
}
.price-box {
  	align-self: stretch;
  	display: flex;
  	align-items: nomal;
  	justify-content: center;
  	position: relative;
  	isolation: isolate;
  	gap: 2.5rem;
}
.price-box-contents {
  	flex: 1;
  	border-radius: 30px;
  	background-color: #fff;
  	border: 2px solid #18939b;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
    justify-content: flex-start;
  	padding: 2.5rem 1.875rem;
  	gap: 1.875rem;
  	z-index: 0;
}

.price-box-img img{
    height: 144px;
}

.price-box-text {
  	align-self: stretch;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	gap: 1.375rem;
}

.price-box-text p {
  	align-self: stretch;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
    font-family: 'Zen Maru Gothic';
    text-align: center;
}
.price-box-name {
    font-size: 1.5rem;
    color: #18939b;
    font-weight: 600;
}
.price-box-line {
  	align-self: stretch;
  	height: 0.063rem;
  	border-top: 2px solid #18939b;
  	box-sizing: border-box;
  	display: flex;
  	align-items: center;
}
.price-box-price {
  	display: flex;
  	align-items: center;
  	justify-content: center;
    line-height: 1;
}

.price-box01 .price-box-price p{
    font-size: 3.25rem;
}

.price-box-price p{
  	color: #cc3300;
    font-weight: 700;
}

.price-box-price01 {
  	display: flex;
  	align-items: center;
  	gap: 0.25rem;
  	text-align: center;
  	font-size: 3.875rem;
    display: inline-block!important;
    line-height: 1;
}

.price-box-price02 {
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;

  	isolation: isolate;
  	font-size: 3rem;
}

.price-box-price02-01{
    font-size: 1rem;
    line-height: 1;
}
.price-box-price02-02{
    line-height: 1;
}

.price-plus-icon {
  	width: 3.75rem;
  	position: absolute;
  	margin: 0 !important;
  	top: 50%;
  	left: 50%;
    transform: translateY(-50%) translateX(-50%);
      -webkit- transform: translateY(-50%) translateX(-50%);
  	max-height: 100%;
  	z-index: 2;
}
.price-text {
  	font-size: 1.125rem;
}

@media screen and (max-width: 800px) {
    
.price-contents {
    align-items: flex-start;
    }
.price-text p{
        font-size: 1.1rem;
        line-height: 1.6;
}

.price-box{
        display: block;
        margin-left: .5rem;
        margin-right: .5rem;
}
.price-box-contents {
    border-radius: 20px;
    padding: 2rem 1.5rem;
    gap: 1.5rem;
    }
.price-box-img img {
    height: 8rem;
}
.price-box-name {
    font-size: 1.4rem;
    }
.price-box01 .price-box-price p {
    font-size: 2.5rem;
}
.price-box-text{
    gap: .5rem;
}
    .price-box02{
        margin-top: 2rem;
    }
    .price-box-price01{
        font-size: 3.1rem;
    }
    .price-box-price02 {
    font-size: 2.5rem;
    margin-top: -10px !important;
        justify-content: space-around;
}
.price-box-price02-01 {
        font-size: .8rem;
        margin-top: 16px;
    }
    .price-box-price02-02 {
        line-height: 0;
        padding-bottom: 10px;
    }
}

@media screen and (max-width: 500px) {
        .price-box-name {
        font-size: 1.2rem;
    }
        .price-box01 .price-box-price p {
        font-size: 2.2rem;
    }
        .price-box-price01 {
        font-size: 2.8rem;
    }
        .price-box-img img {
        height: 7rem;
    }
        .price-box-contents {
        padding: 2rem;
    }
    .price-plus-icon {
    width: 3rem;
    }
        .price-box02 {
        margin-top: 1.5rem;
    }
    .price-text p {
        font-size: 1rem;
    }
}

/************************************
** produstここから
************************************/

.product {
  	background-color: #fff;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	position: relative;
  	isolation: isolate;
  	font-size: 30px;
  	color: #ffe500;
  	font-family: Roboto;
        padding-bottom: 2rem;
}
.product-ttl {
  	align-self: stretch;
  	background: linear-gradient(-84.71deg, #3d60a0, #254d94), #2c5bad;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	z-index: 0;
    padding: 2.5rem 0rem 3.125rem;
}

.product-contents {
  	align-self: stretch;
  	background-color: #fff;
  	overflow: hidden;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	padding: 80px 0px 60px;
  	position: relative;
  	isolation: isolate;
  	gap: 20px;
  	z-index: 1;
  	text-align: left;
  	font-size: 17px;
  	color: #111;
  	font-family: 'Noto Sans JP';
}


.product1-parent {
  	align-self: stretch;
  	display: flex;
  	align-items: flex-start;
  	justify-content: center;
  	gap: 80px;
  	z-index: 1;
  	flex-shrink: 0;
}




.product-box {
  	align-self: stretch;
  	/*width: 390px!important;*/
  	border-radius: 30px;
  	background-color: #fff;
  	border: 4px solid #2c5bad;
  	box-sizing: border-box;
  	display: flex!important;
  	flex-direction: column;
  	align-items: center;
  	padding: 40px 30px;
  	gap: 40px;
  	flex-shrink: 0;
  	font-size: 22px;
}


.product-box-ttl {
  	align-self: stretch;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	gap: 0.625rem;
  	flex-shrink: 0;
  	font-size: 26px;
  	color: #fff;
}

.product01-icon img{
           height: 2rem !important;
        width: auto !important;
}

.product-box-ttl h3{
    line-height: 1.4;
    letter-spacing: 0.05em;
}
.product-box-ttl h3 span{
    display: block;
}


.product-box-ttl-main {
  	
  	color: #2c5bad;
    font-size: 1.875rem;
    font-weight: 600;
}

.product-box-ttl-sub {
  	font-size: 1.375rem;
  	font-weight: 500;
  	color: #111;
}


.product-box-photo {
position: relative;
overflow: hidden;
flex-shrink: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}

.product-box-photo img {
width: 14.863rem;
flex: 1;
position: relative;
max-height: 100%;
object-fit: cover;
}

.product-box-text p,
.product-box-info-list p{
    font-size: 1.063rem;
  	letter-spacing: 0.05em;
  	line-height: 180%;
}

.product-box-info-list p span{
    display: block;
}

.product-box-info {
  	width: 100%;
position: relative;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 0.625rem;
text-align: left;
font-size: 1.063rem;
}
.product-box-info-list {
  	align-self: stretch;
  	border-bottom: 1px solid #666;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	justify-content: center;
  	padding: 0px 0px 10px;
}

.product-box-info-list:last-of-type{
    border-bottom:none;
}

.product-box-info-list li {
  	list-style: inside;
}

@media screen and (max-width: 800px) {
    .product-box{
    border-radius: 20px;
    padding: 2rem 1rem;
    gap: 1.5rem;
    }
    
    .product-box-ttl-main {
    font-size: 1.4rem;
}
    .product01-icon img {
    height: 2rem !important;
}
    
    .product-box-ttl-sub {
    font-size: 1.1rem;
    }
    .product-box-text p, .product-box-info-list p {
    font-size: .95rem;
    }
}

@media screen and (max-width: 500px) {
    .product01-icon img{
        height: 54px;
        height: 102px;
    }
}


/************************************
** productスライダーここから
************************************/

.sliderArea {
  width: 100%;
  margin: 0 auto;
}

.slick-slide {
margin: 0 1rem!important;
}
.slick-slide img {
  width: 100%;
  height: auto;
}
.slick-prev, .slick-next {
  z-index: 1;
width: fit-content !important;
}

.slick-prev {left: 0!important;}

.slick-next {right: 0!important;}

.slick-dots li button:before{
        font-size: 10px!important;
}

.slick-dotted.slick-slider {
    margin-bottom: 0 !important;
}

.slick-dots{
    bottom: -3rem !important;
}
    
.slick-prev:before, .slick-next:before {
    font-size: 40px!important;
  color: #2C5BAD!important;
}
.slick-slide {
  transition: all ease-in-out .3s;
  opacity: .5;
}
.slick-active {
  opacity: 1;
}
.slick-current {
  opacity: 1;
}


/*====================================================================
.full-screen
====================================================================*/

.full-screen .slick-list {
  overflow: visible;
}
.full-screen.slider {
  max-width: 500px;
  margin: 0 auto;
}

/************************************
** produstスライダーここまで
************************************/

@media screen and (max-width: 500px) {
.full-screen.slider {
  max-width: 94%;
}
.slick-slide {
margin: 0 .4rem!important;
}
    .product .slick-list{
        padding: 0px 1rem!important;
    }
}


/************************************
** voiceここから
************************************/

.voice {
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	position: relative;
  	isolation: isolate;
  	font-size: 30px;
  	color: #ffe500;
  	font-family: Roboto;
}
.voice-ttl {
    background: linear-gradient(to right, rgba(6, 160, 175, 0.86), rgba(6, 160, 175, 0.86)), url(img/voice-ttl-bg.png);
    background-size: cover, cover;
  	width: 100%;
  	overflow: hidden;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	position: relative;
  	isolation: isolate;
  	z-index: 0;
    padding: 4.375rem 0rem 10rem;
}

.b69 {
  	position: relative;
  	letter-spacing: 0.05em;
  	line-height: 140%;
  	font-family: 'Noto Sans JP';
  	color: #fff;
  	font-size: 50px;
}
.voice-ttl h2 {
  	font-size: 2rem;
    line-height: 2em;
}
.voice-ttl h2 div {
  	font-size: 3rem;
}
.voice-contents {
    display: block;
    background: url(img/voice-contents-bg.png), linear-gradient( to right, #DFF3FC, #DFF3FC );
    background-size: cover,cover;
  	align-self: stretch;
  	max-width: 100%;
  	overflow: hidden;
  	flex-shrink: 0;
  	object-fit: cover;
  	z-index: 1;
        padding-bottom: 6rem;
}
.voice-slider {
    margin: -6rem auto 0 !important;
    max-width: 800px;
}
@media screen and (max-width: 1000px) {
    .voice-slider {
        margin: -11rem auto 0 !important;
        padding: 6rem 0;
    }
}
@media screen and (max-width: 500px) {
    .voice-slider {
                padding: 6rem 0;
    }
}

.voice-slider-box {
  	max-width: 800px;
  	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
  	border-radius: 20px;
  	background-color: #fff;
  	display: flex!important;
  	flex-direction: column;
  	align-items: flex-start;
  	justify-content: center;
  	padding: 40px;
  	box-sizing: border-box;
    gap: 0.625rem;
}
.voice-no {
  	background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)), linear-gradient(#1b929e, #1b929e), #fff;
  	padding:0.4rem;
}

.voice-no p{
font-size: 1.188rem;
line-height: 100%;
font-family: 'Noto Sans JP';
color: #fff;
text-align: center;
font-weight: 500;
}

.voice-slider-box-contents {
  	align-self: stretch;
  	display: flex;
  	align-items: flex-start;
  	justify-content: center;
  	text-align: left;
    gap:4%;
}

.voice-slider-box-contents p{
    font-size: 1.125rem;
    line-height: 160%;
    color: #000;
}
.voice-human {
  	display: block;
    width: 40%;
    color: #7c7c7c;
}

.voice-human p{
    margin-top: 0.625rem;
     color: #7c7c7c;
}
.photo-icon {
  	width: 247px;
  	height: 163px;
  	object-fit: cover;
}
.voice-text {
  	width: 450px;
  	position: relative;
  	display: inline-block;
    width: 60%;
}

.voice-text p{
    letter-spacing: 0.05em;
  	line-height: 160%;
  	color: #000;
    font-size: 1.125rem;
}

@media screen and (max-width: 800px) {

}

@media screen and (max-width: 500px) {
        .voice-ttl h2 {
    font-size: 1.4rem;
    }
.voice-ttl h2 div {
    font-size: 2.4rem;
}
    .voice-slider-box-contents {
    display: contents;
}
    .voice-slider-box-contents p{
font-size: 1rem;
    }
.voice-no p{
font-size: 1rem;
    }
    .voice-human {
    width: 100%;
}
    .voice-text{
    width: 100%;
    }
.voice-slider-box {
    gap: 1rem;
}
    .voice-human p {
    margin-top:.9rem;
}
}

/************************************
** voiceスライダーここから
************************************/

.voice .slick-slide {
  transition: all ease-in-out .3s;
  opacity: 1;
margin: 0 auto;
}

.voice .slick-prev {left: 2rem!important;}

.voice .slick-next {right: 2rem !important;}


@media screen and (max-width: 500px) {
.voice-slider-box {
    border-radius: 16px;
    padding: 2rem 1.4rem;
    }
    .voice .slick-list{
        padding: 0px 1.4rem!important;
    }
.voice .slick-prev {left: .5rem!important;}

.voice .slick-next {right: .5rem !important;}
}
/************************************
** voiceスライダーここまで
************************************/


/************************************
** caseここから
************************************/

.case {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    background-color: #ffffff;
}

.case .case-ttl {
    justify-content: center;
    gap: 16px;
    padding: 40px 0px 50px;
    background: linear-gradient(
            327deg,
            rgba(61, 96, 160, 1) 0%,
            rgba(37, 77, 148, 1) 100%
        ), linear-gradient(0deg, rgba(44, 91, 173, 1) 0%, rgba(44, 91, 173, 1) 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto;
}

.case .case-ttl h2 {
    line-height: 1.4em;
    font-size: 1.9em;
}

.case .union {
    position: absolute;
    top:-1px;
    left: calc(50.00% - 40px);
    width: 80px;
    height: 40px;
}

.case .line {
    border-bottom: #FFE500 6px solid;
    border-radius: 10px;
    position: relative;
    width: 80px;
    height: 6px;
    box-sizing: border-box;
}



.case-contents {
    gap: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    align-self: stretch;
    flex: 0 0 auto;
}

.case-box02-list{
    text-align:center;
    width: 100%;
    margin:auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6%;
}

/* 子要素 */

.case-box03-list-box {
    display: flex!important;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    position: relative;
    flex: 0 0 auto;
    justify-content: flex-start;
    width: 46%;
    margin-top: 3rem!important;
}

.case-photo {
width: 100%;
    box-shadow: 4px 4px 0px #d9d9d9;
}

.case-photo img {
    width: 100%;

}

.case-text {
    display: flex;
    flex-direction: column;
    align-items:flex-start;
    gap: 1rem;
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto;
    text-align: left;
    letter-spacing: 0.05em;
}

.case-text-ttl {
    padding: 0rem 0rem 0.8rem;
    width: 100%;
    border-bottom: 2px solid #18939b;
    font-family: "Noto Sans JP-Bold", Helvetica;
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: 0.80px;
    line-height:1;
    color:#18939b;
    line-height: 160%;
}

.case-text-list{
    display: block;
}
.case-text-list-box {
    display: flex;
    gap: 0.5rem;
    padding: .4rem 0;
    justify-content: flex-start;
}

.case .check-icon {
    flex: 0 0 auto;
    height:1.113rem!important;
    margin-top: .2rem;
}


.case-text-list-box p {
      display: flex;
  align-items: center;
    font-family: "Noto Sans JP-Regular", Helvetica;
    font-weight: 400;
    color: #000000;
    font-size: 1.125rem;
    letter-spacing: 0.72px;
    line-height: 1.5rem;
    letter-spacing: 0.05em;
}

.case .name {
    position: absolute;
    top: 1px;
    left: 0;
    padding: 0.5rem 0.625rem;
    background-color: #18939b;
    margin-top: -1.00px;
    text-shadow: 0px 0px 4px #00000026;
    font-family: "Noto Sans JP-Medium", Helvetica;
    font-weight: 500;
    color: #ffffff;
    font-size: 1.25rem;
    line-height: 1;
}

@media (min-width:800px) {
.case .case-box03-list-box:nth-child(1),
.case .case-box03-list-box:nth-child(2){
    margin-top: 0!important;
}
}

@media (max-width:500px) {
    
.case .case-ttl h2 {
        font-size: 1.6rem;
}
    
.case .union {
    left: calc(50.00% - 25px);
    width: 50px;
    height: 20px;
}
    
.case-box03-list-box{ 
width: 100%!important;
display: flex;
flex-direction: column;
align-items: center;
gap: 1.5rem;
justify-content: center;
}
.case .case-box03-list-box:nth-child(1){
      margin-top: 0!important;  
    }
.case-contents {
    width: 90%;
    margin:auto;
}
    
.case-text-ttl {
        padding: 0rem 0rem .8rem;
        font-size: 1.2rem;
        line-height: 140%;
    }
.case-text-list-box {
    padding: .2rem 0;
    }
.case .check-icon {
    flex: 0 0 auto;
height: 1.1rem !important;
        margin-top: .2rem;
}

.case-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem !important;
}

.case-text-list-box p {
font-size: 1.1rem;
        line-height: 140%;
}

.case .name {
            font-size: 1.2rem;
}
}

/************************************
** caseここまで
************************************/


/************************************
** flowここから
************************************/
.flow {
  	background-color: #d6eef1;
  	text-align: center;
      background-image:
  repeating-linear-gradient(
    90deg,
    #E5F8FA ,
    #E5F8FA 1px,
    transparent 1px,
    transparent 20px
  ),
  repeating-linear-gradient(
    0deg,
    #E5F8FA ,
    #E5F8FA 1px,
    #d6eef1 1px,
    #d6eef1 20px
  );
}

.flow .wrap-contents{
    gap: 60px!important;
}
.flow-ttl {
position: relative;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
text-align: center;
}
.flow-ttl .sub-ttl {
font-size: 32px;
color: #0f3b8a!important;
font-family: Roboto;
}

.flow-ttl .ttl-line {
width: 86px;
height: 6px;
position: relative;
border-top: 6px solid #2c5bad;
box-sizing: border-box;
border-radius: 10px;
}
.flow-ttl h2{
position: relative;
font-size: 36px;
letter-spacing: 0.05em;
line-height: 52px;
font-family: 'Noto Sans JP';
color: #111;
}
.flow-contents {
  	align-self: stretch;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	gap: 20px;
  	z-index: 2;
  	flex-shrink: 0;
  	text-align: left;
}
.flow-box {
  	align-self: stretch;
  	border-radius: 20px;
  	background-color: #fff;
  	display: flex;
  	align-items: center;
  	justify-content: space-between;
  	padding: 40px;
  	gap: 20px;
}
.flow-text {
  	width:64%;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	gap: 20px;
}

.flow-box p{
    text-align: left;
    font-size: 20px;
    color: #111;
    line-height: 160%;
    font-family: 'Noto Sans JP';
    font-weight: 400;
    
}
.flow-text .no {
  	background-color: #18939b;
    color: #fff;
width: 2.4rem;
    text-align: center;
    height: 2.4rem;
    line-height: 2.2rem;
    font-weight: 700;
}

.flow-text h3 {
  	font-size: 30px;
  	letter-spacing: 0.05em;
  	line-height: 25.6px;
  	font-family: 'Noto Sans JP';
  	color: #18939b;
    display: flex;
    align-items: center;
        gap: 10px;
}


.flow-text .no b {
  	height: 32px;
  	width: 16px;
  	position: absolute;
  	margin: 0 !important;
  	top: 5px;
  	left: 11px;
  	line-height: 100%;
  	display: flex;
  	align-items: center;
  	z-index: 0;
    color: #fff;
    padding-right: .5em;
}
.line-btn02 {
  	border-radius: 10px;
  	background-color: #3cb901;
  	border-bottom: 5px solid #287a01;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	padding: 1rem 1.5rem;
  	font-size: 29px;
  	font-family: 'Zen Maru Gothic';
    width: 80%;
    line-height: 0!important;
}

.line-btn02 img {
    width: 90%;
}

.line-btn02 img{
    width: 100%;
}

.flow-img {
    width: 30%;
    text-align: center;
}
.flow-arrow {
  	width: 90px;
  	height: 20px;
  	object-fit: contain;
}

@media screen and (max-width: 800px) {
    .flow-box {
    width:90%;
    margin: auto;
    border-radius: 10px;
    display: block;
    padding: 2rem 1.5rem;
}
    .flow-text {
    width: 100%;
    display: contents;
    }
    .flow-text h3 {
    font-size: 1.3rem;
    letter-spacing: 0.05em;
    line-height: 1;
    justify-content: center;
    }
.flow-text .no {
        width: 1.8rem;
        height: 1.8rem;
        line-height: 1.8rem;
    }
.flow-box p {
    text-align: center;
    font-size: 1rem;
    }
.line-btn02 {
        margin: 1rem auto 0;
    padding: 1rem 1.5rem;
    width: 80%;
    }
.flow-img {
    width: 100%;
    text-align: center;
    }
.flow-img img{
    width: 40%;
    margin: 1rem auto;
    }
.flow-box02 .flow-img img{
    width: 30%;
    margin: 1.5rem auto;
    }
.flow-box03 .flow-img img{
        margin: 1.5rem auto;
    }
}

@media screen and (max-width: 500px) {
.line-btn02 {
    width: 100%;
    }
}


/************************************
** flowここまで
************************************/
/************************************
** faqここから
************************************/

.faq {
  	background-color: #fff;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	box-sizing: border-box;
  	color: #0f3b8a;
  	font-family: Inter;
    gap: 5rem;
}

.faq-contents {
  	align-self: stretch;
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	gap: 2.5rem;
  	text-align: left;
  	font-size: 1.875rem;
}
.faq-box {
  	align-self: stretch;
  	background-color: #fff;
  	display: flex;
  	flex-direction: column;
  	justify-content: center;
}
.q-btn-parent {
  	align-self: stretch;
  	background-color: #0f3b8a;
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	padding: 10px 20px;
  	gap: 14px;
}
.q-btn {
  	height: 43.9px;
  	width: 40px;
  	position: relative;
  	flex-shrink: 0;
}
.q-btn-child {
  	position: absolute;
  	top: calc(50% - 18.02px);
  	left: 0px;
  	border-radius: 50%;
  	background-color: #fff;
  	width: 40px;
  	height: 40px;
}
.q {
  	position: absolute;
  	top: 0px;
  	left: 8.44px;
  	line-height: 160%;
  	display: inline-block;
    font-size: 2em;
}

.q-text {
  	flex: 1;
  	position: relative;
  	font-size: 1.375rem;
  	letter-spacing: 0.05em;
  	line-height: 160%;
  	font-family: 'Noto Sans JP';
  	color: #fff;
  	flex-shrink: 0;
}

.a-btn-parent {
  	align-self: stretch;
  	background-color: #f4f4f4;
  	border-right: 1px solid #0f3b8a;
  	border-bottom: 1px solid #0f3b8a;
  	border-left: 1px solid #0f3b8a;
  	display: flex;
  	align-items: flex-start;
  	justify-content: center;
  	padding: 30px 30px 30px 20px;
  	gap: 40px;
  	color: #fff;
}
.a-btn {
  	height: 48px;
  	width: 40px;
  	position: relative;
}
.a-btn-child {
  	position: absolute;
  	top: 4.45px;
  	left: 0px;
  	border-radius: 50%;
  	background-color: #0f3b8a;
  	width: 40px;
  	height: 40px;
}
.a {
  	position: absolute;
  	top: 0px;
  	left: 9px;
  	line-height: 160%;
    font-size: 2em;
}
.a-text p {
  	flex: 1;
  	position: relative;
  	font-size: 1.125rem;
  	letter-spacing: 0.05em;
  	line-height: 180%;
  	font-family: 'Noto Sans JP';
  	color: #1d3e5f;
}

/**************************************
 * よくある質問
**************************************/

/* アコーディオン */
.accordion {
  width: 100%;
	font-size:.95em;
}

/* inputのチェックボックスを非表示 */
.accordion-hidden {
  display: none;
}

/* 見出しボタン部分 */
.accordion-open {
    display: block;
    cursor: pointer;
    position: relative;
    font-weight:600;
}

/* ＋アイコン */
.accordion-open::before,
.accordion-open::after {
  content: '';
  width:24px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 50%;
  right:1em;
  transform: translateY(-50%);
}

/* アイコンのー */
.accordion-open::after {
  transform: translateY(-50%) rotate(90deg);
  transition: .5s;
}

/* アコーディオンが開いたらーに */
.accordion-hidden:checked+.accordion-open:after {
  transform: translateY(-50%) rotate(0);
}

/* アコーディオン中身部分 */
.accordion-inner {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  transition: 0.5s;
  /* 表示速度の設定 */
  cursor: pointer;
		line-height:1.8;
}

/* チェックボックスにチェックが入ったら中身部分を表示する */
.accordion-hidden:checked+.accordion-open+.accordion-inner {
  height: auto;
  opacity: 1;
}

@media screen and (max-width: 800px) {
    .faq {
    gap: 4rem;
    background: #eaeaea;
}

.faq-contents {
  	gap: 1rem;
  	font-size: 1.4rem;
}
.q-btn-parent {
        padding: 8px 10px;
        gap: 0;
}
.q-btn {
height: auto;
        width: 2rem;
  	position: relative;
  	flex-shrink: 0;
}
    .q-btn-child {
position: absolute;
        top: calc(50% - .8rem);
        left: 0px;
        border-radius: 50%;
        width: 1.6rem;
        height: 1.6rem;
        background-color: #fff;
    }
.q {
font-size: .9em;
        left: .3rem;
        top: calc(50% - .6rem);
        line-height: 1;
}

.q-text {
        font-size: 1.05rem;
    padding-right:1rem;
}

.a-btn-parent {
    padding: 1em 10px;
    gap: 10px;
    border: none;
}
.a-btn {
height: auto;
        width: 2rem;
  	position: relative;
}
.a-btn-child {
position: absolute;
                top: .5rem;
        left: 0px;
        border-radius: 50%;
        width: 1.6rem;
        height: 1.6rem;
  	background-color: #0f3b8a;
}
    .a {
font-size: .9em;
        left: .4rem;
        top: .7rem;
        line-height: 1;
    }
    

.a-text p {
    margin-left: 1rem;
        font-size: 1rem;
}
    
    .accordion-open::before, .accordion-open::after {
    content: '';
    width: 1rem;
        right: .5em;
    }
}

/************************************
** cta（最後）ここから
************************************/

.cta-last{
    padding-top:2rem;
    padding-bottom:2rem;
}

.cta-last .cta-ttl{
    margin-top: 3rem;
    }


.cta-last-text {
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	position: relative;
  	isolation: isolate;
  	gap: 3rem;
    animation: dokundokun 1300ms ease infinite;
}

.cta-last-text p {
    text-align: center;
}

.cta-last-text-main p {
    background-color: #fff;
    display: inline-block;

}

.cta-last-text-main span{
    display: inline-block;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
  	padding: 8px 20px;
    font-size: 2.75rem;
  	letter-spacing: 0.05em;
  	line-height: 100%;
  	font-weight: 900;
  	background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.1)), #0f3b8a;
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
}

.cta-last-text-sub {
  	position: relative;
  	font-size: 1.5rem;
  	letter-spacing: 0.05em;
  	line-height: 140%;
  	font-weight: 400;
  	background: linear-gradient(#111, #111), #0d44a4;
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
}

.cta-last-text-main p:last-of-type{
    margin-top: 10px;
}

.arrow-3r-1-icon {
  	width: 50%;
  	position: relative;
  	max-height: 100%;
  	object-fit: cover;
  	z-index: 3;
}

@media screen and (max-width: 800px) {
    .cta-last-text{
        gap: 2.5rem;
    }
    .cta-last .cta-ttl {
    margin-top: 2.5rem;
    }
    .cta-last-text-main span {
    padding: 6px 10px;
    font-size: 1.6rem;
    }
    .cta-last-text-main p:last-of-type {
    margin-top: 8px;
}
    .cta-last-text-sub {
    font-size: 1.1rem;
    }
    .arrow-3r-1-icon {
  	width: 70%;
}
    
}


/************************************
** rare02ここから
************************************/

.rare02 {
  	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
}
.rare02-ttl {
  	align-self: stretch;
  	background-color: #18939b;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
}
.union-icon5 {
  	width: 0px;
  	height: 0px;
  	position: relative;
  	margin: 0 !important;
  	flex-shrink: 0;
}
.rare02-ttl h2 {
  	align-self: stretch;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	padding-top: 3.125rem;
    padding-bottom: 3.125rem;
  	gap: 1.25rem;
  	flex-shrink: 0;
    font-size: 1.8rem;
    font-weight: 500;
}
.rare02-ttl-sub {
  	align-self: stretch;
  	position: relative;
  	letter-spacing: 0.05em;
  	line-height: 100%;
}
.rare02-ttl-main {
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	gap: 10px;
  	font-size: 2.25rem;
}
.rare02-ttl-main-strong {
  	background-color: #fff;
  	padding: 0.25rem 0.625rem 0.375rem;
  	font-size: 2.375rem;
  	letter-spacing: 0.04em;
  	line-height: 1;
  	font-weight: 500;
    text-shadow: none;
    color: #18939b;
    font-weight: 600;
  	
}
.rare02-contents {
    background-image: url(img/rare02_bg.jpg);
    background-size: cover;
  	align-self: stretch;
  	background-color: #fff;
  	overflow: hidden;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	position: relative;
  	isolation: isolate;
  	gap: 40px;
  	font-size: 18px;
  	color: #111;
}

.rare02-photo img{
    width: 100%;
}

.rare02-text {
    overflow: scroll;
    width: 100%;
  	height: 26.625rem;
  	background-color: #fff;
  	border: 4px solid #18939b;
  	box-sizing: border-box;
  	padding: 2.5rem 1.875rem;
}

.rare02-text::-webkit-scrollbar-track {
  width: 20px; /* 横幅設定 */
}

.rare02-text::-webkit-scrollbar-thumb {
  background: #276976; /* ハンドルの色 */
}

.rare02-text::-webkit-scrollbar-track {
  background: #daefef; /* 背景色 */
}

.rare02-text p {
    text-align: left;
    font-size: 1rem;
  	letter-spacing: 0.07em;
  	line-height:2.4em;
  	z-index: 2;
  	flex-shrink: 0;
    margin-bottom: 1em;
    margin-bottom: 1em;
}
.union-icon6 {
  	width: 40px;
  	height: 20px;
  	position: absolute;
  	margin: 0 !important;
  	top: -1px;
  	left: calc(50% - 20px);
  	z-index: 4;
  	flex-shrink: 0;
}

@media screen and (max-width: 800px) {
    
    .rare02-ttl h2 {
    font-size: 1.3rem;
        gap: 1rem;
            padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    }
    .rare02-ttl-main {
    font-size: 1.6rem;
}
    .rare02-ttl-main-strong {
    font-size: 1.8rem;
    }
    .rare02-text {
    padding: 1.5rem 1rem;
}
    .rare02-text p {
    line-height: 2em;
        font-size: .95rem;
    }
    
}

/************************************
** footerここから
************************************/

.footer {
  	font-size: .9rem;
  	font-family: Roboto;
    text-align: center;
}
.footer-logo {
  	width: 100%;
  	background-color: #fff;
  	padding: 30px 0px;
}

.copyright {
  	background-color: #18939b;
  	padding: 20px 0px;
}

@media screen and (max-width: 800px) {
    .footer {
    font-size: .8rem;
    }
    .footer-logo {

    padding: 20px 0px;
}
    .footer-logo img {
  	width: 50%;
        max-width: 220px;
}
}

/* スクロールフェードイン */
@keyframes slideinBottom {
  0% {
    transform: translateY(100px);
  }
  100% {
    transform: translateY(0);
  }
}

.fadeIn {
  opacity: 0;
  transition: 1s;
}

.fadeIn.is-show {
  opacity: 1;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 1s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_left {
  opacity: 0;
  transform: translate(-30%, 0);
  transition: .5s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.slideinLeft {
  animation: slideinLeft 2s;
}

/* アニメーション */

@keyframes dokundokun {
  0%  { transform: scale(1); }
  15% { transform: scale(1.1); }
  30% { transform: scale(1); }
  45% { transform: scale(1.1); }
  70% { transform: scale(1); }
}

@-webkit-keyframes shinyshiny {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.slideinLeft {
  animation: slideinLeft 2s;
}

@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}

@keyframes slideinLeft {
  0% {
    transform: translateX(-450px);
		opacity:0;
  }
  100% {
    transform: translateX(0);
		opacity:1;
  }
}



/************************************
** スクロールで浮かぶ固定バナーここから
************************************/


	#floating-banner{
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 79 !important;
        display: none;
        margin: auto;
        padding: 0 10px 14px 10px;
        width: 100vw;
}
    
	#floating-banner .fixed_btn{
        display: flex;
        gap: 10px;
        align-items: flex-end;
        justify-content: space-between;
}

#floating-banner .fixed_btn_left {

width: 80vw;
}
#floating-banner .fixed_btn_right {
        height: 50px;
        width: 50px;
        background: #fff;
        border: solid 2px #333;
        border-radius: 50%;
        box-sizing: content-box;
            position: relative;
}
#floating-banner .cta-btn {
        min-height: 56px;
    }
#floating-banner .cta-btn::after{
        display: none;
    }
    
#floating-banner .cta-btn-text {
        font-size: 1rem;
    }
#floating-banner .line-icon {
        max-width: 2rem;
    }

.pagetop {
    position: absolute;
top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
}

.pagetop_arrow {
    height: 12px;
    width: 12px;
        border-top: 2px solid #333;
        border-right: 2px solid #333;
    transform: translateY(20%) rotate(-45deg);
    margin: 5px auto 0;
}
.pagetop p {
    text-align: center;
        font-size: .8rem;
        font-weight: 700;
            letter-spacing: 0;
    color: #333;
}

@media screen and (min-width: 800px) {
    #floating-banner {
        position: fixed;
        bottom: 10px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 99999 !important;
        display: none;
        margin: auto;
        padding: 0 10px 14px 10px;
        max-width: 1000px;
        width: 100%;
}
    #floating-banner .fixed_btn {
    gap:20px;
    justify-content: center;
    }
    #floating-banner .fixed_btn_left {
        width: 70%;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        max-width: 500px;
    }
    #floating-banner .fixed_btn_right {
        height: 4rem;
        width: 4rem;
    background: #fff;
    border: solid 2px #333;
    border-radius: 50%;
    box-sizing: content-box;
    position: fixed;
    right: 1rem;
}
    #floating-banner .cta-btn {
    min-height: 5rem;
}
    #floating-banner .cta-btn-text {
        font-size: 1.4rem;
    }
#floating-banner .line-icon {
        max-width: 2.6rem;
    }
}

/************************************
** スクロールで浮かぶ固定バナーここから
************************************/


/* ヘッダー全体のスタイル */
.header{
    display: none;
}
.header.fixed {
    position: fixed;
    top:0;
    z-index: 90;
    width: 100%;
    max-width: 1000px;
    display: block;
}

/* ヘッダー内部のコンテナ */
.header-inner {
background-color: rgba(255,255,255,0.9);
    border-bottom: 1px solid #eee;
  width: 100%; /* または1200pxなど */
padding: 10px 10px 10px 2.5rem;
  display: flex; /* Flexboxで子要素を横並びにする */
  justify-content: space-between; /* ロゴとナビを両端に配置 */
  align-items: center; /* 垂直方向中央揃え */
}

.header-logo img{
    height: 40px;
    width: auto;
}

/* ナビゲーションのスタイル */
.global-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
}

.global-nav li {
    margin: 0 8px;
    /*
    border-left: 1px solid #333;
    */
}

.global-nav a {
text-decoration: none;
    color: #666;
    font-size: 0.85em;
}

@media screen and (max-width: 800px) {
    .header{
        padding: 0;
    }
.header-inner {
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 1rem;
}
}
    
.menu-btn {

    position: absolute;
    top: 6px;
    right: 10px;

    display: flex;
    height: 40px;
    width: 40px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #18939b;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}

#menu-btn-check {
    display: none;
}

.menu-content ul {
    padding: 70px 10px;
}
.menu-content ul li {
    border-bottom: solid 1px #333;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#333;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}

.menu-content {
    width: 70%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #fff;
    transition: all 0.5s;/*アニメーション設定*/
        margin-left: 30%;
}

#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}

.anchor::before {
    display: block;
    height: 100px;
    margin-top: -100px;
    content: "";
}