﻿@charset "UTF-8";
article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section{display:block}a,hr{padding:0}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}ins,mark{background-color:#ff9;color:#000}body{line-height:1}ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;font-size:100%;vertical-align:baseline;background:0 0}ins{text-decoration:none}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0}input,select{vertical-align:middle}*{box-sizing:border-box;}

@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v12/7cHqv4kjgoGqM7E3_-gs6Fostz0rdom9.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v12/7cHqv4kjgoGqM7E3_-gs6Vostz0rdom9.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v12/7cHqv4kjgoGqM7E3_-gs51ostz0rdg.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v12/7cHqv4kjgoGqM7E3t-4s6Fostz0rdom9.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v12/7cHqv4kjgoGqM7E3t-4s6Vostz0rdom9.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v12/7cHqv4kjgoGqM7E3t-4s51ostz0rdg.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* ============================================================

============================================================ */
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:#fff0}.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}.slick-track:before,.slick-track:after{display:table;content:''}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir='rtl'] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid #fff0}.slick-arrow.slick-hidden{display:none}
.slick-loading .slick-list{background:#fff url(./ajax-loader.gif) center center no-repeat}@font-face{font-family:'slick';font-weight:400;font-style:normal;src:url(./fonts/slick.eot);src:url('./fonts/slick.eot?#iefix') format('embedded-opentype'),url(./fonts/slick.woff) format('woff'),url(./fonts/slick.ttf) format('truetype'),url('./fonts/slick.svg#slick') format('svg')}.slick-prev,.slick-next{font-size:0;line-height:0;position:absolute;top:50%;display:block;width:20px;height:20px;padding:0;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);cursor:pointer;color:#fff0;border:none;outline:none;background:#fff0}.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus{color:#fff0;outline:none;background:#fff0}.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before{opacity:1}.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before{opacity:.25}.slick-prev:before,.slick-next:before{font-family:'slick';font-size:20px;line-height:1;opacity:.75;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-prev{left:-25px}[dir='rtl'] .slick-prev{right:-25px;left:auto}.slick-prev:before{content:'←'}[dir='rtl'] .slick-prev:before{content:'→'}.slick-next{right:-25px}[dir='rtl'] .slick-next{right:auto;left:-25px}.slick-next:before{content:'→'}[dir='rtl'] .slick-next:before{content:'←'}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{position:absolute;bottom:-25px;display:block;width:100%;padding:0;margin:0;list-style:none;text-align:center}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:#fff0;border:0;outline:none;background:#fff0}.slick-dots li button:hover,.slick-dots li button:focus{outline:none}.slick-dots li button:hover:before,.slick-dots li button:focus:before{opacity:1}.slick-dots li button:before{font-family:'slick';font-size:6px;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'•';text-align:center;opacity:.25;color:#000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{opacity:.75;color:#000}
/* ============================================================

============================================================ */
html{
	width:100%;
	height:100%;
	-webkit-text-size-adjust:none;
	font-size:62.5%;
}
body{
	width:100%;
	font-family:-apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴPro", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
	line-height:1.8em;
	font-size:1.7rem;
	color:#111;
	background:#fff;
/*
	height:100vh;
	overflow:hidden;
*/
	height:auto;
	overflow:visible;
}
/*
body.loaded{
	height:auto;
	overflow:visible;
}
*/
h1,h2,h3,h4,h5,h6{
	font-weight:normal;
}
a{
	color:#595959;
	cursor:pointer;
	transition:opacity 0.2s ease 0s, color 0.2s ease 0s;
	text-decoration:underline;
}
a:hover{
	color:#de3023;
	opacity:0.7;
}
img{
	vertical-align:top;
}
small{
	font-size:0.9em;
}
.visually_hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	border: 0;
	padding: 0;
	white-space: nowrap;
	clip-path: inset(100%);
	clip: rect(0 0 0 0);
	overflow: hidden;
}
.text_center{
	text-align:center;
}
.text_right{
	text-align:right !important;
}
.text_left{
	text-align:left !important;
}
.text_red{
	color:#de3023 !important;
}
a.text_red:hover{
	color:#FF6955 !important;
}
.text_blue{
	color:#19528a !important;
}
.text_yellow{
	color:#ffec00 !important;
}
.text_gray{
	color:#555 !important;
}
.text_sup{
	font-size:0.6em;
	vertical-align:super;
}
.text_attention{
	font-size:0.9em;
	line-height:1.6em;
}
.text_bold{
	font-weight:bold;
}
.text_heavy{
	font-family:'Noto Sans JP';
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: normal;
	font-feature-settings:"palt" 1;
	-webkit-font-smoothing: antialiased;
}
.text_round{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 800;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
}
.text_barlow{
	font-family:'Barlow', sans-serif;
}
.text_barlow.bold{
	font-weight:700 !important;
}
.text_heading{
	margin-bottom:35px;
	font-size:3.2rem;
	line-height:1.3em;
	font-feature-settings:"palt" 1;
	letter-spacing:0.05em;
}
.text_nowrap{
	white-space:nowrap;
}
.text_attention{
	font-size:0.8em !important;
	line-height:1.6em;
}
img,.img_flex{
	display:block;
	max-width:100%;
	min-height:auto;
}
img.inline,.img_flex.inline{
	display:inline-block;
}
.inline{
	display:inline-block;
}
.alpha{
	backface-visibility:hidden;
	transition:opacity 0.2s ease 0s;
	zoom:1;
}
.alpha:hover{
	opacity:0.6;
}

.fadein{
	backface-visibility:hidden;
	transition:opacity 0.8s ease 0.6s, top 0.8s ease 0.6s;
	opacity:0;
	position:relative;
	top:20px;
	&.delay_01{
		transition:opacity 0.8s ease 0.9s, top 0.8s ease 0.9s;
	}
	&.delay_02{
		transition:opacity 0.8s ease 1.2s, top 0.8s ease 1.2s;
	}
	&.delay_03{
		transition:opacity 0.8s ease 1.5s, top 0.8s ease 1.5s;
	}
	&.visible{
		opacity:1;
		top:0;
	}
}

.img_icon {
	display: inline-block;
	width: 100%;
	max-width: 1em;
	margin: 0 4px 0 0;
	vertical-align: middle;
	position: relative;
	top: -0.1em;
}

.bn_cta{
	display:inline-block;
	box-sizing:border-box;
	padding:.9em 2.2em .9em 2em;
	position:relative;
	z-index:1;
	top:0;
	overflow:hidden;
	color:#cc9200 !important;
	vertical-align:middle;
	font-weight:bold;
	font-size:1.7rem;
	font-feature-settings: "palt" 1;
	border-radius:2em;
	border:solid 2px #d69d00;
	line-height:1;
	text-decoration:none;
	text-align:center;
	cursor:pointer;
	background:#fff;
	box-shadow:1px 4px 0px 0px rgba(0,0,0,0.05);
	transition:top 0.2s ease 0s, opacity 0.2s ease 0s, box-shadow 0.2s ease 0s, border 0.4s ease 0s, color 0.1s ease 0s, background 0.2s ease 0.2s;
	&:hover,
	&.active{
		top:-3px;
		opacity:1;
		box-shadow: 0px 4px 7px 0px rgba(0,0,0,0.5) !important;
		color:#fff !important;
		border:solid 2px #f1bc1a;
	}
	&:before{
		content:"";
		display:block;
		background:#f1bc1a;
		width:100%;
		height:100%;
		opacity:1;
		position:absolute;
		left:-100%;
		top:0;
		z-index:-1;
		border-radius:2em;
		transition:left 0.3s ease 0s, opacity 0s ease 0.3s;
	}
	&:hover:before{
		width:100%;
		left:0;
	}
	&:after{
		content:"";
		display:block;
		width:0.8em;
		height:0.8em;
		position:absolute;
		right:0.5em;
		top:50%;
		margin-top:-0.4em;
		background:url(/cms/wp-content/themes/buildee/assets/img/icon_arrow_yellow.svg) no-repeat center center/contain;
	}
	&:hover:after{
		background-image:url(../img/icon_arrow_white.svg);
	}
	&.text_round{
		letter-spacing:-0.03em;
	}
}
_:-ms-lang(x)::-ms-backdrop, .bn_cta:before{
	display:none;
}
_:-ms-input-placeholder, :root .bn_cta:before{
	display:none;
}

.bn_cta.green{
	background-color:#1d90d6;
	border:none;
	box-shadow:1px 4px 0px 0px rgba(24,89,137,0.9);
	color:#fff !important;
	&:hover{
		box-shadow: 0px 4px 7px 0px rgba(24,89,137,0.9);
	}
	&:before{
		background:#10adfc;
	}
	&:hover:before{
		left:0 !important;
	}
	&:after{
		background-image:url(../img/icon_arrow_white.svg);
	}
}
.bn_cta.dl{
	&:after{
		background-image:url(../img/icon_dl.svg);
		right: 0.7em;
	}
	&:hover:after{
		background-image:url(../img/icon_dl.svg);
	}
}

/* =====================================
loader
===================================== */
.loader_wrap{
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:100vh;
	position:fixed;
	top:0;
	left:0;
	z-index:1000;
	background:rgba(0,0,0,0.3);
	backdrop-filter: blur(11px);
	opacity:1;
	transition:opacity 0.5s ease 0s, height 0.1s ease 0.6s;
}
body.loaded .loader_wrap{
	pointer-events:none;
	user-select:none;
	-moz-user-select:none;
	-webkit-user-select:none;
	-ms-user-select:none;
	height:0;
	opacity:0;
}
.spring-spinner, .spring-spinner * {
	box-sizing: border-box;
}
.spring-spinner {
	height: 60px;
	width: 60px;
}
.spring-spinner .spring-spinner-part {
	overflow: hidden;
	height: calc(60px / 2);
	width: 60px;
	will-change:transform;
}
.spring-spinner	.spring-spinner-part.bottom {
	 transform: rotate(180deg) scale(-1, 1);
 }
.spring-spinner .spring-spinner-rotator {
	width: 60px;
	height: 60px;
	border: calc(60px / 7) solid transparent;
	border-right-color: #fff;
	border-top-color: #fff;
	border-radius: 50%;
	box-sizing: border-box;
	will-change:transform;
	animation: spring-spinner-animation 3s ease-in-out infinite;
	transform: rotate(-200deg);
}
@keyframes spring-spinner-animation {
	0% {
		border-width: calc(60px / 7);
	}
	25% {
		border-width: calc(60px / 23.33);
	}
	50% {
		transform: rotate(115deg);
		border-width: calc(60px / 7);
	}
	75% {
		border-width: calc(60px / 23.33);
	}
	100% {
		border-width: calc(60px / 7);
	}
}

/* =====================================
contents_wrapper
===================================== */
.contents_wrapper{
	width:100%;
	position:relative;
}
.contents_wrapper.bg_gray{
	background:#f4f4f4;
}
.contents_wrapper.bg_red{
	background:#f0573a;
}
.contents_inner{
	width:100%;
	max-width:1200px;
	padding-top:80px;
	padding-bottom:80px;
	margin-left:auto;
	margin-right:auto;
	box-sizing:border-box;
	position:relative;
}
@media screen and (max-width:1200px){
	.contents_inner{
		padding-left:2%;
		padding-right:2%;
	}
}

/* =====================================
header
===================================== */
#header{
	width:100%;
	padding:0;
	position:absolute;
	top:0;
	z-index:100;
	box-sizing:border-box;
	transition:top 0.4s ease 0.4s;
}
#header.scroll{
	top:-80px;
}
.header_inner{
	display:flex;
	justify-content:space-between;
	align-items: flex-start;
	max-width:100%;
	padding:0 0 0 2%;
	z-index:1;
}
.header_left{
	flex-shrink: 0;
	flex-grow: 1;
}
.header_logo{
	display:inline-block;
	padding:13px 16px;
	box-sizing:border-box;
	background:#fff;
	border-radius:0 0 10px 10px;
	filter: drop-shadow(1px 1px 0px rgba(0,0,0,0.05));
}
.header_logo img{
	width:90px;
}
.header_cta{
	margin:22px 0 0;
	padding: 7px 80px 10px 7px;
	position:relative;
	box-sizing:border-box;
	background:#fff;
	border-radius: 27px 0 0 27px;
	filter: drop-shadow(1px 1px 0px rgba(0,0,0,0.05));
}
.header_cta_book{
	width:110px;
	position:absolute;
	right:0;
	top:-22px;
	z-index:2;
}
.header_cta_point{
	width:100%;
	padding-right: 80px;
	box-sizing: border-box;
	position:absolute;
	top:-19px;
	left:0;
	z-index:3;
	text-align:center;
}
.header_cta_point span{
	display: inline-block;
	padding: 6px 12px 6px;
	border-radius: 19px;
	background: #fff431;
	line-height: 1;
	font-size: 1.4rem;
	filter: drop-shadow(1px 1px 0px rgba(0,0,0,0.05));
}
.header_cta_point span:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 8px 0 8px;
	border-color: #fff431 transparent transparent transparent;
	position: absolute;
	bottom: -8px;
	left: 50%;
	margin-left: -8px;
}

.header_cta .bn_cta{
	padding-top:14px;
	padding-bottom:12px;
	background-image:none;
	text-wrap: nowrap;
	&:after{
		display:none;
	}
}
.header_cta .bn_cta .img_icon,
.cta_download_text .bn_cta .img_icon{
	width: 1em;
	top:0;
	margin:0 0 0 5px;
}

/* =====================================
contents_mainvisual
===================================== */
#contents_mainvisual{
	background:url(../img/img_header_bg.svg) no-repeat center top/cover;
	background-color:#f2ead6;
}
#contents_mainvisual .contents_inner{
	max-width:1300px;
	padding:20px 0 120px;
	display:flex;
	align-items:center;
	@media screen and (max-width:1300px){
		padding-left:2%;
	}
}
.mainvisual_figure{
	position:absolute;
	width:50vw;
	max-width:752px;
	right:0;
	bottom:0;
	opacity:0;
	transition:width 0.2s ease 0s, bottom 0.6s ease 0s,opacity 0.6s ease 0s;
	#contents_mainvisual.visible &{
		bottom:3.5vw;
		opacity:1;
	}
	@media screen and (max-width:1100px){
		width:58vw;
	}
}

.mainvisual_text{
	max-width:50vw;
	position:relative;
	z-index:1;
}
.mainvisual_text_01{
	max-width:344px;
	margin:0 auto;
	position:relative;
	bottom:-10px;
	opacity:0;
	animation-timing-function: ease-in;
}
.mainvisual_text_02{
	max-width:628px;
	margin:0 auto 12px;
	position:relative;
	bottom:-10px;
	opacity:0;
	animation-timing-function: ease-in;
}
#contents_mainvisual.visible .mainvisual_text_01{
	animation: heading 0.4s 0s both;
}
#contents_mainvisual.visible .mainvisual_text_02{
	animation: heading 0.4s 0.4s both;
}
#contents_mainvisual.visible .mainvisual_text_03{
	animation: heading 0.4s 0.6s both;
}
@keyframes heading {
	0% {
		opacity: 0;
		bottom:-10px;
		-webkit-transform: scale(1.4);
		transform: scale(1.4);
	}
	50% {
		-webkit-transform: scale(1.4);
		transform: scale(1.4);
	}
	100% {
		opacity: 1;
		bottom:0;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
.mainvisual_cta{
	position:relative;
	text-align:center;
	.bn_cta{
		font-size:3rem;
		@media screen and (max-width:1100px){
			font-size:2.5vw;
		}
	}
	.mainvisual_cta_point{
		width:100%;
		box-sizing: border-box;
		position:absolute;
		top:-1.3em;
		left:0;
		z-index:3;
		text-align:center;
		font-size: 2rem;
		span{
			display: inline-block;
			padding: .4em 1em .4em;
			border-radius: 2em;
			background: #fff;
			line-height: 1em;
			filter: drop-shadow(1px 1px 0px rgba(0,0,0,0.05));
		}
		span:after {
			content: "";
			display: block;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 10px 10px 0 10px;
			border-color: #fff transparent transparent transparent;
			position: absolute;
			bottom: -10px;
			left: 50%;
			margin-left: -10px;
		}
	}
}
.mainvisual_split{
	width:100%;
	position:absolute;
	bottom:0;
}

/* =====================================
contents_comic
===================================== */
.contents_comic{
	background:#f4f4f4;
}
#contents_comic_intro_01{
	background:url(../img/img_comic_intro_01_bg.webp) repeat center top/60vw;
	background-attachment:fixed;
	.contents_inner{
		padding-top:0;
	}
	&:before{
		content:"";
		display:block;
		width:100%;
		height:170px;
		position:absolute;
		top:0;
		left:0;
		background:linear-gradient(to bottom, rgba(252,204,54,1) 0%, rgba(252,204,54,0) 100%);
	}
}
#contents_comic_intro_02{
	background:url(../img/img_comic_intro_02_bg.webp) repeat center top/60vw;
	background-attachment:fixed;
}
#contents_comic_intro_03{
	background:url(../img/img_comic_intro_03_bg.webp) repeat center top/60vw;
	background-attachment:fixed;
}
.comic_title{
	max-width:780px;
	margin:0 auto 10px;
	position:relative;
	bottom:-10px;
	opacity:0;
	animation-timing-function: ease-in;
	filter: drop-shadow(1px 1px 0px rgba(0,0,0,0.05));
}
.comic_title.visible{
	animation: heading 0.4s 0.3s both;
}
.comic_main{
	max-width:900px;
	margin:0 auto 10px;
	filter: drop-shadow(1px 1px 0px rgba(0,0,0,0.05));
	opacity:0;
	transition:opacity 0.4s ease 0.6s;
}
.comic_main.visible{
	opacity:1;
}

.comic_cta{
	text-align:center;
}
.comic_cta_image{
	margin:0 auto 10px;
	opacity:0;
	&.visible{
		animation: heading 0.4s 0.3s both;
	}
	#contents_comic_intro_01 &{
		max-width:570px;
	}
	#contents_comic_intro_02 &{
		max-width:520px;
	}
	#contents_comic_intro_03 &{
		max-width:640px;
	}
}
.comic_cta_bn{
	display:inline-block;
	padding:1.5em;
	border-radius:7em;
	background:rgba(255,255,255,0.5);
	opacity:0;
	&.visible{
		animation: heading 0.4s 0.3s both;
	}
	.bn_cta{
		min-width:18em;
		font-size:3.5rem;
	}
}
.comic_cta_slogan{
	margin:0 0 0.4em;
	font-size:4.4rem;
	line-height:1em;
	color:#fff;
}

/* =====================================
comic_paperless
===================================== */
.comic_paperless{
	max-width:800px;
	margin:40px auto;
}
.comic_paperless_title{
	position:relative;
	z-index:1;
	opacity:0;
	&.visible {
		animation: problem 0.4s 0.6s both;
	}
}
.comic_paperless_text{
	position:relative;
	padding:1.5em;
	margin-top:-20px;
	background:#fff;
	border-radius:15px;
	text-align:left;
	line-height:2em;
	filter: drop-shadow(2px 2px 0px rgba(0, 0, 0, 0.05));
}
@keyframes problem {
	0% {
		opacity: 0;
		transform: scale(1.1) rotate(8deg);
	}
	50% {
		transform: scale(1.1) rotate(-8deg);
	}
	100% {
		opacity: 1;
		transform: scale(1) rotate(0deg);
	}
}

/* =====================================
comic_solution
===================================== */
.comic_solution{
	max-width:970px;
	margin:40px auto;
}
.comic_solution_title{
	max-width:320px;
	margin:0 auto;
	position:relative;
	z-index:1;
	left: -20px;
	opacity: 0;
	transition: opacity 0.6s ease 0.3s, left 0.6s ease 0.3s;
	&.visible {
		opacity: 1;
		left: 0;
	}
}
.comic_solution_main{
	display:flex;
	justify-content:space-between;
	position:relative;
	padding:50px 25px 25px;
	margin-top:-40px;
	background:#fff;
	border-radius:15px;
	text-align:center;
	filter: drop-shadow(2px 2px 0px rgba(0, 0, 0, 0.05));
}
.comic_solution_item{
	width:30%;
}
.comic_solution_item_title{
	margin:0 0 0.2em;
	font-size:3.4rem;
	line-height:1.1em;
	color:#e0a72a;
	#comic_solution_item_02 &{
		color:#1eac4a;
	}
	#comic_solution_item_03 &{
		color:#d34727;
	}
}
.comic_solution_item_graph{
	max-width:227px;
	margin:0 auto 10px;
}
.comic_solution_item_desc{
	font-weight:bold;
	line-height:1.4em;
}

/* =====================================
contents_share
===================================== */
.share_prize{
	padding-bottom:20px;
	background:url(../img/img_share_prize_bg.webp) no-repeat center bottom/1400px #f8dd8c;
	text-align:center;
}
.share_logo{
	display:inline-block;
	padding:25px 40px;
	margin:0 0 20px;
	box-sizing:border-box;
	background:#fff;
	border-radius:0 0 10px 10px;
	filter: drop-shadow(1px 1px 0px rgba(0,0,0,0.05));
	img{
		width:270px;
	}
}
.share_no1{
	max-width:462px;
	margin:0 auto 20px;
}
#contents_share{
	.contents_inner{
		padding-top:0;
		&:before{
			content:"";
			display:block;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 30px 30px 0 30px;
			border-color: #f8dd8c transparent transparent transparent;
			margin:0 auto 30px;
		}
	}
}
.share_copy{
	margin:0 0 1em;
	font-size:4rem;
	line-height:1;
}
.share_count{
	display:flex;
	justify-content:center;
	text-align:center;
	max-width:800px;
	margin:0 auto 20px;
}
.share_count_item{
	width:33%;
	padding:0 10px;
	box-sizing:border-box;
	border-right:solid 1px #ddd;
}
.share_count_item:last-child{
	border-right:none;
}
.share_count_title{
	margin:0 0 10px -1em;
	line-height:1;
}
.share_count_result{
	font-size:1.8rem;
	line-height:1;
}
.share_count_num{
	display:inline-block;
	margin:0 3px 0 0;
	font-size:5rem;
	color:#e0a729;
}
.share_count_notice{
	margin:0 0 40px;
}
.share_count_notice:last-child{
	margin:0;
}
.share_customer{
	display:flex;
	flex-wrap:wrap;
	flex-direction:row;
	justify-content:flex-start;
	margin:0 auto 10px;
}
.share_customer li{
	width:calc(100% / 7);
	margin:0 0 15px;
}
.share_customer img{
	width:100%;
	max-width:150px;
}
.share_customer_notice{
	margin:0 0 20px;
}
.share_customer_more{
	.bn_cta{
		width:100%;
		max-width:20em;
	}
}

/* =====================================
contents_appeal
===================================== */
.contents_appeal{
	background:url(../img/img_appeal_bg.webp) repeat center center/1430px #f1bc1a;
}

/* =====================================
contents_voice
===================================== */
#contents_voice{
	.contents_inner{
		padding-bottom:40px;
	}
}
.voice_subtitle{
	max-width:600px;
	margin:0 auto;
	opacity:0;
	&.visible {
		animation: problem 0.4s 0.6s both;
	}
}
.voice_title{
	margin:0 auto 15px;
	font-size:3.4rem;
	line-height:1em;
	img{
		display:inline-block;
		width:7em;
		margin:0 5px 0 0;
		vertical-align:middle;
		position:relative;
		top:-0.3em;
	}
}
.voice_slide{
	max-width:770px;
	margin:0 auto;
	.slick-dots{
		margin-bottom:-15px;
	}
	.slick-dots li button:before{
		opacity:1;
		color:#f2d891;
		font-size: 14px;
	}
	.slick-dots li.slick-active button:before{
		opacity:1;
		color:#fff;
	}
	.slick-prev,.slick-next{
		display:block;
		width: 24px;
		height: 54px;
		top:50%;
		margin-top:-27px;
		background:none;
		-webkit-transform:none;
		-ms-transform:none;
		transform:none;
		z-index:1;
		opacity:1;
		transition:opacity 0.2s ease 0s;
	}
	.slick-prev{
		left:-4%;
	}
	.slick-next{
		right:-4%;
	}
	.slick-prev:hover,.slick-next:hover{
		opacity:0.7;
	}
	.slick-prev:before,.slick-next:before{
		display:block;
		content:"" !important;
		width: 30px;
		height: 59px;
		background:url(../img/icon_arrow_prev.svg) no-repeat center center transparent;
		opacity:1;
	}
	.slick-next:before{
		background:url(../img/icon_arrow_next.svg) no-repeat center center transparent;
	}
}
.voice_item{
	margin:0 10px 3px;
	padding:20px 40px 40px;
	border-radius:20px;
	filter: drop-shadow(2px 2px 0px rgba(0, 0, 0, 0.05));
	background:#fff;
}
.voice_item_client{
	display:flex;
	align-items:center;
	justify-content:center;
	grid-gap:1em;
	border-bottom:solid 1px #ddd;
	padding:0 0 15px;
	img{
		display:block;
		width:8em;
	}
	p{
		font-size:1.8rem;
		font-weight:bold;
		line-height:1em;
	}
}
.voice_item_title{
	margin:20px 0 .6em;
	font-weight: bold;
	font-size: 2.6rem;
	text-align:center;
	line-height: 1.3em;
}
.voice_item_body{
	display:flex;
	justify-content:space-between;
	text-align:left;
	p{
		flex-grow:1;
		line-height:2em;
	}
	figure{
		width:35%;
		flex-shrink:0;
		img{
			border-radius:6px;
		}
	}
}

/* =====================================
contents_point
===================================== */
#contents_point{
	&:before{
		content:"";
		display:block;
		width:100%;
		height:200px;
		position:absolute;
		bottom:0;
		left:0;
		background:linear-gradient(to bottom, rgba(241,188,26,0) 0%, rgba(241,188,26,1) 100%);
	}
	.contents_inner{
		padding-top:0;
		padding-bottom:20px;
	}
}
.point_title{
	max-width:630px;
	margin:0 auto;
}
.point_item{
	display:flex;
	justify-content:space-between;
	align-items:center;
	grid-gap:30px;
	max-width:920px;
	margin:0 auto;
	opacity:0;
	position: relative;
	left: -60px;
	transition: all 0.6s ease 0.8s;
	&.delay_01{
		transition: all 0.6s ease 1.2s;
	}
	&.delay_02{
		transition: all 0.6s ease 1.6s;
	}
	.visible &{
		opacity:1;
		left:0;
	}
	&.reverse{
		flex-direction: row-reverse;
	}	
}
.point_image{
	width:32%;
	flex-shrink:0;
	padding:10px;
	border-radius:10px;
	background:#fff;
	filter: drop-shadow(2px 2px 0px rgba(0, 0, 0, 0.05));
	img{
		border-radius:4px;
	}
}
.point_text{
	flex-grow:1;
	padding:23px;
	border-radius:20px;
	position:relative;
	filter: drop-shadow(2px 2px 0px rgba(0, 0, 0, 0.05));
	background:#fff;
	&:after{
		content:"";
		display:block;
		width:24px;
		height:32px;
		position:absolute;
		left:-24px;
		top:50%;
		transform: translate(0, -50%);
		background:url(../img/img_point_arrow_left.svg) no-repeat center center/contain;
	}
	.reverse &{
		&:after{
			left:auto;
			right:-24px;
			background-image:url(../img/img_point_arrow_right.svg);
		}
	}
	h3{
		color:#1d90d6;
		font-size:3.4rem;
		line-height:1.2em;
	}
	p{
		margin:.8em 0 0;
		line-height:1.6em;
	}
}

/* =====================================
contents_cta
===================================== */
#contents_cta{
	background:url(../img/img_header_bg.svg) no-repeat center top 10vw /100vw #f2ead6;
	.contents_inner{
		padding-top:0;
		padding-bottom:0;
	}
}
.cta_split,
.cta_split_bottom{
	width:100%;
	position:absolute;
	top:0;
	left:0;
}
.cta_split_bottom{
	top:auto;
	bottom:0;
}
.cta_title{
	max-width:610px;
	margin:0 auto 40px;
	opacity:0;
	animation-timing-function: ease-in;
	&.visible{
		animation: heading 0.4s 0s both;
	}
}
.cta_wrap{
	display:flex;
	flex-wrap:wrap;
	flex-direction:row;
	justify-content:space-between;
	max-width:730px;
	row-gap:30px;
	margin:0 auto;
}
.cta_item{
	display:block;
	width:48%;
	padding:4px 4px 18px;
	position:relative;
	background:#fff;
	border-radius:8px;
	color:#000;
	text-decoration:none;
	filter: drop-shadow(2px 2px 0px rgba(0,0,0,0.05));
	.bn_cta{
		width:100%;
		max-width:16em;
	}
}
.cta_item:hover{
	opacity:1;
	top:-4px;
	color:inherit;
}
.cta_item_num{
	display:inline-block;
	position:relative;
	top:-1.2em;
	padding:.4em 2em;
	border-radius:2em;
	background:#f1bc1a;
	line-height:1;
	font-size:1.7rem;
	filter: drop-shadow(1px 1px 0px rgba(0,0,0,0.05));
}
.cta_item_num:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 8px 0 8px;
	border-color: #f1bc1a transparent transparent transparent;
	position: absolute;
	bottom:-8px;
	left: 50%;
	margin-left: -8px;
}
.cta_item_title{
	margin:-.4em 0 10px;
	font-size:2.5rem;
	line-height:1.2em;
	letter-spacing:-0.03em;
}
.cta_item_image{
	margin:0 0 8px;
}
.cta_item_image img{
	width:100%;
	max-width:280px;
	margin:0 auto;
	border-radius:4px;
}

.cta_download{
	display:flex;
	align-items:center;
	max-width:730px;
	margin:30px auto;
	padding:10px;
	border-radius:8px;
	filter: drop-shadow(2px 2px 0px rgba(0,0,0,0.05));
	background:#fff;
}
.cta_download_image{
	width: 53%;
	flex-shrink:0;
}
.cta_download_text{
	flex-grow:1;
	padding:15px 15px 15px 0;
}
.cta_character{
	max-width:980px;
	margin:0 auto;
	position:relative;
	bottom:-60px;
	opacity:0;
	transition:bottom 0.6s ease 0s, opacity 0.6s ease 0s;
	&.visible{
		bottom:0;
		opacity:1;
	}
}
/* =====================================
footer
===================================== */
#footer{
	background: #fff;
}
#footer .contents_inner{
	padding-top:30px;
	padding-bottom:150px;
}
.footer_logo{
	max-width:190px;
	margin:0 auto 15px;
}
#footer .text_attention{
	font-size:1.1rem;
}

/* =====================================
float_nav
===================================== */
.float_nav{
	display:flex;
	align-items:center;
	justify-content:center;
	position:fixed;
	width:100%;
	bottom:-120px;
	z-index:98;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 30px, rgba(255,255,255,0.9) 30px, rgba(255,255,255,0.9) 100%);
	box-sizing:border-box;
	padding:0 10px 5px 10px;
	filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.2));
	transition:bottom 0.4s ease 0.2s;
}
.float_nav.scroll{
	bottom:0;
}
.float_nav_image{
	width:45%;
	max-width:170px;
}
.float_nav_text{
	position:relative;
	padding-top:10px;
	text-align:center;
}
.float_nav_point{
	width:100%;
	box-sizing: border-box;
	position: relative;
	top: 5px;
	left:0;
	z-index:2;
	text-align:center;
}
.float_nav_point span{
	display: inline-block;
	padding: 6px 12px 6px;
	border-radius: 19px;
	background: #fff431;
	line-height: 1;
	font-size: 1.4rem;
	filter: drop-shadow(1px 1px 0px rgba(0,0,0,0.05));
}
.float_nav_point span:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 8px 0 8px;
	border-color: #fff431 transparent transparent transparent;
	position: absolute;
	bottom: -8px;
	left: 50%;
	margin-left: -8px;
}
.float_nav_text .bn_cta{
	font-size:1.9rem;
}

/* =====================================
contents_episode_header
===================================== */
#contents_episode_header{
	background:url(../img/img_header_bg.svg) no-repeat center top -10vw /100vw #f2ead6;
	background-color:#f2ead6;
}
#contents_episode_header .contents_inner{
	padding-top:0;
	padding-bottom:0;
	text-align:center;
	overflow: hidden;
}
.episode_header_title{
	display:block;
	max-width:660px;
	margin:0 auto;
}

/* =====================================
contents_episode_comic
===================================== */
.contents_episode_comic{
	background:url(../img/img_episode_comic_bg.webp) repeat center center/21px;
}
.contents_episode_comic .contents_inner{
	padding-top:50px;
	padding-bottom:50px;
}
.episode_comic_num{
	display:inline-block;
	margin:0 0 15px;
	padding:8px 18px 6px;
	border-radius:19px;
	background:#fff;
	color:#1d90d6;
	line-height:1;
	font-size:2.8rem;
	filter: drop-shadow(1px 1px 0px rgba(0,0,0,0.05));
}
.episode_comic_num:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 14px 14px 0 14px;
	border-color: #fff transparent transparent transparent;
	position: absolute;
	bottom:-14px;
	left: 50%;
	margin-left: -14px;
}
.episode_comic_title{
	margin:0 0 40px;
	font-size:4.2rem;
	line-height:1.2em;
}
.contents_episode_comic .comic_main{
	max-width:940px;
	margin:0 auto 20px;
	padding:20px;
	background:#fff;
	transition:opacity 0.4s ease 0.2s;
}

.episode_cta{
	margin:60px auto 0;
	position:relative;
	bottom:-15px;
	opacity:0;
	transition:bottom 0.6s ease 0s,opacity 0.6s ease 0s;
}
.episode_cta.visible{
	bottom:0;
	opacity:1;
}

.episode_cta_title{
	max-width:540px;
	margin:0 auto;
	position:relative;
	z-index:1;
}
.episode_cta_body{
	max-width:900px;
	margin:-70px auto 0;
	padding:90px 10px 40px;
	position:relative;
	border-radius:10px;
	background:rgba(255,255,255,0.4);
	filter: drop-shadow(2px 2px 0px rgba(0,0,0,0.05));
}
.episode_cta_slogan{
	width:100%;
	margin:0 0 30px;
	text-align:center;
	span{
		display: inline-block;
		padding: .4em 1em;
		border-radius: 2em;
		background: #1d90d6;
		line-height: 1em;
		font-size: 2.4rem;
		color:#fff;
		filter: drop-shadow(1px 1px 0px rgba(0,0,0,0.05));
	}
	span:after {
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 10px 10px 0 10px;
		border-color: #1d90d6 transparent transparent transparent;
		position: absolute;
		bottom: -10px;
		left: 50%;
		margin-left: -10px;
	}
}
.episode_cta_wrap{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content:space-between;
	max-width:720px;
	margin:0 auto;
}
.episode_cta_item{
	display: block;
	width: 48%;
	padding: 10px 10px 18px;
	box-sizing: border-box;
	position: relative;
	top: 0;
	background: #fff;
	border-radius: 10px;
	color: #000;
	text-decoration: none;
	filter: drop-shadow(2px 2px 0px rgba(0,0,0,0.05));
	transition: top 0.2s ease 0s;
	&:hover{
		opacity: 1;
		top: -4px;
		color: inherit;
	}
}
.episode_cta_item_title{
	margin:0 0 8px;
	font-size:2.1rem;
	line-height:1.3em;
	font-feature-settings:"palt" 1;
}

/* ============================================================
Responsive
============================================================ */
@media screen and (min-width:769px){
	.pc_hide{
		display:none !important;
	}
}
@media screen and (max-width:768px) {
	.sp_hide{
		display:none !important;
	}
	body{
		font-size:1.55rem;
		line-height:1.6em;
	}

	/* =====================================
	contents_wrapper
	===================================== */
	.contents_inner{
		padding-left:5%;
		padding-right:5%;
		padding-top:40px;
		padding-bottom:40px;
	}

	/* =====================================
	header
	===================================== */
	#header:before{
		content:"";
		display:block;
		width:100%;
		height:100%;
		position:absolute;
		top:0;
		left:0;
		background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);
		opacity:0;
		transition:opacity 0.4s ease 0s;
	}
	#header.scroll:before{
		opacity:1;
	}
	.header_inner{
		padding:0 0 0 5px !important;
	}
	.header_logo{
		padding:6px 12px;
		border-radius:0 0 6px 6px;
	}
	.header_logo img{
		width:60px;
	}
	.header_cta{
		display:none;
	}

	/* =====================================
	contents_mainvisual
	===================================== */
	#contents_mainvisual .contents_inner{
		max-width:unset;
		padding:4px 0 0;
		display:block;
	}
	.mainvisual_figure{
		position:relative;
		width:80vw;
		bottom:-20px;
		margin:0 auto;
		#contents_mainvisual.visible &{
			bottom:0;
			opacity:1;
		}
	}
	.mainvisual_text{
		max-width:100%;
	}
	.mainvisual_text_01{
		max-width:50%;
	}
	.mainvisual_text_02{
		max-width:90%;
		margin: 0 auto 18px;
	}
	.mainvisual_cta{
		margin: 0 auto 10px;
		.bn_cta{
			font-size:2rem;
		}
		.mainvisual_cta_point{
			font-size: 1.5rem;
			span:after {
				border-width: 6px 6px 0 6px;
				bottom: -6px;
				margin-left: -6px;
			}
		}
	}
	.mainvisual_split{
		width:100%;
		position:absolute;
		bottom:0;
	}

	/* =====================================
	contents_comic
	===================================== */
	.comic_cta_image {
		max-width:80% !important;
		margin: 0 auto 5px;
	}
	.comic_cta_bn{
		display:block;
		padding:10px 10px 12px;
		border-radius:7em;
		.bn_cta{
			width:100%;
			min-width:unset;
			padding: .9em 1.2em .9em 1em;
			font-size:2rem;
		}
	}
	.comic_cta_slogan{
		font-size:2rem;
	}

	/* =====================================
	comic_paperless
	===================================== */
	.comic_paperless{
		margin:20px auto;
	}
	.comic_paperless_text{
		margin-top:-15px;
		p{
			font-size:1.5rem;
			line-height:1.8em;
		}
	}
	
	/* =====================================
	comic_solution
	===================================== */
	.comic_solution_title{
		max-width:70%;
	}
	.comic_solution_main{
		display:block;
		padding:35px 15px 15px;
		margin-top:-25px;
	}
	.comic_solution_item{
		width:100%;
		&:not(:last-child){
			margin:0 0 15px;
		}
	}
	.comic_solution_item_title{
		margin:0;
		font-size:2rem;
		br{
			display:none;
		}
	}
	.comic_solution_item_body{
		display:flex;
		align-items:center;
		gap:.6em;
	}
	.comic_solution_item_graph{
		width:26%;
		flex-shrink:0;
		margin:0;
	}
	.comic_solution_item_desc{
		flex-grow:1;
		text-align:left;
	}

	/* =====================================
	contents_share
	===================================== */
	.share_prize{
		padding-bottom:20px;
		background:url(../img/img_share_prize_bg.webp) no-repeat center bottom/130vw #f8dd8c;
		text-align:center;
	}
	.share_logo{
		padding:10px 20px;
		margin:0 0 10px;
		img{
			width:100px;
		}
	}
	.share_no1{
		max-width:80%;
		margin:0 auto 10px;
	}
	#contents_share{
		.contents_inner{
			padding-top:0;
			&:before{
				border-width: 20px 20px 0 20px;
				margin:0 auto;
			}
		}
	}
	.share_copy{
		font-size:2.4rem;
		line-height:1.2em;
	}
	.share_count{
		flex-wrap:wrap;
		flex-direction:row;
		justify-content:space-between;
		margin:0 auto 10px;
	}
	.share_count_item{
		width:50%;
		padding:0 0 15px;
		box-sizing:border-box;
		border-right:none;
	}
	.share_count_item:first-child{
		border-right:solid 1px #ddd;
	}
	.share_count_item:last-child{
		width:100%;
		padding:15px 0 0;
		border-top:solid 1px #ddd;
		border-right:none;
	}
	#contents_spec_greenfile_share .share_count_item,
	#contents_spec_entrance_share .share_count_item{
		width:auto;
		flex-grow:1;
		padding-bottom:0;
	}

	.share_count_title{
		margin:0 0 2px -1em;
	}
	.share_count_result{
		font-size:1.5rem;
	}
	.share_count_num{
		font-size:4rem;
	}
	.share_count_notice{
		margin:0 0 20px;
		font-size:10px !important;
		text-align:left;
	}
	.share_customer,
	.share_customer_notice{
		display:none;
	}

	/* =====================================
	contents_appeal
	===================================== */
	.contents_appeal{
		background:url(../img/img_appeal_bg.webp) repeat center center/100vw #f1bc1a;
	}
	
	/* =====================================
	contents_voice
	===================================== */
	#contents_voice{
		.contents_inner{
			padding-bottom:40px;
		}
	}
	.voice_subtitle{
		max-width:80%;
		margin:0 auto 5px;
	}
	.voice_title{
		margin:0 auto 15px;
		font-size:2.5rem;
		line-height:1.2em;
		img{
			width:5em;
		}
	}
	.voice_slide{
		.slick-dots{
			margin-bottom:0;
		}
		.slick-prev,.slick-next{
			width: 12px;
			height: 27px;
			margin-top:-13px;
		}
		.slick-prev{
			left:-4%;
		}
		.slick-next{
			right:-4%;
		}
		.slick-prev:before,.slick-next:before{
			width: 12px;
			height: 27px;
		}
	}
	.voice_item{
		margin:0 4px 2px;
		padding:15px;
		border-radius:15px;
	}
	.voice_item_client{
		display:flex;
		align-items:center;
		justify-content:center;
		grid-gap:1em;
		border-bottom:solid 1px #ddd;
		padding:0 0 12px;
		img{
			display:block;
			width:5em;
		}
		p{
			font-size:1.4rem;
		}
	}
	.voice_item_title{
		margin:15px 0 .6em;
		font-size: 1.7rem;
	}
	.voice_item_body{
		display:block;
		p{
			font-size:1.4rem;
			line-height:1.8em;
		}
		figure{
			width:50%;
			margin:10px auto 0;
		}
	}
	
	/* =====================================
	contents_point
	===================================== */
	.point_title{
		max-width:90%;
		margin:0 auto 15px;
	}
	.point_item{
		display:block;
		padding:15px;
		margin:0 auto 15px;
		left: -30px;
		border-radius:20px;
		position:relative;
		filter: drop-shadow(2px 2px 0px rgba(0, 0, 0, 0.05));
		background:#fff;
	}
	.point_image{
		width:70%;
		margin:0 auto 10px;
		padding:0;
		background:none;
		filter:none;
		img{
			border-radius:8px;
		}
	}
	.point_text{
		padding:0;
		background:none;
		filter:none;
		&:after{
			display:none;
		}
		h3{
			font-size:2.2rem;
			text-align:center;
		}
		p{
			margin:.4em 0 0;
			font-size:1.45rem;
			line-height:1.6em;
		}
	}

	/* =====================================
	contents_cta
	===================================== */
	#contents_cta{
			background:url(../img/img_header_bg.svg) no-repeat center top 10vw /300vw #f2ead6;
		.contents_inner{
			padding-left:2%;
			padding-right:2%;
		}
	}
	.cta_title{
		margin:0 auto 20px;
	}
	.cta_item{
		width:48%;
		.bn_cta{
			padding:.8em .4em;
			font-size:1.3rem;
		}
	}
	.cta_item_num{
		font-size:1.3rem;
	}
	.cta_item_num:after {
		border-width: 4px 4px 0 4px;
		bottom:-4px;
		margin-left: -4px;
	}
	.cta_item_title{
		font-size:1.6rem;
		br{
			display:none;
		}
	}
	.cta_item_image{
		margin:0 0 8px;
	}

	.cta_download{
		display:block;
		margin:20px auto;
	}
	.cta_download_image{
		width: 70%;
		margin:0 auto 10px;
	}
	.cta_download_text{
		flex-grow:1;
		padding:15px;
	}

	/* =====================================
	footer
	===================================== */
	#footer .contents_inner{
		padding-top:20px;
		padding-bottom:100px;
	}
	.footer_logo{
		max-width:110px;
		margin:0 auto 15px;
	}
	
	/* =====================================
	float_nav
	===================================== */
	.float_nav{
		justify-content: space-evenly;
		bottom:-90px;
		background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 20px, rgba(255,255,255,0.9) 20px, rgba(255,255,255,0.9) 100%);
	}
	.float_nav.scroll{
		bottom:0;
	}
	.float_nav_image{
		width:30%;
	}
	.float_nav_text{
		padding:0 0 10px;
	}
	.float_nav_point span{
		font-size: 1.2rem;
	}
	.float_nav_text .bn_cta{
		font-size:1.5rem;
		padding: 14px 2.3em 14px 1.5em;
	}
	
	/* =====================================
	contents_episode_header
	===================================== */
	#contents_episode_header .contents_inner{
		display:flex;
		justify-content:flex-end;
		padding-top:10px;
	}
	.episode_header_title{
		max-width:77%;
		margin:0;
	}

	/* =====================================
	contents_episode_comic
	===================================== */
	.contents_episode_comic .contents_inner{
		padding-top:30px;
		padding-bottom:20px;
	}
	.episode_comic_num{
		font-size:1.8rem;
		&:after {
			border-width: 8px 8px 0 8px;
			bottom:-8px;
			margin-left: -8px;
		}
	}
	.episode_comic_title{
		margin:0 0 15px;
		font-size:2.6rem;
	}
	.contents_episode_comic .comic_main{
		margin:0 auto 10px;
		padding:10px;
	}
	
	.episode_cta{
		margin:30px auto 0;
	}
	.episode_cta_title{
		max-width:80%;
		margin:0 auto 10px;
	}
	.episode_cta_slogan{
		margin:0 0 14px;
		text-align:center;
		span{
			font-size: 1.8rem;
		}
	}
	.episode_cta_body{
		margin:0 auto;
		padding:0;
		background:none;
		filter:none;
	}
	.episode_cta_item{
		width: 100%;
		max-width: 100%;
		margin: 0 0 10px;
		padding: 10px 10px 18px;
		.bn_cta {
			width:100%;
			padding: .8em .4em;
			font-size: 1.3rem;
		}
	}
	.episode_cta_item_title{
		font-size:1.6rem;
		line-height:1.2em;
	}
	.episode_cta_text{
		display: flex;
		align-items:center;
		margin:0 0 4px;
	}
	.episode_cta_item_image{
		width:50%;
		flex-shrink:0;
	}
	.episode_cta_item_title{
		padding:0 0 0 10px;
		margin:0;
		font-size:1.6rem;
		text-align:left;
	}

}
