@charset "utf-8";
html {
}
body {
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-size:15px;
	text-align:center;
	color:#373737;
	line-height:2;
}
@media screen and (max-width:750px){
	body {
		font-size:3.6vw;
	}
}

a {
	color:#6699FF;
	-webkit-transition : opacity 0.4s;
	transition : opacity 0.4s;
	opacity:1;
	outline:none;
	text-decoration:underline;
}
a {
}
a:hover {
	opacity: 0.8;
	text-decoration:none;
}

img{
	max-width:100%;
	vertical-align:bottom;
}

.only_sp,
.only_sp_i,
.only_sp_f{
	display:none !important;
}

@media screen and (max-width:750px){
	.only_pc{
		display:none !important;
	}
	.only_sp{
		display:block !important;
	}
	.only_sp_i{
		display:inline-block !important;
	}
	.only_sp_f{
		display: -webkit-flex !important;
		display: flex !important;
	}
}

#wrapper{
	overflow:hidden;
}
.inner{
	max-width:1024px;
	width:94%;
	margin:auto;
}

@media screen and (max-width:750px){
	.inner{
		width:94%;
	}
}


/* 色関係 */
.white{
	color:#fff;
}
.bg_white{
	background-color:#fff;
}
.blue{
	color:#0749b9;
}
.bg_blue{
	color:#fff;
	background-color:#0749b9;
}
.sky{
	color:#0099ff;
}
.bg_sky{
	color:#fff;
	background-color:#0099ff;
}

.green{
	color:#090;
}
.bg_green{
	color:#fff;
	background-color:#090;}

.red{
	color:#f00;
}
.bg_red{
	color:#fff;
	background-color:#f00;
}

.orange{
	color:#ffcc00;
}
.bg_orange{
	color:#fff;
	background-color:#ffcc00;
}


/* 書式 */
.text_left{
	text-align:left !important;
}
.text_right{
	text-align:right !important;
}
.text_center{
	text-align:center !important;
}

.bold{
	font-weight:bold;
}
.heavy{
	font-weight:900;
}

.blc{
	display:block;
}


/* header */
header{
}
header .inner{
	height:70px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	position:relative;
}
header .inner .head_logo{
	width:180px;
	line-height:1.2;
	font-size:10px;
	text-decoration:none;
}
header .inner .head_logo span{
	display:block;
	text-align:left;
	letter-spacing:0.06em;
	color:#373737;
	white-space:nowrap;
}
header .inner .head_anime{
	width:160px;
	aspect-ratio:320 / 120;
	background:url(../images/head_anime.png)no-repeat center top;
	background-size:100% auto;
	position:absolute;
	right:0;
	bottom:0;
	animation: family 2s infinite;
}
@keyframes family {
	0% { background-position:center top; }
	49.999% { background-position:center top; }
	50% { background-position:center bottom; }
	99.999% { background-position:center bottom; }
}

@media screen and (max-width:750px){
	header .inner{
		width:94%;
		height:50px;
	}
	header .inner .head_logo{
		width:140px;
		font-size:8px;
	}
	header .inner .head_anime{
		width:120px;
	}
}


/* .nav_wrapper */
.nav_wrapper{
	height:36px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
.nav_wrapper .head_nav ul{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}
.nav_wrapper .head_nav ul li a{
	font-size:18px;
	font-weight:bold;
	color:#fff;
	text-decoration:none;
}

@media screen and (max-width:750px){
	.nav_wrapper{
		height:auto;
		padding-top:36px;
		display: block;
		position:relative;
	}
	.nav_wrapper .head_nav{
		width:100%;
		display:none;
	}
	.nav_wrapper .head_nav ul{
		display: block;
	}
	.nav_wrapper .head_nav ul li{
		border-top:1px dotted #fff;
	}
	.nav_wrapper .head_nav ul li a{
		display:block;
		padding-left:1em;
		font-size:16px;
		text-align:left;
		position:relative;
	}
	.nav_wrapper .head_nav ul li a:after{
		content:'';
		display:block;
		width:0.5em;
		height:0.5em;
		border-top:2px solid;
		border-right:2px solid;
		position:absolute;
		right:1em;
		top:50%;
		transform:translateY(-50%) rotate(45deg);
	}
}


/* #btnmenu */
#btnmenu{
	width:36px;
	height:36px;
	padding:0;
	position:absolute;
	z-index:1;
	top:0;
	right:1%;
	cursor:pointer;
}

#btnmenu span{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 24px;
	height: 2px;
	margin: -2px 0 0 -12px;
	background: #fff;
	-webkit-transition: .2s;
	-moz-transition: .2s;
	-ms-transition: .2s;
	-o-transition: .2s;
	transition: .2s;
}
#btnmenu span:before,
#btnmenu span:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 24px;
	height: 2px;
	background: #fff;
	-webkit-transition: .3s;
	-moz-transition: .3s;
	-ms-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
#btnmenu span:before{
	margin-top: -9px;
}

#btnmenu span:after{
	margin-top: 7px;
}

#btnmenu .close{
	background: transparent;
	width:27px;
	height:27px;
	margin: -13px 0 0 -14px;
}

#btnmenu .close:before,
#btnmenu .close:after{
	margin-top: 0;
}

#btnmenu .close:before{
	width: 24px;
	height: 2px;
	margin: -2px 0 0 6px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#btnmenu .close:after{
	width: 24px;
	height: 2px;
	margin: -2px 0 0 6px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	-o-transform: rotate(-135deg);
	transform: rotate(-135deg);
}



/* .bread */
.bread{
	padding:0.5em 0;
	font-size:12px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.bread li:nth-child(n+2):before{
	content:'';
	display:inline-block;
	width:0.5em;
	height:0.5em;
	margin:0 1em;
	border-top:1px solid;
	border-right:1px solid;
	transform:rotate(45deg);
}

@media screen and (max-width:750px){
	.bread{
		font-size:3vw;
	}
}



/* content */
#container{
	padding-bottom:min(9%,90px);
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
@media screen and (max-width:750px){
	#container{
		width:100%;
		padding-bottom:0;
		display: block;
	}
}


/* main */
main{
	width:min(69%,698px);
	min-height:100vh;
}

@media screen and (max-width:750px){
	main{
		width:100%;
		min-height:auto;
	}
}


/* .cont */
.cont{
	padding:5% 0;
}
.cont .tit{
	padding-left:0.8em;
	font-size:min(2.4vw,24px);
	text-align:left;
	letter-spacing:0.1em;
	border-bottom:1px dotted;
	overflow:hidden;
	border-left:0.4em solid;
opacity:1;
}
.cont .tit span{
	opacity:1;
	-webkit-transform : translate(0, 70px);
	transform : translate(0, 70px);
	-webkit-transition : all 0.4s;
	transition : all 0.4s;
	display:inline-block;
}
.cont .tit span.up{
	opacity:1;
	-webkit-transform : translate(0, 0px);
	transform : translate(0, 0px);
}
.cont .lead{
	margin-top:3%;
	text-align:left;
}
.cont .more{
	margin-top:1.5em;
	text-align:right;
}
.cont .more a{
	display:inline-block;
	padding:0 0.5em;
	border-radius:0.3em;
	letter-spacing:0.05em;
	text-indent:0.05em;
	text-decoration:none;
}
.cont .more a:before{
	content:'▼';
}
.cont .line{
	background:linear-gradient(transparent 65%,#fc0 65%,#fc0 90%,transparent 90%);
}

.cont .bottom{
	line-height:1.5;
	margin-top:3%;
	padding:7% 0 5% 0.1em;
	font-size:min(2.4vw,24px);
	font-weight:bold;
	letter-spacing:0.1em;
	position:relative;
}
.cont .bottom:after{
	content:'';
	display:block;
	width:3em;
	height:1.2em;
	background-color:#ffcc00;
	background-color:#fff;
	clip-path:polygon(0 0, 100% 0, 50% 100%);
	position:absolute;
	top:-1px;
	left:50%;
	transform:translateX(-50%);
}
.cont .bottom .small{
	font-size:min(2.1vw,21px);
}

@media screen and (max-width:750px){
	.cont{
		padding:5% 3%;
	}
	.cont .tit{
		font-size:4.5vw;
	}
	
	.cont .bottom{
		font-size:4.2vw;
	}
	.cont .bottom .small{
		font-size:3.6vw;
	}
}



/* aside */
aside{
	width:min(29%,300px);
	position:relative;
}
aside .side_cont{
	margin-bottom:min(5%,20px);
}
aside .side_cont h3{
	margin-bottom:10px;
	text-align:left;
	border-bottom:1px dotted;
}
aside .side_cont h3:before{
	content:'●';
}

aside .fix_cont.fix{
	position:fixed;
	top:20px;
	bottom:auto;
	width:min(27.2%,298px);
}
aside .fix_cont.bottom_touch{
	position:absolute;
	top:auto;
	bottom:0;
	width:100%;
}

aside .side_cont #info iframe{
	width:94%;
}
aside .side_cont #social{
	padding:5% 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
aside .side_cont #social a{
	width:min(12%,50px);
	margin:0 1%;
}
aside .side_cont .promotion{
	width:min(100%,640px);
	aspect-ratio:640 / 320;
}
aside .side_cont .line_banner{
	height:100%;
	padding:1.5%;
	border:1px solid #ddd;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
aside .side_cont.cta{
	margin-bottom:0;
	padding:5% 0 16%;
	border:1px solid #ddd;
	border-radius:0.5em;
	position:relative;
}
aside .side_cont.cta h3{
	line-height:1.5;
	padding:0;
	font-size:min(2.1vw,21px);
	text-align:center;
	letter-spacing:0.05em;
	text-indent:0.05em;
	border:none;
}
aside .side_cont.cta h3:before{
	content:none;
}
aside .side_cont.cta .btn{
	line-height:1.5;
	display:block;
	width:14em;
	margin:auto;
	padding:0.8em 0 0.8em 0.1em;
	font-size:min(1.5vw,15px);
	letter-spacing:0.1em;
	border-radius:0.5em;
	text-decoration:none;
	position:relative;
	z-index:1;
}

aside .side_cont.cta .privacy{
	display:inline-block;
	margin-top:3%;
	line-height:1.3;
	font-size:min(1.2vw,12px);
	position:relative;
	z-index:1;
}
aside .side_cont.cta .cta_animation{
	width:82%;
	aspect-ratio:400 / 120;
	background:url(../images/cta_anime.png)no-repeat center top;
	background-size:100% auto;
	position:absolute;
	bottom:0;
	left:50%;
	transform:translateX(-50%);
	animation: cta 2s infinite;
}
@keyframes cta {
	0% { background-position:center top; }
	49.999% { background-position:center top; }
	50% { background-position:center bottom; }
	99.999% { background-position:center bottom; }
}

@media screen and (max-width:750px){
	aside{
		width:100%;
		margin-top:12%;
		padding:0 3%;
	}
	aside .side_cont{
		width:100%;
	}
	aside .fix_cont{
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	aside .fix_cont.fix{
		position:static;
		top:auto;
		width:auto;
	}
	aside .fix_cont.bottom_touch{
		position:static;
		top:auto;
		bottom:auto;
		width:auto;
	}


	aside .flex_half{
		width:49%;
	}
	
	aside .side_cont #social a{
		width:min(9%,40px);
	}
	
	aside .side_cont.cta{
		margin-bottom:5%;
		padding:3% 0;
	}
	aside .side_cont.cta h3{
		line-height:1.5;
		font-size:5.6vw;
	}
	aside .side_cont.cta .btn{
		width:13em;
		font-size:3.6vw;
	}

	aside .side_cont.cta .privacy{
		font-size:3vw;
		position:relative;
	}
	aside .side_cont.cta .cta_animation{
		width:95%;
		aspect-ratio:1320 / 240;
		background:url(../images/cta_anime_s.png)no-repeat center top;
		background-size:100% auto;
		position:absolute;
		bottom:0;
		left:auto;
		right:-3%;
		transform:none;
		animation: cta 2s infinite;
	}
}

@media screen and (max-width:540px){
	aside .flex_half{
		width:100%;
	}
}


/* footer */
footer{
}


/* #top_top */
#topbtn{
	position:fixed;
	z-index:100;
	right:15px;
	bottom:-150px;
	width:40px;
	line-height:40px;
	font-size:24px;
	text-decoration:none;
	color:#fff;
	background-color:rgba(0,0,0,0.4);
	border-radius:50%;
	-webkit-transition: bottom 0.8s;
	transition: bottom 0.8s;
}


/* #bottom_nav */
#bottom_nav{
	width:40px;
	display:block;
	width:100%;
	line-height:3;
	font-size:5vw;
	letter-spacing:0.1em;
	text-indent:0.1em;
	text-decoration:none;
	position:fixed;
	z-index:100;
	left:0;
	bottom:-150px;
	-webkit-transition: bottom 0.8s;
	transition: bottom 0.8s;
}


/* キラリと光る*/
.shiny{
	position:relative;
	overflow:hidden;
}
.shiny:before{
	content: '';
	position: absolute;
	display: inline-block;
	top: -180px;
	left: 0; span
	z-index:10;
	width: 30px;
	height: 100%;
	background-color: #fff;
	-webkit-animation: shiny-btn 3.5s ease-in-out infinite;
	animation: shiny-btn 3.5s ease-in-out infinite;
}
@-webkit-keyframes shiny-btn {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 0.8; }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@keyframes shiny-btn {
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { transform: scale(4) rotate(45deg); opacity: 0.8; }
	100% { transform: scale(50) rotate(45deg); opacity: 0; }
}


/* 一文字ずつ表示 */
.type{
opacity:0;
}
.type span{
	opacity:0;
	-webkit-transform : translate(10px, 0px);
	transform : translate(10px, 0px);
	-webkit-transition : all 0.4s;
	transition : all 0.4s;
	display:inline-block;
}
.type span.up{
	opacity:1;
	-webkit-transform : translate(0, 0px);
	transform : translate(0, 0px);
}


/* fadein */
.fadein0 {
	opacity : 0;
	-webkit-transition-property: opacity;
	transition-property : opacity;
	-webkit-transition-duration: 1.5s;
	transition-duration : 1.5s;
}
.fadein {
	opacity : 0;
	-webkit-transform : translate(0, 70px);
	transform : translate(0, 70px);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_l {
	opacity : 0;
	-webkit-transform : translate(-100px, 0);
	transform : translate(-100px, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_r {
	opacity : 0;
	-webkit-transform : translate(100px, 0);
	transform : translate(100px, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}

.delay1 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.2s;
	transition-delay : 0.2s;
}
.delay2 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.4s;
	transition-delay : 0.4s;
}
.delay3 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.6s;
	transition-delay : 0.6s;
}
.delay4 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.8s;
	transition-delay : 0.8s;
}
.delay5 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.0s;
	transition-delay : 1.0s;
}
.delay6 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.2s;
	transition-delay : 1.2s;
}

.fadein0.scrollin{
	opacity : 1;
}
.fadein.scrollin,
.fadein_l.scrollin,
.fadein_r.scrollin{
	opacity : 1;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
}

/* popup */
.popup {
	-webkit-transform : scale(0);
	transform : scale(0);
	-webkit-transition-property: transform;
	transition-property : transform;
	-webkit-transition-duration: 0.4s;
	transition-duration : 0.4s;
	-webkit-transition-timing-function: cubic-bezier(.17,.67,.68,1.34);
	transition-timing-function: cubic-bezier(.17,.67,.68,1.34);
}
.popup.scrollin {
	-webkit-transform : scale(1);
	transform : scale(1);
}


