@charset "utf-8";

/*
GLOBAL
***************************************************************************/
html {
	font-size: 62.5%;
	overflow-y: scroll;
	overflow-x: hidden;
}

body {
	width: 100%;
	min-width: 640px;
	height: auto;
	text-align: left;
	font-family: "Noto Sans JP", sans-serif;
	word-break: break-all;
	font-size: 2rem;
	font-weight: 500;
	line-height: 2;
	color: #3f3f3f;
	letter-spacing: 0.025rem;
	background: #fff;
	overflow-x: hidden;
	-webkit-text-size-adjust: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.base_box {
	width: 640px;
	margin: 0 auto;
}

.sec_inner {
	position: relative;
	z-index: 5;
}

/*
DEFAULT
***************************************************************************/
body,
h1,h2,h3,h4,h5,h6,p,div,
ul,ol,li,dl,dt,dd,
form,fieldset,legend,pre,blockquote,main,
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display: block;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	word-wrap: break-word;
	font-feature-settings: "pkna";
}

p {
	margin-block-start: 0;
	margin-block-end: 0;
}

.clearfix:after {
	display: block;
	clear: both;
	content: "";
	overflow: hidden;
}

li {
	list-style-type: none;
}

table {
	width: 100%;
	text-align: left;
	border-collapse: collapse;
}

th {
	text-align: left;
	font-weight: normal;
}

/* ▼LINK▼ */
a {
	color: #ea64ae;
	text-decoration: none;
	outline: none;
}

/* ▼IMG▼ */
img, input[type="image"] {
	width: 100%;
	border: 0;
	font-size: 0;
	line-height: 0;
	vertical-align: middle;
}

button, input[type="submit"] {
	padding: 0;
	vertical-align: middle;
	color: #fff;
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	transition: .3s;
}

.img_frame {
	position: relative;
	overflow: hidden;
}

.img_frame img {
	position: absolute;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

/*
CONTENTS
***************************************************************************/
/* ▼TOPIMG▼ */
#topimg {
	background: url(../images/topimg_bg.jpg) center center / cover no-repeat;
}

/* ▼INTRO▼ */
#intro_sec {
	background: url(../images/intro_bg.jpg) center center / cover no-repeat;
}

/* ▼PRESENT▼ */
#present_sec .sec_inner {
	padding-bottom: 70px;
	background: url(../images/present_bg.jpg) center center / cover no-repeat;
}

.form_box {
	margin: 0 30px;
	padding: 50px 30px;
	background: #fff;
}

.form_box li {
	margin-bottom: 30px;
}

.form_box .txt {
	margin-bottom: 30px;
	text-align: center;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.6;
}

.form_box .btn {
	margin-bottom: 30px;
}

.form_box .stxt {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.7;
}

input[type="text"], input[type="email"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	box-sizing: border-box;
	position: relative;
	width: 100%;
	height: 100px;
	padding: 0 30px;
	vertical-align: middle;
	font-size: 2.4rem;
	font-weight: 700;
	color: #3f3f3f;
	line-height: 100px;
	font-family: "Noto Sans JP", sans-serif;
	background: #fff;
	border: solid 1px #b5b5b5;
	border-radius: 10px;
	caret-color: #999;
}

input[type="text"]:focus, input[type="email"]:focus {
	border: solid 1px #b5b5b5;
	outline: none;
}

input[type="submit"]:focus, button:focus { outline:none; }

input::-webkit-input-placeholder {
	font-size: 2.4rem!important;
	color: #b5b5b5;
	font-weight: 700;
}

input:-ms-input-placeholder {
	font-size: 2.4rem!important;
	color: #b5b5b5;
	font-weight: 700;
}

input::-moz-placeholder {
	font-size: 2.4rem!important;
	color: #b5b5b5;
	font-weight: 700;
}

/*
PARTS
***************************************************************************/
/* ▼SCROLL▼ */
.scroll_box { overflow-y:auto; }

.scroll_box::-webkit-scrollbar {
	width: 4px;
}

.scroll_box::-webkit-scrollbar-track {
	background: #444;
}

.scroll_box::-webkit-scrollbar-thumb {
	background: #999;
}

.gecko .scroll_box {
	scrollbar-width: 4px;
	scrollbar-color: #999 #444;
}

/* ▼CONTENTS EFFECT▼ */
.move_parts {
	opacity: 0;
	transition: all 0.5s;
}

.move_parts.btm_top {
	transform: translateY(100px);
}

.move_parts.top_btm {
	transform: translateY(-100px);
}

.move_parts.left_right {
	transform: translateX(-100px);
}

.move_parts.right_left {
	transform: translateX(100px);
}

.move_parts.expand {
	opacity: 1;
	transform: scale(0.001);
}

.move_parts.expand.rev {
	opacity: 0;
	transform: scale(1.5);
}

.move_parts.on {
	opacity: 1!important;
	transform: scale(1)!important;
}

.delay_fade {
	opacity: 0;
	transition: all 0.5s;
}

.delay_fade.active {
	opacity: 1.0;
}

.blink {
	animation: blink 1.2s linear 0s infinite normal;
	transition: .1s;
}

@-webkit-keyframes blink {
	0% { opacity:1; }
	50% { opacity:0; }
	100% { opacity:1; }
}

@keyframes blink {
	0% { opacity:1; }
	50% { opacity:0; }
	100% { opacity:1; }
}

.txt_kirarin {
	background-image: linear-gradient(-45deg, #fff067 45%, #FFF 50%, #fff067 55%);
	background-size: 500% 100%;
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	animation: txt_kirarin 1s infinite;
}

@keyframes txt_kirarin {
	0% { background-position:100% 50%; }
	100% { background-position:0% 50%; }
}

@-webkit-keyframes txt_kirarin {
	0% { background-position:100% 50%; }
	100% { background-position:0% 50%; }
}

.kirarin {
	overflow: hidden;
}

.kirarin:after {
	display: block;
	content: "";
	position: absolute;
	top: -240px;
	left: 0;
	width: 60px;
	height: 100%;
	background: #fff;
	overflow: hidden;
	opacity: 0;
	transform: rotate(45deg);
	animation: kirarin 2s ease-in-out infinite;
	-webkit-transform: rotate(45deg);
	-webkit-animation: kirarin 2s ease-in-out infinite;
}

@keyframes kirarin {
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { transform: scale(4) rotate(45deg); opacity: 1; }
	100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

@-webkit-keyframes kirarin {
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { transform: scale(4) rotate(45deg); opacity: 1; }
	100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

/* ▼SLICK SLIDE▼ */
.slick_sec, .slick_sec .box {
	display: none;
}

.slick_sec.slick-initialized, .slick_sec .box {
	display: block;
}

/* ▼BUTTON▼ */
.btn_bound img {
	-webkit-animation: bomb 3s linear 0s infinite normal;
	animation: bomb 3s linear 0s infinite normal;
	transition: .3s;
}

@-webkit-keyframes bomb {
	0% { -webkit-transform:scale(1); }
	7% { -webkit-transform:scale(0.98); }
	14% { -webkit-transform:scale(0.94); }
	21% { -webkit-transform:scale(1); }
	28% { -webkit-transform:scale(0.94); }
	35% { -webkit-transform:scale(0.98); }
	42% { -webkit-transform:scale(0.95); }
	49% { -webkit-transform:scale(1); }
	100% { -webkit-transform:scale(1); }
}

@keyframes bomb {
	0% { transform:scale(1); }
	7% { transform:scale(0.98); }
	14% { transform:scale(0.94); }
	21% { transform:scale(1); }
	28% { transform:scale(0.94); }
	35% { transform:scale(0.98); }
	42% { transform:scale(0.95); }
	49% { transform:scale(1); }
	100% { transform:scale(1); }
}

/*
COMMON PARTS
***************************************************************************/
/* ▼display▼ */
.block { display:block!important; }
.inline { display:inline!important; }

.posit_r { position:relative!important; }
.posit_a { position:absolute!important; }
.posit_f { position:fixed!important; }

.align_c { text-align:center!important; }
.align_r { text-align:right!important; }
.align_l { text-align:left!important; }

.disp_l { float:left!important; }
.disp_r { float:right!important; }

.va_top { vertical-align:top!important; }
.va_mid { vertical-align:middle!important; }
.va_btm { vertical-align:bottom!important; }

/* ▼width▼ */
.w4per { width:4%; }
.w5per { width:5%; }
.w8per { width:8%; }
.w10per { width:10%; }
.w15per { width:15%; }
.w20per { width:20%; }
.w22per { width:22%; }
.w25per { width:25%; }
.w30per { width:30%; }
.w35per { width:35%; }
.w50per { width:50%; }
.w55per { width:55%; }
.w56per { width:56%; }
.w60per { width:60%; }
.w70per { width:70%; }
.w75per { width:75%; }
.w80per { width:80%; }
.w100per { width:100%!important; }

/* ▼area▼ */
.mb90 { margin-bottom:180px!important; }
.mb80 { margin-bottom:160px!important; }
.mb70 { margin-bottom:140px!important; }
.mb60 { margin-bottom:120px!important; }
.mb30 { margin-bottom:60px!important; }
.mb25 { margin-bottom:50px!important; }
.mb20 { margin-bottom:40px!important; }
.mb15 { margin-bottom:30px!important; }
.mb10 { margin-bottom:20px!important; }
.mb5 { margin-bottom:10px!important; }
.mb0 { margin-bottom:0!important; }

.mlr15 { margin-left:30px!important; margin-right:30px!important; }
.mlr12 { margin-left:24px!important; margin-right:24px!important; }
.mlr_auto { margin-left:auto!important; margin-right:auto!important; }

/* ▼font▼ */
.bold { font-weight:bold!important; }
.normal { font-weight:normal!important; }

.size10 { font-size:1rem!important; }
.size11 { font-size:1.1rem!important; }
.size12 { font-size:1.2rem!important; }
.size13 { font-size:1.3rem!important; }
.size14 { font-size:1.4rem!important; }
.size16 { font-size:1.6rem!important; }
.size17 { font-size:1.7rem!important; }
.size18 { font-size:1.8rem!important; }
.size19 { font-size:1.9rem!important; }
.size20 { font-size:2.0rem!important; }
.size22 { font-size:2.2rem!important; }
.size24 { font-size:2.4rem!important; }
.size30 { font-size:3.0rem!important; }

.c_blue { color:#265a91!important; }

.lh2 { line-height:2!important; }
.lh18 { line-height:1.8!important; }
.lh16 { line-height:1.6!important; }
.lh15 { line-height:1.5!important; }

/* ▼link▼ */
a.line, .line { text-decoration:underline!important; }
a.no_line { text-decoration:none!important; }

/* ▼frame▼ */
.img_frame01 { border:solid 1px #fff; }

/* ▼line▼ */

/* ▼indent▼ */
.indent1 { margin-left:1em; text-indent:-1em; }
.indent2 { margin-left:2em; text-indent:-2em; }
.indent3 { margin-left:3em; text-indent:-3em; }
.indent4 { margin-left:4em; text-indent:-4em; }
.indent5 { margin-left:5em; text-indent:-5em; }
.indent6 { margin-left:6em; text-indent:-6em; }


/* ▼background▼ */
.bg_none { background:none!important; }

/* ▼border▼ */
.border_none { border:none!important; }
