@charset "utf-8";

/*================================

:::::::::: masthead ::::::::::

================================*/

.masthead {
	position: relative;
	display: flex;
	width: 100%;
	}
@media screen and (max-width: 1024px) {
.masthead {
                flex-direction: column;
	}
                }

.masthead .photo{
	display: block;
	width: 55%;
	}
@media screen and (max-width: 1024px) {
.masthead .photo{
	width: 100%;
	}
                }

.masthead .photo img{
	width: 100%;
	height: auto;
	}

.masthead .side{
                position: relative;
	display: flex;
                align-items: center;
                justify-content: center;
                flex-direction: column;
	width: 45%;
	}
@media screen and (max-width: 1024px) {
.masthead .side{
	width: 100%;
                padding-top: 3rem;
                padding-bottom: 3rem;
	}
                }

.masthead .side h2{
                font-size: 2.5vw;
                line-height: 1em;
	}
@media screen and (max-width: 1024px) {
.masthead .side h2{
                font-size: 4vw;
	}
                }
@media screen and (max-width: 768px) {
.masthead .side h2{
                font-size: 2rem;
	}
                }

.masthead .side .catch{
                padding-top: 3rem;
                font-size: 2vw;
                line-height: 1.8em;
                text-align: center;
	}
@media screen and (max-width: 1024px) {
.masthead .side .catch{
                padding-top: 2rem;
                font-size: 3vw;
                line-height: 1.6em;
	}
                }
@media screen and (max-width: 768px) {
.masthead .side .catch{
                padding-top: 2rem;
                font-size: 1.4rem;
	}
                }

.masthead .side .lead{
                padding-top: 3rem;
                font-size: 1rem;
                line-height: 1.8em;
                text-align: center;
	}
@media screen and (max-width: 1024px) {
.masthead .side .lead{
                padding-top: 2rem;
                font-size: 1rem;
	}
                }

/*================================

:::::::::: block_3point ::::::::::

================================*/

.block_3point {
	position: relative;
	width: 100%;
                border-top: 1px solid #dedede;
                padding: 5rem 0;
	}
@media screen and (max-width: 768px) {
.block_3point {
                padding: 3rem 0;
	}
                }

.block_3point .inner{
	width: 60%;
                max-width: 1000px;
                margin: auto;
                text-align: center;
	}
@media screen and (max-width: 768px) {
.block_3point .inner{
	width: 90%;
                max-width: 90%;
	}
                }

.block_3point .inner h2{
                font-size: 1.5rem;
	}
@media screen and (max-width: 768px) {
.block_3point .inner h2{
                font-size: 1.2rem;
                line-height: 1.4em;
	}
                }

.block_3point .inner p.catch{
                margin-top: 3rem;
                font-size: 1.5rem;
                line-height: 1.8em;
	}
@media screen and (max-width: 768px) {
.block_3point .inner p.catch{
                font-size: 1.3rem;
                margin-top: 2rem;
	}
                }

.block_3point .inner p.catch span{
                font-size: 1.2em;
	}

.block_3point .inner .copy{
                padding-top: 2rem;
                font-size: 1rem;
                line-height: 1.8em;
	}
@media screen and (max-width: 1024px) {
.block_3point .inner .copy{
                padding-top: 2rem;
                font-size: 1rem;
	}
                }

.block_3point .inner .photo{
                margin-top:3rem;
	width: 100%;
	}

.block_3point .inner .photo img{
	width: 100%;
	}

.block_3point .inner p.balance{
                display: inline-block;
                margin: auto;
                margin-top: 3rem;
                padding: 1rem 3rem;
                font-size: 1.5rem;
                line-height: 1.6em;
                font-weight: 400;
                border: 1px solid #FF9986;
	}
@media screen and (max-width: 768px) {
.block_3point .inner p.balance{
                margin-top: 1rem;
                padding: 1rem 0;
                width: 100%;
	}
                }

.block_3point .inner p.tugline{
                margin-top: 3rem;
                font-size: 1.2rem;
                line-height: 1em;
	}
@media screen and (max-width: 768px) {
.block_3point .inner p.tugline{
                margin-top: 2rem;
                line-height: 1.6em;
	}
                }

.block_3point .inner .lead{
                padding-top: 3rem;
                font-size: 1rem;
                line-height: 1.8em;
	text-align: justify;
	text-justify: inter-ideograph;
	}
@media screen and (max-width: 768px) {
.block_3point .inner .lead{
                padding-top: 2rem;
                line-height: 1.6em;
	}
                }

.block_3point .inner .caption{
                padding-top: 1rem;
                font-size: .8rem;
                line-height: 1.8em;
	text-align: justify;
	text-justify: inter-ideograph;
	}


/*================================

:::::::::: block_feature ::::::::::

================================*/

.block_feature {
	position: relative;
	width: 100%;
                border-top: 1px solid #dedede;
                padding: 5rem 0;
	}
@media screen and (max-width: 768px) {
.block_feature {
                padding: 3rem 0;
	}
                }

.block_feature .inner{
	width: 60%;
                max-width: 1000px;
                margin: auto;
                text-align: center;
	}
@media screen and (max-width: 768px) {
.block_feature .inner{
	width: 90%;
                max-width: 90%;
	}
                }

.block_feature .inner h2{
                display: inline-block;
                font-size: 1.7rem;
                line-height: 1em;
                font-weight: 400;
                padding-bottom: 4px;
                border-bottom: 1px solid #FF9986;
	}
@media screen and (max-width: 768px) {
.block_feature .inner h2{
                font-size: 1.5rem;
	}
                }

.block_feature .inner .package{
                margin-top: 5rem;
                display: flex;
                flex-wrap: wrap;
                column-gap: 10%;
                row-gap: 4rem;
	}
@media screen and (max-width: 768px) {
.block_feature .inner .package{
                margin-top: 3rem;
                column-gap: 0;
	}
                }

.block_feature .inner .package .feature{
                position: relative;
                display: flex;
                flex-direction: column;
                width: 45%;
	}
@media screen and (max-width: 768px) {
.block_feature .inner .package .feature{
                width: 100%;
	}
                }

.block_feature .inner .package .feature .icon{
                position: absolute;
                width: 80px;
                height: 80px;
                top: -40px;
                left: 10px;
	}
@media screen and (max-width: 768px) {
.block_feature .inner .package .feature:nth-child(2n) .icon{
                right: 10px;
                left: auto;
	}
                }

.block_feature .inner .package .feature div{
                width: 100%;
	}

.block_feature .inner .package .feature div img{
                width: 100%;
	}

.block_feature .inner .package .feature p{
                margin-top: 2rem;
                font-size: 1.3rem;
                line-height: 1.6em;
	}
@media screen and (max-width: 768px) {
.block_feature .inner .package .feature p{
                margin-top: 1rem;
                font-size: 1.3rem;
                line-height: 1.6em;
	}
                }

.block_feature .inner .etc{
                border-top: 1px solid #dedede;
                margin-top: 5rem;
	}
@media screen and (max-width: 768px) {
.block_feature .inner .etc{
                margin-top: 3rem;
                column-gap: 0;
	}
                }

.block_feature .inner .etc .one{
                position: relative;
                display: flex;
                align-items: center;
                flex-direction: row;
                column-gap: 5%;
                width: 100%;
                margin-top: 3rem;
	}
@media screen and (max-width: 768px) {
.block_feature .inner .etc .one{
                width: 100%;
                column-gap: 5%;
	}
                }

.block_feature .inner .etc .one div{
                width: 25%;
	}
@media screen and (max-width: 768px) {
.block_feature .inner .etc .one div{
                width: 35%;
	}
                }

.block_feature .inner .etc .one div img{
                width: 100%;
	}

.block_feature .inner .etc .one p{
	text-align: justify;
	text-justify: inter-ideograph;
                width: 70%;
                line-height: 1.6em;
	}
@media screen and (max-width: 768px) {
.block_feature .inner .etc .one p{
                width: 60%;
	}
                }

.block_feature .inner .etc .one p span{
                display: block;
                padding-bottom: 1.2rem;
                font-size: 1.3rem;
	}
@media screen and (max-width: 768px) {
.block_feature .inner .etc .one p span{
                padding-bottom: 1rem;
	}
                }







