@charset "utf-8";

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

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

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

.masthead {
	position: relative;
	width: 100%;
                padding: 5rem 0;
	}
@media screen and (max-width: 768px) {
.masthead {
                padding: 3rem 0;
	}
                }

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

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

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

:::::::::: packs ::::::::::

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

.packs {
	position: relative;
	width: 100%;
                border-top: 1px solid #dedede;
	}
@media screen and (max-width: 768px) {
.packs {
                border-top: none;
	}
                }

.packs .inner{
	width: 100%;
	}

.packs .inner .one{
	width: 100%;
                display: flex;
                flex-wrap: nowrap;
	}
.packs .inner .one:nth-child(2){
	flex-direction :row-reverse;
	}
@media screen and (max-width: 768px) {
.packs .inner .one{
                flex-direction: column;
	}
.packs .inner .one:nth-child(2){
	flex-direction :column;
	}
                }

.packs .inner .one .photo{
	width: 100%;
	}

.packs .inner .one .photo img{
	width: 100%;
	}

.packs .inner .one .text{
	width: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
	}

.packs .inner .one .text{
	width: 100%;
	}

.packs .inner .one .text a{
	width: 100%;
                height: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
	}
@media screen and (max-width: 768px) {
.packs .inner .one .text a{
                padding: 2rem 0 4rem;
	}
                }

.packs .inner .one .text a h3{
                font-size: 2vw;
	}
@media screen and (max-width: 1024px) {
.packs .inner .one .text a h3{
                font-size: 1.5rem;
	}
                }
@media screen and (max-width: 768px) {
.packs .inner .one .text a h3{
                font-size: 1.5rem;
                line-height: 1em;
	}
                }

.packs .inner .one .text a .image{
	width: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                margin-top: 3rem;
	}
@media screen and (max-width: 768px) {
.packs .inner .one .text a .image{
	width: 90%;
                flex-direction: row;
                margin-top: 2rem;
                column-gap: 10%;
	}
                }

.packs .inner .one .text a .image .logo{
                width: 45%;
	}
@media screen and (max-width: 768px) {
.packs .inner .one .text a .image .logo{
                width: 55%;
	}
                }

.packs .inner .one .text a .image .makura{
                width: 30%;
                margin-top: 2rem;
	}
@media screen and (max-width: 768px) {
.packs .inner .one .text a .image .makura{
                width: 35%;
                margin-top: 0;
	}
                }

.packs .inner .one .text a p.btn{
                display: block;
                width: 30%;
                height: auto;
                margin-top: 3rem;
                padding: 1rem;
                border: 1px solid #212121;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
                font-size: 1rem;
                text-align: center;
	background-position: right 1em center;
	background-repeat: no-repeat;
	background-image: url(../images/icon-arrow-right-black.svg);
	background-size: 1em;
	}
@media screen and (max-width: 1024px) {
.packs .inner .one .text a p.btn{
                width: 40%;
	}
                }
@media screen and (max-width: 768px) {
.packs .inner .one .text a p.btn{
                margin-top: 2rem;
                width: 50%;
	}
                }

.packs .inner .one.kata a p.btn{
                border: 1px solid #E2511C;
	background-image: url(../images/icon-arrow-right-orange.svg);
                color: #E2511C;
	}
.packs .inner .one.kubi a p.btn{
                border: 1px solid #009386;
	background-image: url(../images/icon-arrow-right-green.svg);
                color: #009386;
	}
.packs .inner .one.yoko a p.btn{
                border: 1px solid #0065AB;
	background-image: url(../images/icon-arrow-right-blue.svg);
                color: #0065AB;
	}
.packs .inner .one a p.btn{
                border: 1px solid #81734E;
	background-image: url(../images/icon-arrow-right-gold.svg);
                color: #81734E;
	}
@media screen and (max-width: 768px) {
.packs .inner .one a p.btn{
                margin-top: 0;
                padding: .75rem;
	}
                }

.packs .inner .one a:hover p.btn{
                color: #fff;
	background-image: url(../images/icon-arrow-right-white.svg);
	}
.packs .inner .one.kata a:hover p.btn{
                background-color: #E2511C;
	}
.packs .inner .one.kubi a:hover p.btn{
                background-color: #009386;
	}
.packs .inner .one.yoko a:hover p.btn{
                background-color: #0065AB;
	}
.packs .inner .one a:hover p.btn{
                background-color: #81734E;
	}


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

:::::::::: packs ::::::::::

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

.packs.premium {
                background-color: #F3EFE8;
                border-top: none;
	}

.packs.premium .upper{
                padding: 5rem 0;
                text-align: center;
	}
@media screen and (max-width: 768px) {
.packs.premium .upper{
                padding: 4rem 0 3.5rem;
	}
                }

.packs.premium p.subtitle{
                font-size: 1.6rem;
                line-height: 1em;
	}

.packs.premium p.subtitle{
                font-size: 1.4rem;
                line-height: 1em;
                display: flex;
                align-items: center;
                justify-content: center; 
                color: #81734E;
	}
@media screen and (max-width: 768px) {
.packs.premium p.subtitle{
                font-size: 1.5rem;
	}
                }

.packs.premium p.subtitle:before,
.packs.premium p.subtitle:after{
                border-top: 1px solid;
                content: "";
                width: 3rem;
	}
@media screen and (max-width: 768px) {
.packs.premium p.subtitle:before,
.packs.premium p.subtitle:after{
                width: 2rem;
	}
                }

.packs.premium p.subtitle:before {
                margin-right: 1em;
                }
.packs.premium p.subtitle:after {
                margin-left: 1em;
                }

.packs.premium p.sub{
                margin-top: 3rem;
                font-size: 1.3rem;
                line-height: 1.6em;
	}
@media screen and (max-width: 768px) {
.packs.premium p.sub{
                margin-top: 3rem;
                font-size: 1.2rem;
	}
                }

.packs.premium p.sublead{
                margin-top: 3rem;
                font-size: 1rem;
                line-height: 1.8em;
	}
@media screen and (max-width: 768px) {
.packs.premium p.sublead{
                margin-top: 2rem;
                line-height: 1.8em;
	}
                }

.packs.premium .inner .one{
	width: 100%;
                display: flex;
                flex-wrap: nowrap;
	flex-direction :row-reverse;
                background: #EDE8DF;
	}
.packs.premium .inner .one:nth-child(2){
	flex-direction :row;
	}
@media screen and (max-width: 768px) {
.packs.premium .inner .one{
                flex-direction: column;
	}
.packs.premium .inner .one:nth-child(2){
	flex-direction :column;
	}
                }

.packs.premium .inner .one .text a .image{
	width: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                margin-top: 2rem;
	}
@media screen and (max-width: 1024px) {
.packs.premium .inner .one .text a .image{
                margin-top: 1rem;
	}
                }
@media screen and (max-width: 768px) {
.packs.premium .inner .one .text a .image{
	width: 90%;
                flex-direction: row;
                margin-top: 2rem;
                column-gap: 10%;
	}
                }

.packs.premium .inner .one .text a p.btn{
                border: 1px solid #81734E;
                color: #81734E;
	background-image: url(../images/icon-arrow-right-gold.svg);
	}
@media screen and (max-width: 1024px){
.packs.premium .inner .one .text a p.btn{
                margin-top: 2rem;
	}
                }

.packs.premium .inner .one a:hover p.btn{
                color: #fff;
                background-color: #81734E;
	background-image: url(../images/icon-arrow-right-white.svg);
	}


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

:::::::::: block_daki ::::::::::

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

.block_daki {
	position: relative;
	display: flex;
                align-items: center;
                justify-content: center;
	width: 100%;
                padding: 5rem 0;
	}
@media screen and (max-width: 768px) {
.block_daki {
                padding: 3rem 0;
                flex-direction: column;
	}
                }

.block_daki .inner{
	position: relative;
	display: flex;
                flex-wrap: nowrap;
	width: 90%;
                border: 1px solid #dedede;
	}
@media screen and (max-width: 768px) {
.block_daki .inner{
                flex-direction: column;
	}
                }

.block_daki .photo{
	width: 100%;
	}

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

.block_daki .tips{
	width: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
	}
@media screen and (max-width: 768px) {
.block_daki .tips{
                padding: 2rem 0;
	}
                }

.block_daki .tips a{
	width: 100%;
                height: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
	}

.block_daki .tips a h3{
                font-size: 1.6rem;
	}
@media screen and (max-width: 768px) {
.block_daki .tips a h3{
                font-size: 1.5rem;
	}
                }

.block_daki .tips a .image{
                margin-top: 2rem;
	display: flex;
                align-items: center;
                justify-content: space-between;
	width: 70%;
	}
@media screen and (max-width: 768px) {
.block_daki .tips a .image{
	width: 80%;
	}
                }

.block_daki .tips a .image .logo{
	width: 45%;
	}

.block_daki .tips a .image .logo img{
	width: 100%;
	}

.block_daki .tips a .image .makura{
	width: 45%;
	}

.block_daki .tips a .image .makura img{
	width: 100%;
	}

.block_daki .tips a p.btn{
                margin-top: 2rem;
                width: 35%;
                height: auto;
                padding: 1rem;
                border: 1px solid #212121;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
                font-size: 1rem;
                text-align: center;
	background-position: right 1em center;
	background-repeat: no-repeat;
	background-image: url(../images/icon-arrow-right-black.svg);
	background-size: 1em;
	}
@media screen and (max-width: 768px) {
.block_daki .tips a p.btn{
                width: 55%;
	}
                }

.block_daki .tips a:hover p.btn{
                color: #fff;
	background-image: url(../images/icon-arrow-right-white.svg);
                background-color: #555;
	}


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

:::::::::: block_cover ::::::::::

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

.block_cover {
	position: relative;
	display: flex;
                align-items: center;
                justify-content: center;
	width: 100%;
                padding: 0 0 5rem 0;
	}
@media screen and (max-width: 768px) {
.block_cover {
                padding: 0 0 3rem 0;
                flex-direction: column;
	}
                }

.block_cover .inner{
	position: relative;
	display: flex;
                flex-wrap: nowrap;
	width: 90%;
                border: 1px solid #dedede;
	}
@media screen and (max-width: 768px) {
.block_cover .inner{
                flex-direction: column;
	}
                }

.block_cover .photo{
	width: 100%;
	}

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

.block_cover .tips{
	width: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
	}
@media screen and (max-width: 768px) {
.block_cover .tips{
                padding: 2rem 0;
	}
                }

.block_cover .tips h3{
                font-size: 1.6rem;
	}
@media screen and (max-width: 768px) {
.block_cover .tips a h3{
                font-size: 1.5rem;
	}
                }

.block_cover .tips p{
                width: 80%;
                margin-top: 3rem;
                line-height: 1.6em;
	text-align: justify;
	text-justify: inter-ideograph;
	}
@media screen and (max-width: 1024px) {
.block_cover .tips p{
                margin-top: 1.5rem;
	}
                }


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

:::::::::: block_onlinestore ::::::::::

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

.block_onlinestore {
	position: relative;
                text-align: center;
	width: 100%;
                padding-bottom: 5rem;
	}

.block_onlinestore .btn{
                margin: auto;
                width: 40%;
	}
@media screen and (max-width: 1024px) {
.block_onlinestore .btn{
                width: 60%;
	}
                }
@media screen and (max-width: 768px) {
.block_onlinestore .btn{
                width: 90%;
	}
                }

.block_onlinestore .btn a{
	width: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                padding: 2rem 0;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
                background-color: #D63A35;
	}

.block_onlinestore .btn a:hover{
                background-color: #DE504C;
	}

.block_onlinestore .btn a p{
	width: 100%;
                display: flex;
                align-items: center;
                justify-content: center;
                color: #fff;
                font-size: 1.1rem;
                line-height: 1em;
	}

.block_onlinestore .btn a p:before{
	content: "";
	display: inline-block;
	width: 2em;
	height: 2em;
	background: url(../images/icon-cart.svg) no-repeat;
	background-size: 2em;
                margin-right: 1em;
	}

.block_onlinestore p.text{
                margin-top: 1rem;
                color: #D63A35;
                font-size: 1rem;
                line-height: 1em;
	}








