@charset "UTF-8";


/***********************************
 	トップページ
************************************/
/* mainvisual
---------------------*/
.top-visual-sec {
	position: relative;
}
.top-visual-sec .mainvisual {
	width: 100%;
    height: 480px;
	border-radius: 10px;
	background:url("../img/top/mainvisual_sp.jpg") no-repeat center bottom;
	background-size: cover;
	position: relative;
}
.top-visual-sec .mainvisual .copy-main {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -140px;
	margin-left: -126px;
	text-align: center;
}
.top-visual-sec .mainvisual .copy-main img {
	width: 252px;
	margin: 0 auto;
}
@media (min-width:768px){
	.top-visual-sec .mainvisual {
		height: 440px;
		border-radius: 20px;		background:url("../img/top/mainvisual_pc.jpg") no-repeat center bottom;
		background-size: cover;
	}
	.top-visual-sec .mainvisual .copy-main {
		margin-top: -124px;
		margin-left: -244px;
	}
	.top-visual-sec .mainvisual .copy-main img {
		width: 487px;
	}
}
@media (min-width:930px){/*headerのブレイクポイント*/
	.top-visual-sec .mainvisual {
		height: 620px;
	}
	.top-visual-sec .mainvisual .copy-main {
		margin-top: -187px;
		margin-left: -363px;
	}
	.top-visual-sec .mainvisual .copy-main img {
		width: 725px;
	}
}


/* guide
------------------------------*/
.top-guide-sec {
	padding: 100px 0 40px 0;
	margin-top: -50px;
	overflow: hidden;
	position: relative;
}
.top-guide-sec:before {
	position: absolute;
	right: -10px;
	top: 0;
	display: block;
	content:"";
	width: 180px;
	height: 152px;
	background: url("../img/top/guide_bg_green.png") no-repeat top right;
	background-size: cover;
	z-index: -1;
}
.top-guide-sec:after {
	position: absolute;
	left: -150px;
	top: 650px;
	display: block;
	content:"";
	width: 280.7px;
	height: 187.6px;
	background: url("../img/top/guide_bg_pink.png") no-repeat top right;
	background-size: cover;
	z-index: -1;
}
.top-guide-sec .list {
	padding: 0 12%;
	z-index: 1;
}
.top-guide-sec .list-item {
	background-color: #FFFDE0;
	box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.1);
	border-radius: 20px;
	margin-bottom: 2em;
}
.top-guide-sec .list-item:last-child {
	margin-bottom: 0;
}
.top-guide-sec .list-link {
	display: block;
	position: relative;
	padding: 2.5em 1em 1.5em 1em;
	transition: 0.25s ease-in-out;
	-moz-transition: 0.25s ease-in-out;
	-webkit-transition: 0.25s ease-in-out;
	-o-transition: 0.25s ease-in-out;
}
.top-guide-sec .list-link:hover {
	opacity: .7;
}
.top-guide-sec .list-link:before {
	position: absolute;
	left: 50%;
	top: -20px;
	margin-left: -29.5px;
	display: block;
	content:"";
	width: 59px;
	height: 53.5px;
	background: url("../img/top/guide_label.png") no-repeat 0 0;
	background-size: cover;
}
.top-guide-sec .list-link .ttl {
	text-align: center;
	color: #002876;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
}
.top-guide-sec .list-link .ttl span {
	position: relative;
	padding-left: 20px;
}
.top-guide-sec .list-link .ttl span:before {
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -7px;
	display: block;
	content:"";
	width: 14px;
	height: 14px;
	background: url("../img/top/guide_arrow.svg") no-repeat 0 0;
	background-size: cover;
}
.top-guide-sec .list-link .photo {
	text-align: center;
	margin-top: .2em;
}
.top-guide-sec .list-link .photo img {
	width: 160px;
}
.top-guide-sec .list-link .copy {
	text-align: center;
	font-size: .9em;
	line-height: 1.5;
	margin-top: .4em;
}
.top-guide-sec .wave {
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	content:"";
	background: url("../img/top/guide_bg_btm_sp.png")no-repeat center bottom;
	background-size: cover;
	width: 100%;
	height: 200px;
	z-index: -10;
}
@media (min-width:768px){
	.top-guide-sec {
		padding: 100px 0 40px 0;
		margin-top: -50px;
	}
	.top-guide-sec:before {
		right: -10px;
		top: 0;
		width: 256px;
		height: 217px;
		background: url("../img/top/guide_bg_green.png") no-repeat top right;
		background-size: cover;
		z-index: -1;
	}
	.top-guide-sec:after {
		left: -150px;
		top: auto;
		bottom: -110px;
		width: 401px;
		height: 268px;
		background: url("../img/top/guide_bg_pink.png") no-repeat top right;
		background-size: cover;
		z-index: -1;
	}
	.top-guide-sec .list {
		padding: 0 0;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.top-guide-sec .list-item {
		width: 30.5%;
		border-radius: 40px;
		margin-bottom: 0;
	}
	.top-guide-sec .list-link {
		padding: 2em 1em 1.5em 1em;
	}
	.top-guide-sec .list-link .ttl {
		font-size: 1.5em;
	}
	.top-guide-sec .list-link .photo {
		margin-top: .2em;
	}
	.top-guide-sec .list-link .photo img {
		width: 200px;
	}
	.top-guide-sec .list-link .copy {
		font-size: .8em;
	}
	.top-guide-sec .wave {
		background: url("../img/top/guide_bg_btm_pc.png")no-repeat center bottom;
		background-size: cover;
		width: 100%;
		height: 200px;
	}
}


/* instagram
---------------------*/
.top-insta-sec #insta-box .list {
	list-style: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.top-insta-sec #insta-box .list-item {
	position: relative;
	width: 48%;
	height: 48%;
	margin: 0 4% 4% 0;
}
.top-insta-sec #insta-box .list-item:nth-child(2n) {
	margin: 0 0 4% 0;
}
.top-insta-sec #insta-box .list-item:before {
	content: "";
	display: block;
	padding-top: 100%;
}
.top-insta-sec #insta-box .list-item img {
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
	transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	-webkit-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
}
.top-insta-sec #insta-box .list-item a:hover img {
	opacity: 0.7;
}
@media (min-width:768px){
	.top-insta-sec #insta-box .list-item {
		width: 23%;
		height: 23%;
		margin: 0 2.666% 2.666% 0;
	}
	.top-insta-sec #insta-box .list-item:nth-child(2n) {
		margin: 0 2.666% 2.666% 0;
	}
	.top-insta-sec #insta-box .list-item:nth-child(4n) {
		margin: 0 0 2.666% 0;
	}
	.top-insta-sec .link-all {
		margin: 0 0 0 0;
	}	
}
@media (min-width:1000px){
	
}

/* facebook埋め込み
---------------------*/
.top-fb-sec .fb-wrap {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	text-align: center;
}
.top-fb-sec .fb-page {
	max-width: 100%;
	width: 100%;
}




/***********************************
 	みんなの空の想い concept
************************************/
/* メッセージ
---------------------*/
.page-concept .mes-sec {
	position: relative;
	overflow: hidden;
	padding-top: 90px;
	margin-top: -50px;
}
.page-concept .mes-sec:before {
	position: absolute;
	left: -100px;
	top: -140px;
	display: block;
	content:"";
	width: 290px;
	height: 310px;
	background: url("../img/concept/mes_bg_top.png") no-repeat top left;
	background-size: cover;
	z-index: -1;
}
.page-concept .mes-sec:after {
	position: absolute;
	right: -100px;
	bottom: -20px;
	display: block;
	content:"";
	width: 312px;
	height: 295px;
	background: url("../img/concept/mes_bg_btm.png") no-repeat top right;
	background-size: cover;
	z-index: -1;
}
.page-concept .mes-sec .head {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
.page-concept .mes-sec .head .photo {
	width: 120px;
}
.page-concept .mes-sec .head .note {
	width : -webkit-calc(100% - 140px) ;
	width : calc(100% - 140px) ;
}
.page-concept .mes-sec .head .copy-main {
	border-bottom: 4px dotted #002876;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-right: 0;
	line-height: 1.5;
	color: #002876;
	font-weight: 700;
	position: relative;
}
.page-concept .mes-sec .head .copy-main .large {
	font-size: 1.5em;
}
.page-concept .mes-sec .head .copy-main .normal {
	font-size: 1.2em;
}
.page-concept .mes-sec .head .copy-main:after {
	position: absolute;
	right: -15px;
	bottom: -35px;
	display: block;
	content:"";
	width: 80px;
	height: 66.5px;
	background: url("../img/concept/mes_flower.png") no-repeat 0 0;
	background-size: cover;
}
.page-concept .mes-sec .cont {
	margin-top: 2em;
}
.page-concept .mes-sec .cont .note {
	font-size: 1em;
}
.page-concept .mes-sec .cont .photo {
	text-align: center;
	margin-top: 2em;
}
.page-concept .mes-sec .cont .photo img {
	width: 70%;
	max-width: 240px;
	border-radius: 10px;
}
@media (min-width:768px){
	.page-concept .mes-sec {
		padding-top: 60px;
		margin-top: -50px;
	}
	.page-concept .mes-sec:before {
		left: -100px;
		top: -140px;
		width: 482px;
		height: 518px;
	}
	.page-concept .mes-sec:after {
		right: -100px;
		bottom: -30px;
		width: 520px;
		height: 490px;
	}
	.page-concept .mes-sec .head .photo {
		width: 20%;
		max-width: 190px;
	}
	.page-concept .mes-sec .head .note {
		width: 75%;
	}
	.page-concept .mes-sec .head .copy-main {
		border-bottom: 6px dotted #002876;
		padding-top: 20px;
		padding-bottom: 20px;
		padding-right: 100px;
	}
	.page-concept .mes-sec .head .copy-main .large {
		font-size: 1.8em;
	}
	.page-concept .mes-sec .head .copy-main .normal {
		font-size: 1.3em;
	}
	.page-concept .mes-sec .head .copy-main:after {
		right: 0;
		bottom: -20px;
		width: 128px;
		height: 106px;
	}
	.page-concept .mes-sec .cont {
		margin-top: 2em;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.page-concept .mes-sec .cont .note {
		width: 60%;
		font-size: .9em;
		line-height: 2;
	}
	.page-concept .mes-sec .cont .photo {
		width: 35%;
		text-align: center;
		margin-top: -1em;
	}
	.page-concept .mes-sec .cont .photo img {
		width: 100%;
		max-width: 360px;
		border-radius: 20px;
	}
}
@media (min-width:1070px){/*メインコピーの幅で*/
	.page-concept .mes-sec {
		padding-top: 60px;
		margin-top: -50px;
	}
	.page-concept .mes-sec .head .copy-main {
		padding-top: 40px;
		padding-bottom: 20px;
		letter-spacing: 4px;
	}
	.page-concept .mes-sec .head .copy-main .large {
		font-size: 2em;
	}
	.page-concept .mes-sec .head .copy-main .normal {
		font-size: 1.6em;
	}
	.page-concept .mes-sec .head .copy-main:after {
		right: 10px;
		bottom: -20px;
		width: 160px;
		height: 133px;
	}
	.page-concept .mes-sec .cont {
		margin-top: 2em;
	}
	.page-concept .mes-sec .cont .photo {
		margin-top: -2em;
	}
}

/* 写真エリア
---------------------*/
.page-concept .photo-sec {
	background: url("../img/concept/photo_bg.jpg")no-repeat center center;
	background-size: cover;
}
.page-concept .photo-sec .ttl {
	text-align: center;
	margin-bottom: 1em;
}
.page-concept .photo-sec .ttl img {
	width: 60%;
	max-width: 286px;
}
.page-concept .photo-sec .list-item {
	margin-bottom: 2em;
}
.page-concept .photo-sec .list-item img {
	border-radius: 10px;
}
@media (min-width:768px){
	.page-concept .photo-sec .ttl {
		text-align: center;
		margin-bottom: 1em;
	}
	.page-concept .photo-sec .ttl img {
		width: 40%;
		max-width: 286px;
	}
	.page-concept .photo-sec .list {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 2em;
	}
	.page-concept .photo-sec .list-item {
		width: 31.5%;
		margin-bottom: 0;
	}
	.page-concept .photo-sec .list-item img {
		border-radius: 20px;
	}
}

/***********************************
 	1日の過ごし方 day
************************************/
/* 1日
---------------------*/
.page-day .sche-sec {
	overflow: hidden;
}
.page-day .sche-sec .m-inner-800 {
	position: relative;
}
.page-day .sche-sec .m-inner-800:before {
	position: absolute;
	left: 0px;
	top: 30px;
	display: block;
	content:"";
	width: 120px;
	height: 108px;
	background: url("../img/day/sche_bg_top.png") no-repeat top left;
	background-size: cover;
}
.page-day .sche-sec .m-inner-800:after {
	position: absolute;
	right: -70px;
	top: 500px;
	display: block;
	content:"";
	width: 196px;
	height: 105px;
	background: url("../img/day/sche_bg_btm.png") no-repeat top left;
	background-size: cover;
}
.page-day .sche-sec .box {
	border-radius: 10px;
	background-color: #FFFDED;
	padding: 1em 1em;
}
.page-day .sche-sec .half-box {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
.page-day .sche-sec .half-box .head {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	background-color: #002876;
	border-radius: 10px;
	color: #fff;
	font-weight: 700;
	text-align: center;
	font-size: 1em;
}
.page-day .sche-sec .half-box .cont {
	display: flex;
	align-items: center;
	justify-content: center;
	width : -webkit-calc(100% - 80px) ;
	width : calc(100% - 80px) ;
}
.page-day .sche-sec td {
	padding: 5px 5px;
	vertical-align: middle;
	color: #002876;
	font-weight: 700;
	font-size: 1.1em;
}
.page-day .sche-sec td.border {
	border-bottom: 1px dashed #CCC;
}
.page-day .sche-sec td.break {
	color: #04B0F0;
}
.page-day .sche-sec td.time {
	width: 45px;
}
.page-day .sche-sec .year-box {
	border: 3px dotted #012776;
	padding: 1em 1em;
	border-radius: 10px;
	margin-top: 2em;
}
.page-day .sche-sec .year-box .ttl {
	text-align: center;
	color: #002876;
	font-weight: 700;
	font-size: 1.2em;
}
.page-day .sche-sec .year-box .list-item {
	background-color: #FFFDED;
	border-radius: 5px;
	text-align: center;
	color: #002876;
	font-weight: 700;
	font-size: 1em;
	padding: 5px 0;
	margin-top: .5em;
}

@media (min-width:768px){
	.page-day .sche-sec .m-inner-800:before {
		left: -100px;
		top: 40px;
		width: 200px;
		height: 180px;
	}
	.page-day .sche-sec .m-inner-800:after {
		right: -200px;
		top: 580px;
		width: 327px;
		height: 175px;
	}
	.page-day .sche-sec .box {
		border-radius: 20px;
		padding: 2em 6em;
	}
	.page-day .sche-sec .half-box .head {
		width: 120px;
		font-size: 1.1em;
	}
	.page-day .sche-sec .half-box .cont {
		width : -webkit-calc(100% - 140px) ;
		width : calc(100% - 140px) ;
	}
	.page-day .sche-sec td {
		padding: 5px 10px;
		font-size: 1.5em;
	}
	.page-day .sche-sec td.time {
		width: 75px;
	}
	.page-day .sche-sec .year-box {
		padding: 1em 2.5em;
		border-radius: 20px;
	}
	.page-day .sche-sec .year-box .ttl {
		font-size: 1.4em;
	}
	.page-day .sche-sec .year-box .list {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: .5em;
	}
	.page-day .sche-sec .year-box .list-item {
		width: 31.5%;
		border-radius: 5px;
		font-size: .9em;
		padding: 13px 0;
		margin-top: 0;
	}
}
@media (min-width:1110px){
}


/* 作業風景、食事風景共通
---------------------*/
.page-day .scene-sec .list.list-3 .list-item {
	margin-top: 2em;
}
.page-day .scene-sec .scene-photo {
	margin-top: .8em;
	border-radius: 10px;
}
@media (min-width:768px){
	.page-day .scene-sec .list {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.page-day .scene-sec .list-item {
		width: 31.5%;
	}
	.page-day .scene-sec .list.list-3 {
		margin-top: 2em;
	}
	.page-day .scene-sec .list.list-3 .list-item {
		margin-top: 0;
	}
	.page-day .scene-sec .scene-photo {
		margin-top: .5em;
		border-radius: 10px;
	}
}
@media (min-width:1110px){
}


/* 作業風景
---------------------*/
.page-day .work-sec .photo-head {
	background-color: #04B0F0;
	border-radius: 10px 10px 0 0;
	text-align: center;
	color: #fff;
	font-weight: 700;
	font-size: 1.1em;
	line-height: 1.5;
	padding: 10px 10px;
}
@media (min-width:768px){
	.page-day .work-sec .photo-head {
		font-size: 1em;
	}
}
@media (min-width:1110px){
	.page-day .work-sec .photo-head {
		font-size: 1.1em;
		padding: 13px 10px;
	}
}

/* 食事風景
---------------------*/
.page-day .meal-sec {
	padding-bottom: 4em;
}
.page-day .meal-sec .list {
	position: relative;
}
.page-day .meal-sec .list:before {
	position: absolute;
	left: -10px;
	top: -15px;
	display: block;
	content:"";
	width: 100px;
	height: 80px;
	background: url("../img/day/meal_bg_top.png") no-repeat top left;
	background-size: cover;
}
.page-day .meal-sec .list:after {
	position: absolute;
	right: 0px;
	bottom: -30px;
	display: block;
	content:"";
	width: 67px;
	height: 98px;
	background: url("../img/day/meal_bg_btm.png") no-repeat top right;
	background-size: cover;
}
@media (min-width:768px){
	.page-day .meal-sec .list {
		margin-top: 1em;
	}
	.page-day .meal-sec .list:before {
		left: -40px;
		top: -30px;
	}
	.page-day .meal-sec .list:after {
		right: 0px;
		bottom: -40px;
	}
}
@media (min-width:1110px){
	.page-day .meal-sec {
		padding-bottom: 6em;
	}
	.page-day .meal-sec .list {
		margin-top: 1em;
	}
	.page-day .meal-sec .list:before {
		left: -100px;
		top: -100px;
		width: 168px;
		height: 132px;
	}
	.page-day .meal-sec .list:after {
		right: -110px;
		bottom: -60px;
		width: 112px;
		height: 163px;
	}
}



/***********************************
 	作業所について about
************************************/
/* 表
---------------------*/
.page-about th,
.page-about td {
	padding: 10px 5px;
	border-bottom: 1px dashed #CCCCCC;
	line-height: 1.5;
	font-size: .9em;
}
.page-about th {
	width: 35%;
	text-align: center;
	font-weight: 700;
}
.page-about th span {
	display: block;
	height: 100%;
	background-color: #FFFDED;
	border-radius: 10px;
	color: #002876;
	padding: 10px 5px;
	
}
.page-about td {
	font-weight: 500;
}
.page-about td img {
	width: 90%;
	padding-top: 5px;
	max-width: 268px;
}
@media (min-width:768px){
	.page-about th,
	.page-about td {
		padding: 10px 10px;
		font-size: .9em;
	}
	.page-about th {
		width: 28%;
	}
	.page-about th span {
		padding: 15px 5px;
	}
	.page-about td img {
		padding-top: 8px;
	}
}
@media (min-width:1110px){
	.page-about th,
	.page-about td {
		font-size: 1em;
	}
	.page-about td img {
		width: 268px;
	}
}

/* アクセス
---------------------*/
.page-about .access-box {
	background-color: #FFFDED;
	border-radius: 10px;
	padding: 1em 1em;
	margin-top: 2em;
}
.page-about .access-box .copy {
	text-align: center;
}
.page-about .access-box .map {
	margin-top: 1em;
}
.page-about .access-box .map img {
	border-radius: 10px;
}
@media (min-width:768px){
	.page-about .access-box {
		border-radius: 20px;
		padding: 1em 5em 2em 5em;
	}
	.page-about .access-box .map img {
		border-radius: 20px;
	}
}

/***********************************
 	お問い合わせ contact
************************************/
/* 電話
---------------------*/
.page-contact .tel-sec .box {
	background-color: #FFFDEC;
	border-radius: 10px;
	color: #002876;
	text-align: center;
	margin-top: 1em;
	padding: 1em 1em;
}
.page-contact .tel-sec .box .box-ttl {
	font-weight: 700;
	line-height: 1.5;
	font-size: 1em;
	position: relative;
	margin-bottom: 10px;
}
.page-contact .tel-sec .box .tel a {
	color: #002876;
	font-weight: 900;
	line-height: 1;
	font-size: 2.2em;
	position: relative;
	padding-left: 30px;
}
.page-contact .tel-sec .box .tel a:before {
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -9px;
	display: block;
	content:"";
	width: 25px;
	height: 25px;
	background: url("../img/common/icon_tel.svg") no-repeat 0 0;
	background-size: cover;
}
.page-contact .tel-sec .box .mobile {
	font-size: 1.2em;
	line-height: 1.5;
}
.page-contact .tel-sec .box .mobile a {
	color: #002876;
	font-weight: 700;
	line-height: 1;
}
.page-contact .tel-sec .box .time {
	font-size: .9em;
	line-height: 1.5;
}
@media (min-width:768px){
	.page-contact .tel-sec .box {
		border-radius: 20px;
	}
	.page-contact .tel-sec .box .box-ttl {
		font-size: 1em;
	}
	.page-contact .tel-sec .box .tel a {
		font-size: 2.4em;
		position: relative;
		padding-left: 35px;
	}
	.page-contact .tel-sec .box .tel a:before {
		left: 0;
		top: 50%;
		margin-top: -10px;
		width: 30px;
		height: 30px;
	}
	.page-contact .tel-sec .box .mobile {
		font-size: 1.2em;
		line-height: 1.5;
	}
	.page-contact .tel-sec .box .time {
		font-size: .8em;
	}
}
@media (min-width:1110px){
}

/*   フォーム内
-----------------------------------------------*/
.page-contact .contact-form th,
.page-contact .contact-form td {
	display: block;
	line-height: 1.5;
	font-size: 1em;
	vertical-align: top;
}
.page-contact .contact-form th {
	padding: 15px 10px;
	font-weight: 700;
	color: #002876;
}
.page-contact .contact-form .must-mark {
	display: inline-block;
	background-color: #f00;
	color: #fff;
	font-size: 10px;
	line-height: 1.5;
	text-align: center;
	padding: 2px 5px;
	margin-left: 5px;
}
.page-contact .contact-form td {
	padding: 0 10px 15px 10px;
	border-bottom: 1px dashed #CCC;
}
.page-contact .contact-form table.confirm {
	border-top: 1px dashed #CCC;
	margin-top: 1em;
}
.page-contact .contact-form table.confirm th,
.page-contact .contact-form table.confirm td {
	/*padding: 20px 10px;*/
}
@media (min-width:768px){
	.page-contact .contact-form table th,
	.page-contact .contact-form table td {
		display: table-cell;
		font-size: 1em;
	}
	.page-contact .contact-form table th {
		border-bottom: 1px dashed #CCC;
		width: 250px;
		padding: 15px 10px;
	}
	.page-contact .contact-form table td {
		border-bottom: 1px dashed #CCC;
		padding: 15px 10px;
	}
	.page-contact .contact-form table.confirm th,
	.page-contact .contact-form table.confirm td {
		padding: 20px 10px;
	}
}



/*   formパーツ
-----------------------------------------------*/

/* 初期表示 placeholder */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: #D1D1CF;
	font-size: 1em;
    font-weight: normal;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: #D1D1CF;
	font-size: 1em;
    font-weight: normal;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
    color: #D1D1CF;
	font-size: 1em;
    font-weight: normal;
}
@media (min-width:1100px){
	input::-webkit-input-placeholder,
	textarea::-webkit-input-placeholder {
		font-size: 1em;
	}
	input:-ms-input-placeholder,
	textarea:-ms-input-placeholder {
		font-size: 1em;
	}
	input::-moz-placeholder,
	textarea::-moz-placeholder {
		font-size: 1em;
	}
}

input,select,textarea {
	background-color: #fff;
	border: 1px solid #DEDDDD;
	border-radius: 10px;
	font-size: 1em;
	padding: 15px;
	width: 100%;
}



/* チェックボックス */
.checkbox input[type=checkbox].check-btn-item{
	display: none;
}
.checkbox label {
	display: inline-block;
	margin-right: 10px;
}
.checkbox .check-btn-item + span {
	padding-left: 25px;
	display: inline-block;
	position: relative;
	font-size: 1em;
	line-height: 1.2;
	margin-bottom: .5em;
}
.checkbox .check-btn-item + span::after,
.checkbox .check-btn-item + span::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
}
.checkbox .check-btn-item + span::before {
	border: 1px solid #DEDDDD;
	background-color: #fff;
	border-radius: 4px;
	left: 0;
	height: 20px;
	width: 20px;
}
.checkbox .check-btn-item + span::after{
	border: none;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	height: 15px;
	left: 5px;
	opacity: 0;
	top: 0;
	transform: rotate(45deg);
	width: 10px;
}
.checkbox .check-btn-item:checked + span::before {
	border: 1px solid #002876;
	background-color: #002876;
}
.checkbox .check-btn-item:checked + span::after {
	opacity: 1;
}
.checkbox .error {
	font-size: 1em;
	margin-top: 0.5em;
}
@media (min-width:768px){
	.checkbox label {
		margin-right: 30px;
	}
}

/*   formパーツ ボタン
-----------------------------------------------*/
.contact-btn-wrap {
	margin: 2em 0 0 0;
}
.contact-btn-wrap .list-item {
	margin: 0 0 1em 0;
}
.contact-btn-wrap .list-item:last-child {
	margin: 0 0 0 0;
}
.contact-btn-wrap .contact-btn {
	position: relative;
	display: block;
	width: 220px;
	margin: 0 auto;
	padding: 10px 3px;
	border-radius: 50px;
	text-align: center;
	text-decoration: none;
	font-weight: 500;
	font-size: 1em;
	line-height: 1.4;
	letter-spacing: 1px;
	color: #fff;
	transition: 0.25s ease-in-out;
	-moz-transition: 0.25s ease-in-out;
	-webkit-transition: 0.25s ease-in-out;
	-o-transition: 0.25s eease-in-out;
}
.contact-btn-wrap .contact-btn.navy {
	background-color: #002876;
	border: 2px solid #002876;
}
.contact-btn-wrap .contact-btn.gray {
	background-color: #bcbdc1;
	border: 2px solid #bcbdc1;
}
.contact-btn-wrap .contact-btn:hover {
	opacity: 0.8;
}
@media (min-width:768px){
	.contact-btn-wrap {
		margin: 2em 0 0 0;
	}
	.contact-btn-wrap .list {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
	}
	.contact-btn-wrap .list-item {
		margin: 0 20px;
	}
	.contact-btn-wrap .contact-btn {
		width: 270px;
		padding: 12px 3px;
	}
}



/*   確認画面
-----------------------------------------------*/
.contact-form .contact-btn-wrap .confirm-txt {
	font-size: 1em;
	padding: 10px 0 20px 0;
}
.contact-form .error-box {
	width: 100%;
	margin: 10px auto 20px auto;
	border-top: 2px dotted #f00;
	border-bottom: 2px dotted #f00;
	padding: 20px 0;
	color: #f00;
	font-size: 1em;
	font-weight: bold;
}
.contact-form .copy-error,
.contact-form .copy-thanks {
	font-size: 1em;
}
@media (min-width:768px){
	.contact-form .contact-btn-wrap .confirm-txt {
		text-align: center;
	}
	.contact-form .error-box {
		text-align: center;
	}
	.contact-form .copy-error,
	.contact-form .copy-thanks {
		text-align: center;
	}
}

