@charset "UTF-8";
/* CSS Document */

body {
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	color: #231815;
	background: #FFF;
}

section.last,section#flow {
    border-bottom: none;
}

header {
	padding: 0;
}

a.contact {
	display: block;
	text-align: center;
	font-weight: 700;
	color: #FFF;
	line-height: 1;
	background: #f08300;
	border-radius: 12px;
	margin: 8vw auto 10vw;
}

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 769px){
	
	section {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
		padding: 8% 0;
		border-bottom: 1px solid #ef8200;
	}
	
	section h1{
		width: 70.9%;
		line-height: 0;
		margin: 0 auto 5%;
	}
	
	section div.block{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section div.block figure{
		width: 58.6%;
	}
	
	section div.block figure a{
		display: block;
		position: relative;
	}
	
	section div.block figure a::before{
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: url("../images/youtube/btn_play.svg") no-repeat;
		background-size: cover;
		outline: none;
		transition-duration: 0.5s;
		transition-property: opacity, color;
	}
	
	section div.block figure a:hover::before{
		opacity: .7;
	}
	
	section div.block figure figcaption{
		font-size: 10px;
		font-size: clamp(10px, 1.8vw, 28px);
		text-align: right;
	}
	
	section div.block p{
		width: 35%;
		font-size: 12px;
		font-size: clamp(12px, 2.5vw, 33px);
	}
	
	section div.price_block {
		position: relative;
		padding-top: 10%;
		padding-right: 11.3%;
	}
	
	div.qr_block {
		width: 16.3%;
		position: absolute;
		bottom: 0;
		right: 4%;
		line-height: 0;
	}
	
	div.qr_block figure {
		width: 100%;
		position: absolute;
		bottom: 0;
		right: 0;
		text-align: center;
	}
	
	div.qr_block figure figcaption{
		width: 100%;
		line-height: 1;
		margin-bottom: 13px;
	}
	
	div.qr_block figure .img{
		width: 63.8%;
	}
	
	section div.price_block div.box{
		width: 60%;
		margin: 0 auto;
	}
	
	section div.price_block div.box h2{
		font-size: 16px;
		font-size: clamp(16px, 2.5vw, 44px);
		font-weight: 500;
		line-height: 1.3;
		padding-left: 11.3%;
		margin-bottom: 8px;
		letter-spacing: 0.04em;
		position: relative;
	}
	
	section div.price_block div.box h2 small{
		font-size: 75%;
		font-weight: 500;
	}
	
	section div.price_block div.box h2::before{
		content: "";
		width: 7.8%;
		height: 100%;
		background: url("../images/youtube/icon_check.svg") no-repeat;
		background-size: contain;
		position: absolute;
		top: 3%;
		left: 0;
	}
	
	section div.price_block div.box div.box_inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	
	section div.price_block div.box div.box_inner p.min{
		width: 32.4%;
		font-size: 16px;
		font-size: clamp(16px, 2.5vw, 45px);
		font-weight: 700;
		color: #FFF;
		line-height: 1;
		text-align: center;
		background: #f29600;
		border-radius: 30px;
		padding: 1.2%;
		margin-top: 5px;
	}
	
	section div.price_block div.box div.box_inner p.min small{
		font-size: 81%;
		font-weight: 700;
	}
	
	section div.price_block div.box div.box_inner p.price{
		display: inline-block;
		font-size: 32px;
		font-size: clamp(32px, 6vw, 86px);
		font-weight: 700;
		line-height: 1;
	}
	
	section div.price_block div.box div.box_inner p.price small{
		font-size: 81%;
		font-weight: 700;
	}
	
	section div.price_block div.box div.box_inner p.price small:last-child{
		font-size: 68%;
		font-weight: 700;
	}
	
	section div.price_block div.box div.box_inner + p{
		font-size: 10px;
		font-size: clamp(10px, 1.8vw, 28px);
		text-align: right;
		margin-top: 2%;
	}
	
	section#flow h3 {
        font-size: 18px;
		font-size: clamp(18px, 4vw, 48px);
        font-weight: 700;
        line-height: 1.3;
        text-align: center;
        margin-bottom: 2%;
    }

    section#flow ul + p {
        font-size: 16px;
		font-size: clamp(16px, 2.5vw, 44px);
        font-weight: 700;
        line-height: 1.3;
        text-align: center;
        color: #ef8200;
        margin-top: 20px;
    }
	
	section#flow ul {
		list-style: none;
	}
	
	section#flow ul li{
		padding: 5px 5px 5px 8px;
		background: #fdedde;
		border-radius: 10px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	
	section#flow ul li + li{
		margin-top: 54px;
		position: relative;
	}
	
	section#flow ul li + li::before{
		content: "";
		width: 64px;
		height: 22px;
		background: url("../images/youtube/arrow.svg") no-repeat;
		background-size: contain;
		position: absolute;
		left: -webkit-calc(50% - 32px);
        left: -moz-calc(50% - 32px);
        left: calc(50% - 32px);
		top: -39px;
	}
	
	section#flow ul li span.illust{
		width: 13%;
		line-height: 0;
	}
	
	section#flow ul li div.text_box{
		width: 81.8%;
	}
	
	section#flow ul li div.text_box h4{
		font-size: 18px;
		font-size: clamp(18px, 3.3vw, 49px);
		font-weight: 500;
	}
	
	section#flow ul li div.text_box p{
		font-size: 10px;
		font-size: clamp(10px, 1.8vw, 28px);
		font-weight: 500;
	}
	
	section#flow ul + p {
        margin-top: 50px;
    }
	
	section#flow div.info_box {
		width: 100%;
		max-width: 1200px;
		border: 1px solid #333;
		padding: 16px 16px;
		margin: 60px auto 10px;
		font-size: 10px;
		font-size: clamp(10px, 1.8vw, 28px);
	}
	
	section#flow div.info_box a{
		color: #333;
	}
	
	a.contact {
		width: 40%;
		padding: 20px 0;
		font-size: 18px;
		font-size: clamp(18px, 7.2vw, 36px);
		outline: none;
		transition-duration: 0.5s;
		transition-property: opacity, color;
    }
	
	a.contact:hover{
		opacity: .7;
	}
	
	footer {
		width: 100%;
		background: #ef8200;
		padding: 12px 0;
		color: #231815;
	}
	
	footer div.f_block{
		width: 580px;
		margin: 0 auto;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 1.3;
	}
	
	footer div.f_block div.box{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	
	footer div.f_block div.box + div.box{
		margin-top: 8px;
	}
	
	footer div.f_block div.box h3{
		width: 188px;
		line-height: 0;
	}
	
	footer div.f_block div.box address{
		width: -webkit-calc(100% - 210px);
        width: -moz-calc(100% - 210px);
        width: calc(100% - 210px);
		font-style: normal;
	}
	
	footer div.f_block div.box a.mail{
		width: 180px;
		background: #FFF;
		font-size: 16px;
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1;
		color: #ef8200;
		border-radius: 15px;
		padding: 4px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	footer div.f_block div.box a.mail:hover{
		text-decoration: none;
	}
	
	footer div.f_block div.box a.mail span{
		width: 36px;
		display: inline-block;
		margin-right: 8px;
	}
	
	footer div.f_block div.box p.tel{
		width: 368px;
		line-height: 0;
	}
}

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media print, screen and (max-width: 768px){
	
	section {
		width: 80%;
		margin: 0 auto;
		padding: 20px 0;
		border-bottom: 1px solid #ef8200;
	}
	
	section h1{
		width: 100%;
		line-height: 0;
		margin: 0 auto 24px;
	}
	
	section div.block{
		width: 100%;
	}
	
	section div.block figure{
		width: 100%;
		margin-bottom: 20px;
	}
	
	section div.block figure a{
		display: block;
		position: relative;
	}
	
	section div.block figure a::before{
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: url("../images/youtube/btn_play.svg") no-repeat;
		background-size: cover;
	}
	
	section div.block figure figcaption{
		font-size: 10px;
		font-size: 1.0rem;
		text-align: right;
	}
	
	section div.block p{
		width: 100%;
		font-size: 12px;
		font-size: 1.2rem;
	}
	
	section div.price_block {
		position: relative;
		padding-top: 30px;
	}
	
	div.qr_block {
		display: none;
	}
	
	section div.price_block div.box{
		width: 230px;
		margin: 0 auto;
	}
	
	section div.price_block div.box h2{
		font-size: 16px;
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1.3;
		padding-left: 26px;
		margin-bottom: 8px;
		letter-spacing: 0.04em;
		position: relative;
	}
	
	section div.price_block div.box h2 small{
		font-size: 12px;
		font-size: 1.2rem;
		font-weight: 500;
	}
	
	section div.price_block div.box h2::before{
		content: "";
		width: 18px;
		height: 17px;
		background: url("../images/youtube/icon_check.svg") no-repeat;
		background-size: contain;
		position: absolute;
		top: 2px;
		left: 0;
	}
	
	section div.price_block div.box div.box_inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	
	section div.price_block div.box div.box_inner p.min{
		width: 70px;
		font-size: 16px;
		font-size: 1.6rem;
		font-weight: 700;
		color: #FFF;
		line-height: 1;
		text-align: center;
		background: #f29600;
		border-radius: 20px;
		padding: 4px;
		margin-left: 15px;
	}
	
	section div.price_block div.box div.box_inner p.min small{
		font-size: 13px;
		font-size: 1.3rem;
		font-weight: 700;
	}
	
	section div.price_block div.box div.box_inner p.price{
		display: inline-block;
		font-size: 30px;
		font-size: 3.0rem;
		font-weight: 700;
		line-height: 1;
	}
	
	section div.price_block div.box div.box_inner p.price small{
		font-size: 24px;
		font-size: 2.4rem;
		font-weight: 700;
	}
	
	section div.price_block div.box div.box_inner p.price small:last-child{
		font-size: 20px;
		font-size: 2.0rem;
		font-weight: 700;
	}
	
	section div.price_block div.box div.box_inner + p{
		font-size: 10px;
		font-size: 1.0rem;
		text-align: right;
		margin-top: 5px;
	}
	
	section#flow h3 {
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 1.3;
        text-align: center;
        margin-bottom: 20px;
    }

    section#flow ul + p {
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1.3;
        text-align: center;
        color: #ef8200;
        margin-top: 20px;
    }
	
	section#flow ul {
		list-style: none;
	}
	
	section#flow ul li{
		padding: 5px 5px 8px 8px;
		background: #fdedde;
		border-radius: 10px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	
	section#flow ul li + li{
		margin-top: 54px;
		position: relative;
	}
	
	section#flow ul li + li::before{
		content: "";
		width: 64px;
		height: 22px;
		background: url("../images/youtube/arrow.svg") no-repeat;
		background-size: contain;
		position: absolute;
		left: -webkit-calc(50% - 32px);
        left: -moz-calc(50% - 32px);
        left: calc(50% - 32px);
		top: -39px;
	}
	
	section#flow ul li span.illust{
		width: 48px;
		line-height: 0;
	}
	
	section#flow ul li div.text_box{
		width: -webkit-calc(100% - 54px);
        width: -moz-calc(100% - 54px);
        width: calc(100% - 54px);
	}
	
	section#flow ul li div.text_box h4{
		font-size: 18px;
		font-size: 1.8rem;
		font-weight: 500;
	}
	
	section#flow ul li div.text_box p{
		font-size: 10px;
		font-size: 1.0rem;
		font-weight: 500;
	}
	
	section#flow div.info_box {
		width: 100%;
		max-width: 580px;
		border: 1px solid #333;
		padding: 16px 16px;
		margin: 40px auto 10px;
	}
	
	section#flow div.info_box a{
		color: #333;
	}
	
	a.contact {
		width: 80%;
		padding: 20px 0;
		font-size: 16px;
		font-size: 1.6rem;
    }
	
	footer {
		width: 100%;
		background: #ef8200;
		padding: 14px 0;
		color: #231815;
	}
	
	footer div.f_block{
		width: 90%;
		margin: 0 auto;
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.3;
	}
	
	footer div.f_block div.box{
		width: 100%;
	}
	
	footer div.f_block div.box + div.box{
		margin-top: 10px;
	}
	
	footer div.f_block div.box h3{
		width: 168px;
		line-height: 0;
		margin: 0 auto;
	}
	
	footer div.f_block div.box address{
		text-align: center;
		font-style: normal;
		display: block;
		margin-top: 5px;
	}
	
	footer div.f_block div.box a.mail{
		width: 120px;
		background: #FFF;
		font-size: 11px;
		font-size: 1.1rem;
		font-weight: 500;
		line-height: 1;
		color: #ef8200;
		border-radius: 10px;
		padding: 3px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		margin: 0 auto 15px;
	}
	
	footer div.f_block div.box a.mail:hover{
		text-decoration: none;
	}
	
	footer div.f_block div.box a.mail span{
		width: 24px;
		display: inline-block;
		margin-right: 5px;
	}
	
	footer div.f_block div.box p.tel{
		width: 240px;
		line-height: 0;
		margin: 0 auto;
	}
	
}

@media print, screen and (max-width: 480px){

}