@charset "utf-8";
/* CSS Document */
.button-color.button-fixed {
	transition: .2s all;
}
.mv-top .mv-container {
	padding: 1rem 0 0;
}
@media screen and (min-width: 1134px) and (max-width: 1300px) {
	.mv-top .mv-container {
	    left: 45%;
	}
}
@media screen and (min-width: 991px) and (max-width: 1100px) {
    .mv-title {
        font-size: 2.35rem;
        line-height: 1.55;
    }
}
@media screen and (min-width: 910px) {
.button-color.button-fixed  {
	-ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
	letter-spacing: .15em;
	height: 290px;
}
	.button-color.button-fixed a {
		padding-top: 1.7rem;
	}
.text-upright {
	font-weight: 700;
	letter-spacing: -.175em;
	margin-bottom: .15em;
	vertical-align: -webkit-baseline-middle;
	display: inline-block;
    margin-right: -.125rem;
    }
	.button-color.button-fixed::before {
		top: 1.25rem;
		height: 1.5rem;
    	width: 1.5rem;
	}
	.button-color.button-fixed::before {
		opacity: .75;
}
}

.button-color.button-fixed:hover,
.button-color.button-fixed:hover::before {
    opacity: .75;
}
@media screen and (max-width: 909px) {
    .button-color.button-fixed {
        writing-mode: horizontal-tb;
        right: 20px;
        top: auto;
        bottom: 0;
        transform: translateY(0%);
        padding: 1rem 2.25rem .875rem 4rem;
        letter-spacing: 0.05em;
        border-radius: 8px 8px 0 0;
        font-size: 1.05rem;
        min-width: calc(172px + 5.5rem);
        width: calc(172px + 5.5rem);
        height: 49px;
    }
	.button-color.button-fixed a {
        padding-top: 0;
        padding-left: 2.25rem;
        letter-spacing: .1em;
        line-height: 2.45;
        font-size: 1.2rem;
        font-weight: 700;
    }
    .button-color.button-fixed::before {
        content: '';
        height: 1.5rem;
        width: 1.5rem;
        top: 50%;
        left: 9.5%;
        transform: translateY(-50%);
        display: block;
        position: absolute;
    }
	.text-upright { 
		font-size: 1.075em;
        letter-spacing: .1em;
	}
}
@media screen and (min-width: 768px) and (max-width: 909px) {
	.button-color.button-fixed {
	    min-width: calc(50% - 20px);
        width: calc(50% - 20px);
		height: 54px;
	}
	.button-color.button-fixed::before {
	        top: calc(50% - .125rem);	
	}
	.button-color.button-fixed a {
        padding-left: 1rem;
}
}

.large-message {
    line-height: 2.125;
}
.large-message .price-box {
    display: inline-block;
    width: fit-content;
    vertical-align: top;
    line-height: 1.65;
}
.large-message .price-box-inner {
	font-size: .65em;
    display: block;
    margin-top: -.125rem;
    opacity: .9;
    font-weight: 500;
	line-height: 1;
}
.large-message .price-box-inner .weight700.size125 {
	color: #938406;
}
.large-message .font-yen {
	font-size: .9em;
	margin-right: .05rem;
}
.large-message .s-through {
	position: relative;
}
.large-message .s-through::before {
	content: "";
	display: block;
	height: 2px;
	background: #938406;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 2px;
}
.large-message .font-arrow {
	margin: 0 .25rem 0 .5rem;
    font-weight: 900;
}
@media screen and (min-width: 1041px) {
.large-message {
    line-height: 2.75;
}
.large-message .price-box {
    line-height: 2.125;
}
	.large-message .price-box-inner {
	    margin-top: 0;
	}
}
@media screen and (max-width: 1040px) {
.large-message .price-box-inner {
    margin-top: .5rem;
    margin-bottom: .25rem;
	font-size: .625em;
	line-height: 1.25;
}
}
@media screen and (max-width: 767px) {
	    .large-message {
        line-height: 2;
	}
.large-message .price-box {
    width: fit-content;
}
	.large-message .border-gradation-gold {
    margin: 0 .5rem 0 0;
}
	.large-message .price-box-inner {
		 font-size: .75em;
		        margin-left: -.65rem;
		margin-top: .3rem;
	}
	.large-message .sp-line-box {
		display: inline-block;
		margin: .5rem auto .35rem;
	}
	.btn-upper-text01 .line-green {
    margin-right: .125rem;
    margin-left: .125rem;
}
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
.mv-image_app-device {
        top: 4rem;
	}
}
.mv-title-sub {
	background: white;
    padding: 0 .25rem .125rem .75rem;
    line-height: 1.3;
    width: fit-content;
    margin-top: 2rem;
    color: /*#333a47*/rgba(51,58,71,.925);
	    font-weight: 600;
	letter-spacing: -.015em;
}
.mv-title-sub .color-gold {
	color: #938406;
	font-weight: 900;
	opacity: .9;
    letter-spacing: .05em;
}
@media screen and (max-width: 990px) {
.mv-title-sub {
	font-size: 1.25rem;
	}
.mv-title-sub {
	 margin-top: 1.25rem;
}
}
@media screen and (max-width: 767px) {
	.mv-title-sub {
		font-size: 1.2rem;
	 margin: .75rem auto;
}
	.mv-top .mv-container {
        bottom: -5rem;
		background: white;
    overflow: hidden;
		padding-top: 0;
	}
		/*.mv-top .mv-container > .wp-block-group__inner-container {
			background: white;
    overflow: hidden;	
	}*/
	   .mv h1.wp-block-heading {
        font-size: 1.65rem;
        line-height: 1.6;
	}
    .doctor-area.doctor-area-mv {
        margin-top: 4.5rem;
    }
}
@media screen and (min-width: 1281px) {
	.doctor-area.doctor-area-mv {
    right: calc(((100vw - 960px) / 2) - 70px);
	}
}
@media screen and (max-width: 1183px) {
	
}
.mar0125 {
	margin-right: .125rem;
	margin-left: .125rem;
}
.marL0125 {
	margin-left: .125rem;	
}
.marR01e {
	margin-right: .1em;
}


/* 20250604 */
@media screen and (min-width: 910px) {
.button-color.button-fixed {
	        letter-spacing: .125em;
        height: 244px;
        font-feature-settings: "vpal";
}
    .button-color.button-fixed a {
        padding-top: 1.85rem;
	}
}
@media screen and (min-width: 768px) {
.large-message-area + .button-color {
	margin-top: 3.5rem;
}
}
@media screen and (max-width: 767px) {
.large-message-area + .button-color {
	margin-top: 2rem;
}
}

/* 20250704 */
@media screen and (max-width: 767px) {
.announcement.section {
	padding-bottom: 10px;
	padding-top: 48px;
}
}