@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, h1, h2, h3, h4, h5, h6, p,
ul, ol, li, dl, dt, dd, a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight: normal;
	line-height: 1;
}

a { color: inherit;text-decoration: none !important;transition: all 0.3s ease 0s; }
a:hover { color: inherit;/*opacity:0.8;filter:alpha(opacity=80);-ms-filter: "alpha( opacity=80 )";text-decoration:none;*/ }

li {list-style: none;}
img {max-width: 100%;}

html {
	font-size: 10px;
	font-weight: 400;
	color: #333;
overflow-x: hidden;
}

body {
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	font-style: normal;
	font-weight: 400;
}

.l-wrap {
	width: 100%;
	position: relative;
	padding: 0 0 0;
}

@media screen and (min-width: 800px) {
	.l-wrap {
		padding: 0;
		overflow: hidden;
	}
}

.pcv {display:none;}
.spv {display:block;}

@media screen and (min-width: 800px) {
	.pcv {display:block;}
	.spv {display:none;}
}


.floL {float:left;}
.floR {float:right;}
.clear {content:"";display:table;clear:both;zoom:1;}


#page-top {
	position: fixed;bottom: 80px;right: 15px;
	z-index:500;
}
#page-top a {
	background: url(../img/pagetop_b.png) 0 0 no-repeat;
	background-size:100%;
	width: 50px;
	height:50px;
	text-indent:-9999px;
	display: block;
}
#page-top a:hover {
	text-decoration: none;
}

@media screen and (min-width: 800px) {
	#page-top { bottom: 20px;right: 20px; }
	#page-top a { width:80px;height:80px; }
}


/*********************************************************************************************

	HEADER

**********************************************************************************************/
.header {
	-webkit-font-smoothing: antialiased;
	width: 100%;
	z-index: 999;
	background:#fff;

	position: fixed;
	transition: all .1s ease;
	-webkit-transition: all .1s ease;
	-moz-transition: all .1s ease;
	-o-transition: all .1s ease;
}

.h-inner {
	padding:12px 12px;
	align-items:center;
}

.siteid {
	margin: 0 0;
	padding-top:0;
	width: auto;
}
.siteid img {
	width:109px;
	height:32px;
}

@media screen and (min-width: 800px) {
	.h-inner { padding:24px 3%; }
	.siteid img {
		width:170px;
		height:50px;
	}
}


.h-nav { width:100%; }
.g-nav { width:80%;margin:0 auto; }
.g-nav li {
	margin:0 0 1.5em;
	text-align:right;
}
.g-nav li a {
	font-size:1.6rem;
	color:#000;
}
.g-nav li a:hover { color:#288742; }

.sp-menu_only:after { content:"";display:table;clear:both;zoom:1; }

@media screen and (min-width: 800px) {
	.nav {
		margin-left:auto;
		padding-right:20px;
	}
	.g-nav { width:auto;margin:0; }
	.g-nav li { margin:0 20px;text-align:left; }
	.g-nav li a {
		font-size:1.6rem;
		color:#000;
	}
	.sp-menu_only { display:none; }
}



.sp-btn {
	width:80%;
	margin:0 auto 30px;
}
.sp-btn ul li { width:calc(50% - 10px); }
.sp-btn ul li a {
	display:block;
	width:100%;
	height:100px;
	border-radius:8px;
	background:#FABF45;
	color:#000;
	font-size:1.6rem;
	font-weight:500;
	line-height:100px;
	text-align:center;
}
.sp-btn ul li.b-new a { background:#48BD68;color:#fff; }


.h-btn {
	width:100%;
	margin:20px 0 0 0;
	text-align:center;
	display:none;
}
.h-btn ul li { width:50%; }
.h-btn ul li a,
.h-btn ul li span {
	display:block;
	height:40px;
	line-height:40px;
	font-size:1.3rem;
	color:#000;
}
.h-btn ul li.b-log a,
.h-btn ul li.b-myp span {
	background:#FABF45;
	border-radius:8px 0 0 8px;
}
.h-btn ul li.b-myp span { border-radius:8px; }

.h-btn ul li.b-new a {
	background:#48BD68;
	border-radius:0 8px 8px 0;
	color:#fff;
}

@media screen and (min-width: 800px) {
	.h-btn { width:320px;margin:0;display:block; }
	.h-btn ul li { width:160px; }
	.h-btn ul li a,
	.h-btn ul li span {
		height:48px;
		line-height:48px;
		font-size:2.0rem;
	}
	.myp { width:160px; }
}




/* ============================================================
  サブメニュー
============================================================== */

.cp-tip_coninner ul {
	padding:0;
	margin:20px 1em 0 0;
}
.cp-tip_coninner ul li {
	padding:0;
	margin:0 0 20px;
	font-size:1.6rem;
}


@media screen and (min-width: 800px) {
	.cp-tip {
		position: relative;
		display: inline-block;
		cursor: pointer;
	}
	.cp-tip .cp-tip_con {
		position: absolute;top: -24px;	left: -24px;
		z-index: 1;
		visibility: hidden;
		white-space: nowrap;
		padding: 4px;
		transition: opacity .2s;
		opacity: 0;
		border-radius: 8px;
		background-image: linear-gradient(0deg, rgba(250, 192, 69, 1), rgba(70, 209, 108, 1) 100%, rgba(180, 223, 63, 1) 50%);
	}
	.cp-tip:hover .cp-tip_con {
		visibility: visible;
		opacity: 1;
	}
	.cp-tip_coninner {
		background:#fff;
		border-radius:4px;
		padding:20px;
	}
	.cp-tip_coninner ul {
		padding:0;
		margin:0;
	}
	.cp-tip_coninner ul li {
		padding:0;
		margin:0 0 20px;
		font-size:1.6rem;
	}
	.cp-tip_coninner ul li:last-child { margin:0; }
	.cp-tip_coninner ul li a { display:block; }
	.cp-tip_coninner ul li a:hover,
	.cp-tip_coninner ul li.current a { color:#288742; }
}







/* ============================================================
  スマホメニュー
============================================================== */

@media only screen and (max-width:799px) {
	.nav {
		position: fixed;top: 0;right: -100%;
		width: 80%;
		height: 100vh;
		padding-top: 60px;
		background-color: #eee;
		transition: all .6s;
		z-index: 200;
		overflow-y: auto;
	}

	.l-header__btn {
		display: block;
		width: 60px;
		height:60px;
		z-index:30;
		background:#none;
		text-align:center;
		font-size:60%;
		color:#000;
		position: absolute;top: 5px;right: 10px;
		z-index:9999;
	}

	.l-header__btn div {
		width: 28px;
		height:28px;
		margin:15px auto 3px;
		position: relative;
		transition: all .4s;
		box-sizing: border-box;
	}

	.l-header__btn div span {
		position: absolute;left: 0;
		width: 100%;
		height: 3px;
		background-color: #000;
		transition: all .4s;
	}

	.l-header__btn div span:nth-of-type(1) { top: 5px; }
	.l-header__btn div span:nth-of-type(2) { top: 13px; }
	.l-header__btn div span:nth-of-type(3) { bottom: 4px;width: 70%; }

	.nav-open .l-header__btn span:nth-of-type(1) { transform: translateY(8px) rotate(-45deg); }
	.nav-open .l-header__btn span:nth-of-type(2) { opacity: 0; }
	.nav-open .l-header__btn span:nth-of-type(3) { transform: translateY(-8px) rotate(45deg);width: 100%; }

	.black_bg {
		position: fixed;top: 0;left: 0;
		width: 100vw;
		height: 100vh;
		z-index: 100;

		background-color:rgba(255, 255, 255, 0.4);
		backdrop-filter: blur(5px);
		-webkit-backdrop-filter: blur(5px);

		opacity: 0;
		visibility: hidden;
		transition: all .6s;
		cursor: pointer;
	}
	.nav-open .black_bg {
		opacity: 1.0;
		visibility: visible;
	}
	.nav-open .nav { right: 0; }
}


@media screen and (min-width: 800px) {
	.l-header__btn { display:none; }
}


/* ============================================================
  重要 / 検索
============================================================== */
.notices {
	background:#CC3333;
	border-radius:12px;
	padding:4px;
	text-align:left;
	margin:0 0 12px 0;
}
.no-ttl {
	background:#fff;
	border-radius:10px;
	width:10%;
	position:relative;
	text-align:center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.no-ttl img {
	display:inline-block;
	width: 24px;
	height:24px;
	margin:0 0 0 0;
}
.no-ttl p { display:none; }
.no-txt {
	width:calc(100% - 15%);
	margin-right:2%;
	/*display: flex;*/
	align-items: center;
	padding:5px 0;
}

.notices dl dt,
.notices dl dd {
	font-size:1.1rem;
	line-height:1.4;
	color:#fff;
}
.notices dl dd { font-size:1.3rem; }

@media screen and (min-width: 800px) {
	.notices {
		border-radius:24px;
		padding:4px;
		margin:0 0 24px 0;
	}
	.no-ttl {
		border-radius:22px;
		padding:20px 0 20px 0px;
		width:17%;
	}
	.no-ttl img {
		display:inline-block;
		width: 32px;
		height:32px;
		margin:0 10px 0 0;
	}
	.no-ttl p {
		display:inline-block;
		font-size:1.6rem;
		font-size:1.2vw;
		color:#333;
		padding:5px 0 5px 0;
	}
	.no-txt { width:calc(100% - 21%); }
	.notices dl dt,
	.notices dl dd {
		font-size:2.1rem;
		font-size:1.3vw;
		line-height:1.6;
	}
	.notices dl dd {
		padding:0 0 0 5.5em;
		margin:-1.6em 0 0 0;
	}
}

.no-txt dl{margin:1em 0;}



.search,
.search_sp {
	align-items:center;
	margin:0;
}
.search_box {
	display: inline-block;
	position: relative;
	width:100%;
	padding:0 0 0 2em;
	background:#eee;
	border-radius:12px;
}
.search_box::before {
	content: "";
	width: 24px;
	height:24px;
	background: url(../img/search_icon.png) center center no-repeat;
	background-size:100%;
	display: inline-block;
	position: absolute;top: 13px;left: 10px;
}
.search_box input[type="text"] {
	padding:0 0 0 8em;
	width:100%;
	padding-left: 48px;
	height:48px;
	background:none;
	border:none;
}

.search_box input[type="text"]::placeholder { font-size:1.4rem;color:#999; }
.search_box input[type="text"]:focus { outline: 0; }
.t-search { font-size:1.2rem;line-height:1.3;margin-right:3px; }

@media screen and (min-width: 800px) {
	.search_box {
		width:100%;
		padding:0 0 0 4em;
		border-radius:24px;
	}
	.search_box::before {
		width: 32px;
		height:32px;
		top: 20px;left: 20px;
	}
	.search_box input[type="text"] {
		padding:0 0 0 8em;
		padding-left: 38px;
		height:72px;
	}
	.search_box input[type="text"]::placeholder { font-size:2.1rem; }
	.t-search { font-size:1.6rem;margin:0; }
}

.search_sp { width:80%;margin:0 auto 30px; }
.search_sp .search_box { width:100%;background:#fff; }

.btn-search { margin:10px 0 25px;float:right; }
.btn-search a {
	display:inline-block;
	border:1px solid #000;
	border-radius:8px;
	text-align:center;
	width:100px;
	height:32px;
	font-size:1.3rem;
	line-height:32px;
	color:#000;
}




/*********************************************************************************************

	FOOTER

**********************************************************************************************/
#footer { padding:40px 0 30px;margin-top:50px; }

.f-inner {
	margin:0 12px;
	border-radius:8px;
	padding:37px 0 0 0;
	text-align:center;
	background-image: linear-gradient(90deg, rgba(250, 192, 69, 1), rgba(70, 209, 108, 1) 100%, rgba(180, 223, 63, 1) 50%);
}

.f-copy {
	background:url(../img/copy_sp.png) center bottom no-repeat;
	background-size:100%;
	margin:0 auto;
	height:32px;
}
.f-copy p {
	font-size:0.9rem;
	color:#666;
	line-height:32px;
}

.f-link { margin:0 0 30px; }
.f-link li { margin:0 0 1em; }
.f-link li a {
	font-size:1.3rem;
	font-weight:500;
	color:#000;
}

@media screen and (min-width: 800px) {
	#footer { padding:40px 0 30px;margin-top:100px; }

	.f-inner {
		margin:0 3%;
		border-radius:24px;
		padding:60px 0 0 0;
	}

	.f-copy {
		background:url(../img/copy_pc.png) center bottom no-repeat;
		margin:0 auto;
		height:55px;
	}
	.f-copy p { font-size:1.4rem;line-height:55px; }
	.f-link {
		letter-spacing: -.4em;
		margin:0 0 60px;
	}
	.f-link li {
		display: inline-block;
		letter-spacing: normal; 
		margin:0 1em;
	}
	.f-link li a { font-size:1.6rem; }
}



/*********************************************************************************************

	CONTENTS

**********************************************************************************************/
/* ============================================================
  box
============================================================== */
#con-top { margin:0 12px 12px 12px; padding-top:130px; }


#contents { margin:0 0 0; }
.con-inner { margin:0 12px; }


.inner { margin:0 0 40px; }

@media screen and (min-width: 800px) {
	#con-top { margin:0 3% 24px; padding-top:125px; }

	#contents { margin:0 0;}
	.con-inner { margin:0 3%; }

	#con-top { margin-bottom:24px; }
	.inner { margin:0 0 100px; }
}








/* ============================================================
  flex
============================================================== */

.flexbox{
	display:-webkit-box;
	display: -webkit-flex;
	display:-ms-flexbox;
	display: flex;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}


@media screen and (max-width: 799px) {
.order1 {
	-webkit-box-ordinal-group:1;
	-ms-flex-order:1;
	-webkit-order:1;
	order:1;
}
.order2 {
	-webkit-box-ordinal-group:2;
	-ms-flex-order:2;
	-webkit-order:2;
	order:2;
}
.order3 {
	-webkit-box-ordinal-group:3;
	-ms-flex-order:3;
	-webkit-order:3;
	order:3;
}


}

/*
@media screen and (min-width: 800px) {
	.order1 {
		-webkit-box-ordinal-group:1;
		-ms-flex-order:1;
		-webkit-order:1;
		order:1;
	}
	.order2 {
		-webkit-box-ordinal-group:2;
		-ms-flex-order:2;
		-webkit-order:2;
		order:2;
	}
	.order3 {
		-webkit-box-ordinal-group:3;
		-ms-flex-order:3;
		-webkit-order:3;
		order:3;
	}
}
*/

.is-items { align-items:center; }
.is-reverse { flex-direction: row-reverse; }

@media screen and (max-width: 799px) {
	.box-grid_sp {
		display:flex;
		justify-content: space-between;
		flex-wrap:wrap;
	}

	.box-grid_c_sp {
		display:flex;
		justify-content: center;
		flex-wrap:wrap;
	}

	.box-grid_s_sp {
		display:flex;
		justify-content: start;
		flex-wrap:wrap;
	}

}

@media screen and (min-width: 800px) {
	.box-grid {
		display:flex;
		justify-content: space-between;
		flex-wrap:wrap;
	}
	.box-grid_c {
		display:flex;
		justify-content: center;
		flex-wrap:wrap;
	}
	.box-grid_s {
		display:flex;
		justify-content: start;
		flex-wrap:wrap;
	}
	.box-grid_e {
		display:flex;
		justify-content: end;
		flex-wrap:wrap;
	}

	.flex { display: flex; }

}




/* ============================================================
  text link
============================================================== */

.t-tead_1 {
	font-size:1.3rem;
	line-height:1.6;
}

.t-tead_2 {
	font-size:1.3rem;
	line-height:1.8;
}

.t-tead_3 {
	font-size:1.5rem;
	line-height:1.8;
	font-weight:500;
}

@media screen and (min-width: 800px) {
	.t-tead_1 {
		font-size:1.6rem;
		line-height:1.6;
	}
	.t-tead_2 {
		font-size:1.6rem;
		line-height:2.0;
	}
	.t-tead_3 {
		font-size:2.1rem;
		line-height:2.0;
	}
}

.op7:hover { opacity:0.7;filter:alpha(opacity=70);-ms-filter: "alpha( opacity=70 )";text-decoration:none; }
a.a-link { color:#288742;text-decoration: underline; }



/* option */
.is-bold  { font-weight:700; }
.is-left  { float:left }
.is-right { float:right }
.t-left   { text-align:left; }
.t-right  { text-align:right; }
.t-center { text-align:center; }
.t-indent { text-indent:1em; }
.t-small  { font-size:80%; }
.clear    { clear:both; }
.img-border { border:1px solid #ccc; }


.mb0  { margin-bottom:0px !important; }
.mb10 { margin-bottom:10px !important; }
.mb30 { margin-bottom:30px !important; }


hr.line {
	height: 1px;
	border: none;
	border-top: 1px solid #666;

}



/* ============================================================
  pagenav
============================================================== */
.pagenav_area { margin-top:40px; }
.pagenav {
	display: flex;
	justify-content: center;
}

.pagenav > li {
	padding: 0;
	font-size: 1.8rem;
	font-weight:500;
}

.pagenav > li > span,
.pagenav > li > a {
	display: inline-block;
	text-align: center;
	border: 2px solid #ccc;
	color:#f00;
	background:#fff;
	width: 44px;
	height:44px;
	line-height:40px;
	border-radius:50%;
	text-align:cneter;
	color:#000;
}

.pagenav > li > span { margin:0 3px; }
.pagenav > li > a.link_page { margin:0 4px; }

.pagenav > li.prev { padding-right:5px; }
.pagenav > li.next { padding-left: 5px; }

.pagenav > li.prev > span,
.pagenav > li.prev > a,
.pagenav > li.next > span,
.pagenav > li.next > a {
	display: inline-block;
	border: 2px solid #ccc;
	color:#99c;
	width: 44px;
	height:44px;
	line-height:40px;
	border-radius:50%;
	text-align:cneter;
}

.pagenav > li > span.current_page {
	border: 2px solid #48BD68;
	background:#48BD68;
	color:#fff;
}

.pagenav > li > a:hover {
	border: 2px solid #7EEA58;
	background:#7EEA58;
	color:#fff;
}


.pagenav > li.prev a,
.pagenav > li.next a { line-height:40px;color:#000;font-size:1.3rem; }

.pagenav > li.prev a:hover,
.pagenav > li.next a:hover { color:#fff; }



@media screen and (min-width: 800px) {
	.pagenav_area { margin-top:80px; }

	.pagenav > li > span,
	.pagenav > li > a {
		width: 64px;
		height:64px;
		line-height:60px;
	}

	.pagenav > li.prev > span,
	.pagenav > li.prev > a,
	.pagenav > li.next > span,
	.pagenav > li.next > a {
		width: 64px;
		height:64px;
		line-height:60px;
	}

	.pagenav > li.prev a,
	.pagenav > li.next a { line-height:58px;font-size:1.8rem; }

	.pagenav > li > span { margin:0 6px; }
	.pagenav > li > a.link_page { margin:0 8px; }

	.pagenav > li.prev { padding-right:12px; }
	.pagenav > li.next { padding-left: 12px; }
}



/* ============================================================
  ボタン
============================================================== */

.btn-set {
	display:flex;
	justify-content: center;
	flex-wrap:wrap;
}
.btn-set li { width:60%;margin:0 10px; }

@media screen and (min-width: 800px) {
	.btn-set li { width:31%; }
}

.btn-waku a {
	display:block;
	padding:12px 0;
	text-align:center;
	border:2px solid #ccc;
	background:#fff;
	font-size:1.6rem;
	font-weight:500;
	border-radius:8px;
}
.btn-waku a:hover { background:#F8F8F8; }


.btn-yellow a {
	display:block;
	padding:12px 0;
	text-align:center;
	border:2px solid #FABF45;
	background:#FABF45;
	font-size:1.6rem;
	font-weight:500;
	border-radius:8px;
}
.btn-yellow a:hover { background:#FCDF4A;border:2px solid #FCDF4A; }

@media screen and (min-width: 800px) {
	.btn-waku a,
	.btn-yellow a { font-size:2.0rem;padding:18px 0; }
}







/* ============================================================
  input
============================================================== */
input[type=radio],
input[type=checkbox] {
	display: inline-block;
	margin-right: 10px;
}
input[type=radio] + label,
input[type=checkbox] + label {
	position: relative;
	display: inline-block;
	margin-right: 12px;
	cursor: pointer;
}

.data-radio { 
	/*letter-spacing: -.4em;*/
	margin-bottom:10px;
}
.data-radio li { display: inline-block;letter-spacing: normal; }


.form-check-input:disabled {
	opacity: 1 !important;
}

@media (min-width: 1px) {
	input[type=radio],
	input[type=checkbox] {
		display: none;
		margin: 0;
	}

	input[type=radio] + label,
	input[type=checkbox] + label {
		padding: 0 0 0 35px;
	}

	input[type=radio] + label::before,
	input[type=checkbox] + label::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
		width: 18px;
		height:18px;
		margin-top: -9px;
		background: #48BD68;
	}

	input[type=radio] + label::before {
		border: 1px solid #48BD68;
		border-radius: 30px;
		width: 18px;
		height:18px;
		background: #fff;
	}

	input[type=checkbox] + label::before {
		border: 2px solid #48BD68;
		border-radius:         3px;
		-webkit-border-radius: 3px;
		-moz-border-radius:    3px;
		background: #fff;
	}

	input[type=checkbox]:checked + label::before {
		background:#fff;
		border: 2px solid #48BD68;
	}

	input[type=radio]:checked + label::after,
	input[type=checkbox]:checked + label::after {
		content: "";
		position: absolute;
		top: 50%;

		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
	}

	input[type=radio]:checked + label::after {
		left: 1px;
		width: 12px;
		height:12px;
		margin: -6px 0 0 2px;

		background: #48BD68;
		border-radius: 10px;
	}

	input[type=checkbox]:checked + label::after {
/*
		left: 3px;
		width: 11px;
		height: 7px;
		margin: -5px 0 0 0px;
		border-left:   3px solid #48BD68;
		border-bottom: 3px solid #48BD68;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
*/

		width: 10px;
		height:10px;
		top:3px;left:4px;
		background:#48BD68;
	}

	.data-radio input[type=radio] + label { padding: 0 0 0 30px; }
	.data-radio input[type=radio] + label::before { width:24px;height:24px;border: 3px solid #c9c9c9;margin-top: -11px; }

	.data-radio input[type=radio]:checked + label::before { border: 3px solid #515151; }
	.data-radio input[type=radio]:checked + label::after { margin: -4px 0 0 6px;background: #515151; }



} /* end */



@media screen and (min-width: 800px) {
	input[type=radio] + label::before {
		width: 22px;
		height:22px;
	}

	input[type=radio]:checked + label::after {
		width: 12px;
		height:12px;
		margin: -4px 0 0 4px;
	}

	input[type=checkbox] + label { padding: 6px 0 0 40px; }

	input[type=checkbox] + label::before {
		width: 28px;
		height:28px;
		margin-top: -9px;
		background: #fff;
	}


	input[type=checkbox]:checked + label::after {
/*
		left: 6px;
		width: 14px;
		height: 10px;
		margin: -3px 0 0 0px;
		border-left:   3px solid #48BD68;
		border-bottom: 3px solid #48BD68;

		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
*/

		width: 20px;
		height:20px;
		top:6px;left:4px;
		background:#48BD68;
	}


}




input[type="text"], input[type="password"], input[type="email"], textarea {
	padding:8px 10px !important;
	margin:0 5px 0 0;
	background-color:#fff;
	border: 2px solid #48BD68;
	border-radius:8px;
	height:40px;
	font-size:12px;
	outline:none;
}

input[type="password"],
input[type="email"] {margin:0 5px 10px 0;}

textarea {
	padding:24px !important;
	width:100%;
	height:20em;
	resize: none;
	font-size:12px;
	line-height:1.5;
}

.form-control:focus {
	color: #212529;
	background-color: #fff;
	border-color: #86b7fe;
	outline: none;
}

input:disabled {
	background-color:#ccc !important;
	border-color:#ccc;
	color:#999;
}



@media screen and (min-width: 800px) {
	input[type="text"], input[type="password"], input[type="email"], textarea {
		border-radius:16px;
		height:72px;
		font-size:16px;
	}
	textarea {
		padding:24px !important;
		height:20em;
		font-size:16px;
	}
}




.selectbox { position: relative;width:100%; }
.selectbox::before,
.selectbox::after {
	content: '';
	position: absolute;
	pointer-events: none;
}

.selectbox::before {
	content: '';
	right: 0;
	display: inline-block;
	width: 40px;
	height:40px;
	border-radius: 0 8px 8px 0;
	background-color: #48BD68;
}

.selectbox::after {
	position: absolute;top: 50%;right: 15px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	content:"\f107";
	display:block;
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	font-size:1.8rem;
	color:#fff;
}

.selectbox select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: 8px;
	color: #999;
	font-size: 13px;
	cursor: pointer;
	padding:10px 0 10px 12px;

	width:100%;
	height:40px;
	border: 2px solid #48BD68;
}

.selectbox select:focus { outline:none; }

@media screen and (min-width: 800px) {
	.selectbox::before {
		width: 65px;
		height:72px;
		border-radius: 0 16px 16px 0;
	}
	.selectbox::after {
		right: 22px;
		font-size:2.8rem;
	}
	.selectbox select {
		border-radius: 16px;
		font-size: 18px;
		padding:5px 0 5px 24px;
		height:72px;
	}
}




input[type="text"]:invalid {
	background-color:#ffe8e9;
}

.size-s { width:60%; }
.size-m { width:80%; }


/* ============================================================
  slider dots
============================================================== */

.dots-class button {
	display: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: 0;
	border: none;
	background-color: transparent;
	text-indent: -9999px;
	position: relative;
}

.dots-class {
	display: flex;
	justify-content: center;
	margin-top: 15px;
}
.dots-class li {
	background-color: #fff;
	margin-right: 8px;
	cursor: pointer;
	transition: background-color .5s ease;
	background:#D9D9D9;
	width: 12px;
	height:12px;
	border-radius:50%;
	background-size:100%;
}

.dots-class li.slick-active {
	width:48px;
	border-radius:8px;
}
.dots-class li:hover { opacity:0.8;filter:alpha(opacity=80);-ms-filter: "alpha( opacity=80 )"; }
.dots-class li:last-child { margin-right: 0; }


@media screen and (min-width: 800px) {
	.dots-class  { margin-top: 30px; }
	.dots-class li {
		margin-right: 10px;
		width: 16px;
		height:16px;
	}
}

/* アラート閉じる */
.close {
	background:none;
	border:none;
	position:absolute;top:50%;right:0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	font-size:1.8rem;
}



