/*---------------------------------------------------
common
---------------------------------------------------*/
body{
	background-image: url(/images/common/bg.png);
}
a {
	text-decoration		: none;
	color			: inherit;
	cursor			: pointer;
	display			: block;
}

/*---------------------------------------------------
font
---------------------------------------------------*/
html{
	font-family		: 'Kosugi Maru','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',"メイリオ", Meiryo,"ＭＳ Ｐゴシック", "MS PGothic";
	font-size		: 10px;
}
body{
	color			: #3b4041;
	overflow-x		: hidden;
	font-size		: 1.4rem;
	line-height		: 1.8;
	position		: relative;
}

h1{
	letter-spacing		: 0.2rem;
	font-size		: 2.4rem;
	line-height		: 3;
}

h2{
	letter-spacing		: 0.2rem;
	font-size		: 2.2rem;
	line-height		: 1.4;
}

h3{
	letter-spacing		: 0.2rem;
	font-size		: 1.6rem;
	line-height		: 1.65;
}


/*---------------------------------------------------
text
---------------------------------------------------*/
.text-center{
	text-align		: center;
}

.small{
	font-size		: 0.9rem;
}

/*---------------------------------------------------
img
---------------------------------------------------*/

img{
	width			: 100% !important;
	vertical-align		: bottom;
}

/*---------------------------------------------------
decorations
---------------------------------------------------*/
.abs-center{
	position		: absolute;
	display			: block;
	top			: 50%;
	left			: 50%;
	transform		: translateY(-50%) translateX(-50%);
}


/*---------------------------------------------------
grid
---------------------------------------------------*/

.row {
	display			: -ms-flexbox;
	display			: flex;
	-ms-flex-wrap		: wrap;
	flex-wrap		: wrap;
	margin-right		: -5px;
	margin-left		: -5px;
}

.align-items-center {
    -webkit-box-align			: center !important;
    -webkit-align-items			: center !important;
    -ms-flex-align			: center !important;
    align-items				: center !important;
}


.col-full,
.col-12_11,
.col-12_10,
.col-12_9,
.col-12_8,
.col-12_7,
.col-12_6,
.col-12_5,
.col-12_4,
.col-12_3,
.col-12_2,
.col-12_1,
.col-md-full,
.col-md-12_11,
.col-md-12_10,
.col-md-12_9,
.col-md-12_8,
.col-md-12_7,
.col-md-12_6,
.col-md-12_5,
.col-md-12_4,
.col-md-12_3,
.col-md-12_2,
.col-md-12_1,
.col-sm-12_11,
.col-sm-12_10,
.col-sm-12_9,
.col-sm-12_8,
.col-sm-12_7,
.col-sm-12_6,
.col-md-12_5,
.col-sm-12_4,
.col-sm-12_3,
.col-sm-12_2,
.col-sm-12_1{
    position			: relative;
    width			: 100%;
    padding-right		: 5px;
    padding-left		: 5px;
}

.col-none{
    -ms-flex			: 0 0 0%;
    flex			: 0 0 0%;
    max-width			: 0%;
    width			: 0;
    padding-right		: 0;
    padding-left		: 0;
} 
.col-full {
    -ms-flex			: 0 0 100%;
    flex			: 0 0 100%;
    max-width			: 100%;
}

.col-12_11 {
	-ms-flex	: 0 0 91.666666%;
	flex		: 0 0 91.666666%;
	max-width	: 91.666666%;
}

.col-12_10 {
	-ms-flex	: 0 0 83.333333%;
	flex		: 0 0 83.333333%;
	max-width	: 83.333333%;
}

.col-12_9 {
	-ms-flex	: 0 0 74.999999%;
	flex		: 0 0 74.999999%;
	max-width	: 74.999999%;
}

.col-12_8 {
	-ms-flex	: 0 0 58.333333%;
	flex		: 0 0 58.333333%;
	max-width	: 58.333333%;
}

.col-12_7 {
	-ms-flex	: 0 0 58.333333%;
	flex		: 0 0 58.333333%;
	max-width	: 58.333333%;
}

.col-12_6 {
	-ms-flex	: 0 0 50%;
	flex		: 0 0 50%;
	max-width	: 50%;
}

.col-12_5 {
	-ms-flex	: 0 0 41.666666%;
	flex		: 0 0 41.666666%;
	max-width	: 41.666666%;

}

.col-12_4 {
	-ms-flex	: 0 0 33.333333%;
	flex		: 0 0 33.333333%;
	max-width	: 33.333333%;
}

.col-12_3 {
	-ms-flex	: 0 0 24.999999%;
	flex		: 0 0 24.999999%;
	max-width	: 24.999999%;
}

.col-12_2 {
	-ms-flex	: 0 0 16.666666%;
	flex		: 0 0 16.666666%;
	max-width	: 16.666666%;
}

.col-12_1 {
	-ms-flex	: 0 0 8.333333%;
	flex		: 0 0 8.333333%;
	max-width	: 8.333333%;
}

@media (min-width:768px) {

	.col-sm-12_11 {
		-ms-flex	: 0 0 91.666666%;
		flex		: 0 0 91.666666%;
		max-width	: 91.666666%;
	}
	
	.col-sm-12_10 {
		-ms-flex	: 0 0 83.333333%;
		flex		: 0 0 83.333333%;
		max-width	: 83.333333%;
	}
	
	.col-sm-12_9 {
		-ms-flex	: 0 0 74.999999%;
		flex		: 0 0 74.999999%;
		max-width	: 74.999999%;
	}
	
	.col-sm-12_8 {
		-ms-flex	: 0 0 66.666666%;
		flex		: 0 0 66.666666%;
		max-width	: 66.666666%;
	}

	.col-sm-12_7 {
		-ms-flex	: 0 0 58.333333%;
		flex		: 0 0 58.333333%;
		max-width	: 58.333333%;
	}
	
	.col-sm-12_6 {
		-ms-flex	: 0 0 50%;
		flex		: 0 0 50%;
		max-width	: 50%;
	}
	.col-sm-12_5 {
		-ms-flex	: 0 0 41.666666%;
		flex		: 0 0 41.666666%;
		max-width	: 41.666666%;
	}
	.col-sm-12_4 {
		-ms-flex	: 0 0 33.333333%;
		flex		: 0 0 33.333333%;
		max-width	: 33.333333%;
	}
	.col-sm-12_3 {
		-ms-flex	: 0 0 24.999999%;
		flex		: 0 0 24.999999%;
		max-width	: 24.999999%;
	}

	.col-sm-12_2 {
		-ms-flex	: 0 0 16.666666%;
		flex		: 0 0 16.666666%;
		max-width	: 16.666666%;
	}
	
	.col-sm-12_1 {
		-ms-flex	: 0 0 8.333333%;
		flex		: 0 0 8.333333%;
		max-width	: 8.333333%;
	}
}


@media (min-width: 992px) {
	.col-md-full {
		-ms-flex	: 0 0 100%;
		flex		: 0 0 100%;
		max-width	: 100%;
	} 

	.col-md-12_11 {
		-ms-flex	: 0 0 91.666666%;
		flex		: 0 0 91.666666%;
		max-width	: 91.666666%;
	}
	
	.col-md-12_10 {
		-ms-flex	: 0 0 83.333333%;
		flex		: 0 0 83.333333%;
		max-width	: 83.333333%;
	}
	
	.col-md-12_9 {
		-ms-flex	: 0 0 74.999999%;
		flex		: 0 0 74.999999%;
		max-width	: 74.999999%;
	} 
	
	.col-md-12_8 {
		-ms-flex	: 0 0 66.666666%;
		flex		: 0 0 66.666666%;
		max-width	: 66.666666%;
	}
	
	.col-md-12_7 {
		-ms-flex	: 0 0 58.333333%;
		flex		: 0 0 58.333333%;
		max-width	: 58.333333%;
	}
	
	.col-md-12_6 {
		-ms-flex	: 0 0 50%;
		flex		: 0 0 50%;
		max-width	: 50%;
	}

	.col-md-12_5 {
		-ms-flex	: 0 0 41.666666%;
		flex		: 0 0 41.666666%;
		max-width	: 41.666666%;
	}
	
	.col-md-12_4 {
		-ms-flex	: 0 0 33.333333%;
		flex		: 0 0 33.333333%;
		max-width	: 33.333333%;
	}
	
	.col-md-12_3 {
		-ms-flex	: 0 0 24.999999%;
		flex		: 0 0 24.999999%;
		max-width	: 24.999999%;
	}

	.col-md-12_2 {
		-ms-flex	: 0 0 16.666666%;
		flex		: 0 0 16.666666%;
		max-width	: 16.666666%;
	}

	.col-md-12_1 {
		-ms-flex	: 0 0 8.333333%;
		flex		: 0 0 8.333333%;
		max-width	: 8.333333%;
	}
}


.justify-center{
	-ms-flex-pack		: center !important;
	justify-content		: center !important;
}

/*---------------------------------------------------
.container
---------------------------------------------------*/

.container-full,
.container {
    width		: 100%;
    padding-right	: 5px;
    padding-left	: 5px;
    margin-right	: auto;
    margin-left		: auto;
}

.container-full{
    padding-right	: 0px;
    padding-left	: 0px;
}

@media (min-width:576px) {
	.container {
	max-width	: 540px;
	}
	
	.container-full {
	max-width	: 540px;
	}
}


@media (min-width:768px) {
	.container {
	max-width	: 720px;
	}
	
	.container-full {
	max-width	: 720px;
	}
}

@media (min-width: 992px) { 
	.container {
	max-width	: 960px;
	}
	
	.container-full {
	max-width	: 960px;
	}
}

@media (min-width: 1200px) { 
	.container {
	max-width	: 1000px;
	}
	.container-full {
	max-width	: 1000px;
	}
}



/*---------------------------------------------------
.contents-block
---------------------------------------------------*/
.contents-block{
	padding-top	: 1rem;
	padding-bottom	: 1rem;
}

.contents-block .contents-inner{
	padding			: 2rem 1.5rem;
}

/*---------------------------------------------------
#nav
---------------------------------------------------*/
#nav{
}
#nav .container{
	background		: #5fbf5b;
	position		: relative;
	
}

.logo{
	padding			: 1.5rem 15px;
	text-align		: left;
	ms-flex-positive	: 1 !important;
	flex-grow		: 1 !important;
}

.logo img{
	max-width 		: 210px;
}


#nav-btn{
	background		: #fbdb31;
	padding-right		: 5px;
	padding-left		: 5px;
	display			: block;
	cursor			: pointer;
	overflow		: hidden;
	
}

#nav-list{
	height			: 0;
	overflow		: hidden;
	opacity			: 0;
	transition		: 0.8s;
}

#nav-list.active{
	height			: auto;
	opacity			: 1;
	padding-top		: 1rem;
	padding-bottom		: 1rem;
}

.menu-trigger,
.menu-trigger span {
	display			: block;
	transition		: all .4s;
}
.menu-trigger {
	position		: relative;
	width			: 50px;
	height			: 67px;
}

.menu-trigger span {
	position		: absolute;
	left			: 50%;
	width			: 70%;
	height			: 4px;
	background-color	: #fff;
	border-radius		: 2px;	
	display			: inline-bloxk;
	
}
.menu-trigger span:nth-child(1) {
	top			: 25%;
	-webkit-transform	: translateY(-50%) translateX(-50%);
	transform		: translateY(-50%) translateX(-50%);	
}
.menu-trigger span:nth-child(2) {
	top			: 50%;
	-webkit-transform	: translateY(-50%) translateX(-50%);
	transform		: translateY(-50%) translateX(-50%);	
}
.menu-trigger span:nth-child(3) {
	top			: 75%;
	-webkit-transform	: translateY(-50%) translateX(-50%);
	transform		: translateY(-50%) translateX(-50%);	
}

.menu-trigger.active {
	-webkit-transform	: rotate(360deg);
	transform		: rotate(360deg);
}
.menu-trigger.active span:nth-child(1) {
	top			: 50%;
	-webkit-transform	: translateY(-50%) translateX(-50%) rotate(-45deg);
	transform		: translateY(-50%) translateX(-50%) rotate(-45deg);
}
.menu-trigger.active span:nth-child(2) {
	top			: 49%;
	-webkit-transform	: translateY(0) translateX(-50%) rotate(45deg);
	transform		: translateY(0) translateX(-50%) rotate(45deg);
	
}
.menu-trigger.active span:nth-child(3) {
	opacity			: 0;
}


.nav-items{
	position		: relative;
	width			: 100%;
	padding-right		: 5px;
	padding-left		: 5px;
	-ms-flex		: 0 0 33.333333%;
	flex			: 0 0 33.333333%;
	max-width		: 33.333333%;
}

.nav-icon{
	position		: relative;
	display			: block;
	width			: 90%;
	margin-right		: auto;
	margin-left		: auto;	
}

.nav-icon img{
	max-width		: 90px;
	
}


.nav-items a{
	position		: relative;
	display			: block;
	text-align		: center;
	font-size		: 1.075rem;
	height			: 100%;
	min-height		: 60px;
	color			: #fff;
	padding			: 0.5rem 0;
}

.nav-name{
	line-height		: 2.4;
}

.nav-name.long{
	line-height		: 1.2;	
}

.nav-name span{
	display			: block;
}

@media (min-width: 992px) { 
	#nav-btn{
		display			: none !important;
	}
	
	.logo{
		text-align		: center;
		padding-bottom		: 0.5rem;
	}
	
	#nav-list{
		height			: auto;
		opacity			: 1;
		transition		: 0;
		padding-top		: 1rem;
		padding-bottom		: 1rem;	
	}

	.nav-items{
		-ms-flex		: 0 0 12.5%;
		flex			: 0 0 12.5%;
		max-width		: 12.5%;
	}

	
	.nav-items a:after{
		content			: "";
		position		: absolute;
		height			: 100%;
		width			: 3px;
		left			: -5px;
		top			: 0;
		border-radius		: 2px;
		background		: #fff;
	}
	
	.nav-items:last-child a:before{
		content			: "";
		position		: absolute;
		height			: 100%;
		width			: 3px;
		right			: -5px;
		top			: 0;
		border-radius		: 2px;
		background		: #fff;
	}
}



/*----------------------------------------------------------
.top-to
----------------------------------------------------------*/
.top-to{
	width				: 60px;
	height				: 60px;
	position			: fixed;
	bottom				: 4rem;
	right				: 2%;
	display				: none;
	background-color		: #fbdb31;
	border-radius			: 30px;
	color				: #fff;
	text-align			: center;
	opacity				: 0.7;
	-webkit-transition-duration
				: 0.3s;
	transition-duration
				: 0.3s;
}
.top-to:hover{
	opacity				: 1;
}

.top-to a i{
	color				: #fff;
	font-size			: 30px;
	line-height			: 58px;
}

/*----------------------------------------------------------
#sns_btn
----------------------------------------------------------*/

#sns_btn{
	padding-top				: 0.5rem;
	padding-right				: 0.5rem;
	text-align				: right;
}

#sns_btn i{
	font-size				: 20px;
	line-height				: 30px;
}

.sns-btn{
	width					: 30px;
	height					: 30px;
	display					: inline-block;
	text-align				: center;
	color					: #fff;
}

.sns_twitter{
	background				: #1DA1F2;
}

.sns_facebook{
	background				: #3C5A99;
}


/*----------------------------------------------------------
.card
----------------------------------------------------------*/
.card{
	background		: #fff;
	border-radius		: 4px;
	color			: #3b4041;
	position		: relative;
}

.grid-item .card .card-body{
	padding			: 1rem;
}

/*----------------------------------------------------------
#footer
----------------------------------------------------------*/
#footer{
	background		: #5fbf5b;
	color			: #fff;
	text-align		: center;
}

.btn-privacy{
	display			: inline-block;
	font-size		: 1.2rem;
}

.btn-privacy:hover{
	text-decoration		: underline;
}

/*----------------------------------------------------------
back-btn
----------------------------------------------------------*/
.back-btn-block{
	background		: #fffcf5;
	padding			: 4rem 0;
	position		: relative;
	text-align		: center;
}

.back-btn-block .back-btn{
	background-color	: #fbdb31;
	color			: #fff;
	position		: relative;
	display			: inline-block;
	padding			: 1rem 3rem;
	border-radius		: 4rem;
	font-size		: 2rem;
	opacity			: 0.7;
	pointer			: cursor;
	-webkit-transition-duration
				: 0.3s;
	transition-duration
				: 0.3s;
}

.back-btn-block .back-btn:hover{
	opacity			: 1;
}
/*----------------------------------------------------------
form
----------------------------------------------------------*/
[type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner, button::-moz-focus-inner {
    padding			: 0;
    border-radius		: 0;
}

button, select {
    text-transform: none;
}

[type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled), button:not(:disabled) {
    cursor			: pointer;
}

[type="button"], [type="reset"], [type="submit"], button {
    -webkit-appearance		: button;
        border-style		:none;
}

button, input, select, textarea {
    margin			: 0;
    font-family			: inherit;
    font-size			: inherit;
    line-height			: inherit;
}

.form-control {
    display			: block;
    width			: 100%;
    height			: calc(1.5em + .75rem + 2px);
    padding			: .375rem .75rem;
    font-size			: 1rem;
    font-weight			: 400;
    line-height			: 1.5;
    color			: #495057;
    background-color		:#fff;
    background-clip		: padding-box;
    border			: 1px solid#ced4da;
    border-radius		: .25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.profbtn{
    width			: 240px;
    font-size			: 12px;
    font-weight			: bold;
    text-decoration		: none;
    display			: inline-block;
    text-align			: center;
    padding			: 3px 0 3px;
    color			: #fff;
    background-color		: #49a9d4;
    border-radius		: 15px;
    position			: relative;
}


.p-t-10 { padding-top:10px !important; }
.p-t-20 { padding-top:20px !important; }
.p-t-30 { padding-top:30px !important; }
.p-t-40 { padding-top:40px !important; }
.p-t-50 { padding-top:50px !important; }
.p-b-10 { padding-bottom:10px !important; }
.p-b-20 { padding-bottom:20px !important; }
.p-b-30 { padding-bottom:30px !important; }
.p-b-40 { padding-bottom:40px !important; }
.p-b-50 { padding-bottom:50px  !important; }