@charset "UTF-8";


/*下層ヘッドビジュアル*/
.Suv_visual,.Suv_visual2 {
position: relative;
background-color: #EEF0EE;
background: linear-gradient(180deg, #00A6A3 0%, #00A6A3 70%, #EEF0EE 30%, #EEF0EE 100%);
}
.Suv_visual .Maru1,.Suv_visual2 .Maru1 {
position: absolute;
left: 0px;
bottom: 30px;
width: 200px;
z-index: 0;
}
.Suv_visual .Maru1 img,.Suv_visual2 .Maru1 img {
width: 100%;
height: auto;
display: block;
}
@media screen and (max-width: 767px) {
.Suv_visual,.Suv_visual2 {
background: linear-gradient(180deg, #00A6A3 0%, #00A6A3 40%, #EEF0EE 40%, #EEF0EE 100%);
}
.Suv_visual .Maru1,.Suv_visual2 .Maru1 {
width: 150px;
bottom: 100px;
}
}

/*オプション*/
.Sub_opt1 {
	padding-top: 60px;
	padding-bottom: 20px;
	max-width: calc(50% + 550px); /* 1100pxの幅を持つ中央と左側 */
	margin-right: 0px;
	margin-left: auto;
	padding-left: 5%;
	z-index: 1;
	position: relative;
}
.Sub_opt1 ul.in_desc {
	display: grid;
	gap: 80px;
	grid-template-columns: 1fr 2.5fr;
	margin-bottom: 0px;
}
.Sub_opt1 ul.in_desc li.item {
place-content: center;
}
.Sub_opt1 ul.in_desc li.item.area2 {
border-top-left-radius: 60px;
border-bottom-left-radius: 60px;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
height: 400px;
}
/*会社概要*/
.c_company .Sub_opt1 ul.in_desc li.item.area2 {
	background-image: url(../parts/sub_bg01.webp?v=20250328);
}
/*事業所案内一覧*/
.c_service .Sub_opt1 ul.in_desc li.item.area2 {
	background-image: url(../parts/sub_bg02.webp?v=20250328);
}
/*事業所案内　宇和島市*/
.c_service_u .Sub_opt1 ul.in_desc li.item.area2 {
	background-image: url(../parts/sub_bg02.webp?v=20250328);
}
/*事業所案内　松山市*/
.c_service_m .Sub_opt1 ul.in_desc li.item.area2 {
	background-image: url(../parts/sub_bg02.webp?v=20250328);
}
/*お問い合わせ*/
.c_contact .Sub_opt1 ul.in_desc li.item.area2 {
	background-image: url(../parts/sub_bg03.webp?v=20250328);
}
/*NEWS*/
.c_news .Sub_opt1 ul.in_desc li.item.area2 {
	background-image: url(../parts/sub_bg04.webp?v=20250328);
}
/*採用情報*/
.c_recruit .Sub_opt1 ul.in_desc li.item.area2 {
	background-image: url(../parts/sub_bg05.webp?v=20250328);
}
/*公開情報*/
.c_public .Sub_opt1 ul.in_desc li.item.area2 {
	background-image: url(../parts/sub_bg06.webp?v=20250328);
}


.Sub_opt1 ul.in_desc li.item h1 {
	font-size: 55px;
	font-weight: 700;
	margin-bottom: 30px;
	color: #FFFFFF;
	line-height: 1.4em;
	text-align: right;
}
.Sub_opt1 ul.in_desc li.item h1 span {
font-size: 20px;
font-weight: 500;
display: block;
line-height: 1.6em;
}
@media screen and (max-width: 820px) {
.Sub_opt1 ul.in_desc {
gap: 50px;
grid-template-columns: 1fr 1.4fr;
}
.Sub_opt1 ul.in_desc li.item.area2 {
height: 330px;
}
.Sub_opt1 ul.in_desc li.item h1 {
font-size: 40px;
}
.Sub_opt1 ul.in_desc li.item h1 span {
font-size: 18px;
}
}
@media screen and (max-width: 767px) {
.Sub_opt1 {
padding-top: 20px;
padding-bottom: 0px;
padding-left: 10%;

}
.Sub_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}
.Sub_opt1 ul.in_desc li.item.area2 {
grid-row: 1 / 2;
grid-column: 1 / 2;
height: 250px;
}
.Sub_opt1 ul.in_desc li.item h1 {
	font-size: 9.5vw;
	color: #EFD81C;
	margin-right: 6%;
}
.Sub_opt1 ul.in_desc li.item h1 span {
	font-size: 4.8vw;
	color: #222222;
}
}


/*事業所案内用*/
.Suv_visual2 h1 {
font-size: 55px;
font-weight: 700;
margin-bottom: 30px;
color: #FFFFFF;
line-height: 1.4em;
text-align: right;
position: absolute;
top: 200px;
left: 15%;
z-index: 1;
}
.Suv_visual2 h1 span {
font-size: 20px;
font-weight: 500;
display: block;
line-height: 1.6em;
}
@media screen and (max-width: 820px) {
.Suv_visual2 h1 {
font-size: 40px;
top: 160px;
left: 12%;
}
.Suv_visual2 h1 span {
font-size: 18px;
}
}
@media screen and (max-width: 767px) {
.Suv_visual2 h1 {
	font-size: 9.5vw;
	color: #EFD81C;
	margin-right: 6%;
	right: 0px;
	bottom: 0px;
	top: auto;
}
.Suv_visual2 h1 span {
font-size: 4.8vw;
color: #222222;
}
}




/*下層　ヘッダー画像あり*/
.ISP_1th {
	padding-bottom: 80px;
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 767px) {
.ISP_1th {
padding-bottom: 40px;
}
}


.ISP_2th {
	padding-bottom: 80px;
	padding-top: 80px;
	position: relative;
}

#i_center {
	background-color: #00A6A3;
}
#i_greeting {
	background-color: #FFFFFF;
}
.ISP_2th figure img{
width: 100%;
height: auto;
display: block;
}
@media screen and (max-width: 767px) {
.ISP_2th {
	padding-bottom: 40px;
	padding-top: 40px;
}
}


/* 会社概要 */

.in_corp {
	display: grid;
	gap: 0px;
	grid-template-columns: 1fr;
	margin-bottom: 50px;
	padding: 10px;
	position: relative;
}
.in_corp .item {
display: flex;
gap: 50px;
padding-top: 0px;
padding-bottom: 0px;
border-bottom: 1px solid #CCCCCC;
position: relative;
z-index: 1;
}
.in_corp .item h3 {
	font-size: 14px;
	font-weight: normal;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 30px;
}
.in_corp .item h3 {
flex-basis: 30%;
}
.in_corp .item .in_txt {
	flex-basis: 70%;
	padding-top: 20px;
	padding-bottom: 20px;
}
@media(max-width: 767px){
.in_corp {
grid-template-columns: 1fr;
gap: 0px;
margin-bottom: 25px;
}
.in_corp .item {
gap: 0px;
}
.in_corp .item h3 {
font-size: 3.5vw;
padding-left: 0px;
}
.in_corp .item .in_txt {
	padding-left: 10px;
}
}


/*ごあいさつ*/

.greeting {
	/*
	display: grid;
	gap: 50px;
	grid-template-columns: 1fr 4fr;
	*/
	margin-bottom: 50px;
	background-color: #FFFFFF;
}
.greeting .item {
padding-top: 0px;
padding-bottom: 0px;
	padding-left:35px;
}
.greeting .item h3 {
	font-size: 16px;
	font-weight: bold;
	padding-bottom: 20px;
}
.greeting .item .in_txt {
}
@media(max-width: 767px){
.greeting {
/*
grid-template-columns: 1fr;
gap: 30px;
*/
}
.greeting .item {
}
.greeting .item figure {
	width: 40%;
	margin-left: auto;
	margin-right: auto;
}
.greeting .item h3 {
font-size: 3.5vw;
}
.greeting .item .in_txt {
}
}



/*直営店一覧*/
.s_center {
padding-bottom: 0px;
}	
.s_center ul.in_desc {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr;
margin-bottom: 0px;
}
.s_center ul.in_desc figure img {
width: 100%;
height: auto;
border-radius: 10px;
}
.s_center ul.in_desc li.item {
	padding: 20px;
	position: relative;
	background-color: #FFFFFF;
}
.s_center ul.in_desc li.item h4 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 5px;
}
.s_center ul.in_desc li.item h4 span {
font-size: 16px;
}
.s_center ul.in_desc li.item p em {
	font-style: normal;
	padding-right: 15px;
}
@media screen and (max-width: 767px) {
.s_center {
padding-bottom: 50px;
}
.s_center ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
.s_center ul.in_desc li.item h4 {
font-size: 3.6vw;
}
.s_center ul.in_desc li.item p {
font-size: 3vw;
}
}



.s_center .in_corp {
	display: grid;
	gap: 0px;
	grid-template-columns: 1fr;
	margin-bottom: 20px;
	padding: 10px;
}
.s_center .in_corp .item {
display: flex;
gap: 50px;
padding-top: 0px;
padding-bottom: 0px;
border-bottom: 1px solid #CCCCCC;
position: relative;
z-index: 1;
}
.s_center .in_corp .item h3 {
	font-size: 14px;
	font-weight: normal;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 0px;
}
.s_center .in_corp .item h3 {
flex-basis: 15%;
}
.s_center .in_corp .item .in_txt {
	flex-basis: 85%;
	padding-top: 10px;
	padding-bottom: 10px;
}
@media(max-width: 767px){
.s_center .in_corp {
grid-template-columns: 1fr;
gap: 0px;
margin-bottom: 25px;
}
.s_center .in_corp .item {
gap: 0px;
}
.s_center .in_corp .item .in_txt {
	flex-basis: 70%;
}
.s_center .in_corp .item h3 {
flex-basis: 30%;
font-size: 3vw;
padding-left: 0px;
}
.s_center .in_corp .item .in_txt {
	padding-left: 10px;
}
}

/*事業所案内*/
.s_office {
	margin-bottom: 70px;
	position: relative;
}
/*.s_office h2{
	line-height: 1.8em;
	font-family : "游明朝",YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	position: relative;
	margin-bottom: 30px;
	letter-spacing: 0.05em;
	z-index: 1;
	border-radius: 50px;
	background-color: #EDF3E8;
	padding-top: 8px;
	padding-bottom: 8px;
	color: #266600;
}*/
h3.feature {
	margin-bottom: 20px;
	font-size: 20px;
	font-weight: 500;
	border-left: 5px solid #00A6A3;
	padding-left: 20px;
}
@media screen and (max-width: 767px) {
.s_office {
	margin-bottom: 35px;
}
/*.s_office h2{
font-size: 3.8vw;
line-height: 1.3em;
margin-bottom: 20px;
padding-top: 3%;
}*/
}


/*施設写真と概要*/
.mv_outline {
	display: grid;
	gap: 30px;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 50px;
	position: relative;
}
.mv_outline .in_i01 {
}
.mv_outline .in_i01 figure img {
	max-width: 100%;
	border-radius: 30px;
	height: auto;
}
.mv_outline .in_i02 {
display:flex;
align-items:center;
}
.mv_outline .in_txt {
width: 100%;
}
.mv_outline .in_txt p {
	font-size: 16px;
	font-weight: 500;
}
@media(max-width: 767px){
.mv_outline {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 30px;
}
.mv_outline p {
font-size: 3.5vw;
}
}




/* 特長 */
.in_feature {
	display: grid;
	gap: 0px;
	grid-template-columns: 1fr;
	margin-bottom: 50px;
	padding: 10px;
	position: relative;
}
.in_feature .item {
display: flex;
gap: 50px;
padding-top: 0px;
padding-bottom: 0px;
border-bottom: 1px solid #CCCCCC;
position: relative;
z-index: 1;
}
.in_feature .item h3 {
	font-size: 16px;
	font-weight: normal;
	padding-bottom: 20px;
	padding-left: 30px;
	line-height: 2em;
	padding-top: 20px;
}
.in_feature .item h3 span {
	font-size: 30px;
	padding-right: 10px;
	color: #00A6A3;
	font-weight: bold;
}
.in_feature .item h3 {
flex-basis: 30%;
}
.in_feature .item .in_txt {
	flex-basis: 70%;
	padding-top: 20px;
	padding-bottom: 20px;
}
.in_feature .item .in_txt p a:link {
	text-decoration: underline;
	color: #205FCF;
}
.in_feature .item .in_txt p a:link,.in_feature .item .in_txt p a:visited {
	text-decoration: underline;
	color: #205FCF;
}
@media(max-width: 767px){
.in_feature {
grid-template-columns: 1fr;
gap: 0px;
margin-bottom: 25px;
}
.in_feature .item {
gap: 0px;
flex-direction:column;
}
.in_feature .item h3 {
font-size: 3.5vw;
padding-left: 0px;
flex-basis: 100%;
padding-bottom: 10px;
}
.in_feature .item .in_txt {
	padding-left: 0px;
	flex-basis: 100%;
	padding-top: 0px;
}
}


.ISP_g {
	padding-top: 0px;
	max-width: 1500px;
	margin-top: 0;
	margin-right: auto;
	margin-left: auto;
	padding: 0 3%;
	margin-bottom: 100px;
}
.ISP_g .g_btn01 {
	width: 30%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
}
@media screen and (max-width: 767px) {
.ISP_g {
	margin-bottom: 50px;
	padding: 0 0%;
}
.ISP_g .g_btn01 {
	width: 80%;
	margin-top: 30px;
}
}


/* # =================================================================
# Global selectors　GALLERY用
# ================================================================= */

.ISP_g {
box-sizing: border-box;
overflow-y: scroll; /* All browsers without overlaying scrollbars */
-webkit-text-size-adjust: 100%; /* iOS 8+ */
}

.ISP_g *,
::before,
::after {
background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
box-sizing: inherit;
}

.ISP_g ::before,
::after {
text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
vertical-align: inherit;
}

.ISP_g * {
padding: 0; /* Reset `padding` and `margin` of all elements */
margin: 0;
}




/*事業所一覧*/
.list_office {
padding-top: 30px;
	padding-bottom: 100px;
}	

.list_office figure.koriyama {
	width: 700px;
	height: auto;
	display: block;
	margin-left: auto;
	margin-right: auto;
		padding: 10px;
	box-sizing: border-box;
		background-color: #FFFFFF;
			border-radius: 15px;
}	
.list_office figure.koriyama img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 15px;
}	

.list_office ul.in_opt {
display: grid;
gap: 40px 30px;
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 20px;
}
.list_office ul.in_opt figure img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	background-color: #FFFFFF;
}
.list_office ul.in_opt li.item {
	position: relative;
	border-radius: 20px;
	padding: 20px;
	background-color: #FFFFFF;
}
/*.list_office ul.in_opt li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 0;
}*/

.list_office ul.in_opt li.item h3 {
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 10px;
}
.list_office ul.in_opt li.item p {
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
.list_office {
padding-top: 15px;
padding-bottom: 50px;
}
.list_office figure.koriyama {
	width: 100%;
}	
.list_office ul.in_opt {
gap: 20px;
grid-template-columns: 1fr;
}
.list_office ul.in_opt li.item h3 {
font-size: 3.6vw;
}
.list_office ul.in_opt li.item p {
font-size: 3.3vw;
}
}



/*お知らせ*/
h2.newsT{
	font-size: 25px;
	padding-bottom: 10px;
	border-bottom: 1px solid #CCCCCC;
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
h2.newsT{
font-size: 4.4vw;
margin-bottom: 15px;
}
}


/*公開情報*/

.Public_opt1 {
padding-top: 0px;
padding-bottom: 100px;
}
.Public_opt1 ul.in_desc {
display: grid;
gap: 30px;
/*grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));*/
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 0px;
}
.Public_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.Public_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.Public_opt1 ul.in_desc li.item {
	display: grid;
	grid-template-columns: 1fr 5fr;
	position: relative;
	gap: 10px;
	place-items: center start;
	border-radius: 10px;
	padding: 10px;
	background-color: #FFFFFF;
	transition: all 0.3s;
}
.Public_opt1 ul.in_desc li.item h3 {
	font-size: 14px;
	font-weight: normal;
	line-height: 1.6em;
	text-align: left;
}
.Public_opt1 ul.in_desc li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
.Public_opt1 ul.in_desc li.item:hover{
	background-color: #00A6A3;
	color: #FFFFFF;
}
@media screen and (max-width: 820px) {
.Public_opt1 ul.in_desc {
gap: 20px;
}
}
@media screen and (max-width: 767px) {
.Public_opt1 {
padding-top: 0px;
padding-bottom: 60px;
}
.Public_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}
.Public_opt1 ul.in_desc li.item {
	grid-template-columns: 1fr 6fr;
	gap: 10px;
	padding: 10px;
}
.Public_opt1 ul.in_desc li.item h3 {
font-size: 3.3vw;
}
}




/* 採用情報 */

.in_rec {
display: grid;
gap: 0px;
grid-template-columns: 1fr;
margin-bottom: 50px;
padding: 10px;
position: relative;
}
.in_rec .item {
display: flex;
gap: 50px;
padding-top: 0px;
padding-bottom: 0px;
border-bottom: 1px solid #CCCCCC;
position: relative;
z-index: 1;
}
.in_rec .item h4 {
font-size: 14px;
font-weight: normal;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 30px;
}
.in_rec .item h4 {
flex-basis: 20%;
}
.in_rec .item .in_txt {
flex-basis: 80%;
padding-top: 10px;
padding-bottom: 10px;
}
@media(max-width: 767px){
.in_rec {
grid-template-columns: 1fr;
gap: 0px;
margin-bottom: 25px;
}
.in_rec .item {
gap: 0px;
}
.in_rec .item h4 {
flex-basis: 30%;
font-size: 3.3vw;
padding-left: 0px;
}
.in_rec .item .in_txt {
padding-left: 10px;
flex-basis: 70%;
}
}




/*採用情報一覧*/
.R_list_opt1 {

}

.R_list_opt1 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr;
margin-bottom: 60px;
}
.R_list_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.R_list_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.R_list_opt1 ul.in_desc li.item {
padding-right: 20px;
padding-left: 20px;
padding-bottom: 30px;
padding-top: 30px;
border: 2px solid #00A6A3;
position: relative;
border-radius: 20px;
background-color: #FFFFFF;
transition: all 0.3s;
}
.R_list_opt1 ul.in_desc li.item h3 {
font-size: 20px;
font-weight: bold;
margin-bottom: 0px;
color: #00A6A3;
margin-top: 0px;
}
.R_list_opt1 ul.in_desc li.item h3 span {
	color: #EFD81C;
	margin-right: 10px;
}
.R_list_opt1 ul.in_desc li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
.R_list_opt1 ul.in_desc li.item:hover{
background-color: rgba(255,249,204,0.70);
z-index: 0;
}
@media screen and (max-width: 820px) {
.R_list_opt1 ul.in_desc {
gap: 20px;
}
}
@media screen and (max-width: 767px) {
.R_list_opt1 {

}
.R_list_opt1 ul.in_desc {

}
.R_list_opt1 ul.in_desc li.item h3 {
font-size: 3.6vw;
}
.R_list_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
}




/* ---------------------------------------------------------------- *
リストライン
* ---------------------------------------------------------------- */
.root_line {
padding-top: 10px;
padding-right: 20px;
padding-left: 20px;
position: relative;
margin: 0;
padding-bottom: 30px;
}
.root_line  ol {
}
.root_line  ol li {
_zoom: 1;
overflow: hidden;
padding-top: 15px;
padding-bottom: 15px;
margin-top: 0px;
margin-bottom: 0px;
position: relative;
}
.root_line  ol li::after {
position: absolute;
bottom: 0px;
left: 0px;
content: '';
height: 1px;
}
.root_line  ol li::before {
position: absolute;
bottom: 0px;
left: 0px;
margin:0 auto;
content: '';
height: 1px;
}
.root_line  ol li::before {
z-index: 2;
width: 22%;
background-color: #AAAAAA;
}
.root_line  ol li::after {
width: 100%;
background-color: #DDDDDD;
}
.root_line  ol li dt {
float: left;
width: 200px;
color: #333;
margin: 0px;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
}
.root_line  ol li dd {
margin-left: 200px;
background-repeat: no-repeat;
background-position: 0px 0px;
}
.root_line  ol li dd h3 {
font-weight: bold;
font-size: 15px;
padding-bottom: 10px;
}
.root_line  ol li dd p{
margin: 0px;
padding: 0px;
}
.root_line  ol li dd figure{
width: 30%;
height: auto;
float: right;
margin-left: 10px;
margin-bottom: 5px;
}
.root_line  ol li dd img{
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
width: 100%;
height: auto;
}
* html .root_line  ol li dd {
zoom: 1;
}
@media screen and (max-width: 767px) {
.root_line {
padding-top: 0px;
padding-right: 10px;
padding-left: 10px;
padding-bottom: 20px;
}
.root_line  ol li {
padding-top: 10px;
padding-bottom: 10px;
}
.root_line  ol li dt {
float: none;
width: 100%;
color: #333;
margin: 0px;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
font-weight: bold;
}
.root_line  ol li dd figure{
width: 50%;
margin-left: 5px;
margin-bottom: 0px;
}
.root_line  ol li dd {
margin-left: 0%;
}
.root_line  ol li dd h3 {
font-size: 14px;
}
}


/* ---------------------------------------------------------------- *
リストライン
* ---------------------------------------------------------------- */
.list_line {
padding: 0px;
position: relative;
margin-bottom: 50px;
}
.list_line  ol {
counter-reset: my-counter;
list-style: none;
padding: 0px;
margin-bottom: 10px;
clear: both;
}
.list_line  ol li {
_zoom: 1;
overflow: hidden;
padding-bottom: 15px;
margin-top: 0px;
margin-bottom: 0px;
padding-top: 15px;
position: relative;
}
.list_line  ol li::after {
position: absolute;
bottom: 0px;
left: 0px;
content: '';
height: 1px;
}
.list_line  ol dt h3:after {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #FFFFFF;
color: #607FD0;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
border: 1px solid #607FD0;
font-weight: bold;
}
.list_line  ol dt h4:after {
content: counter(my-counter);
counter-increment: my-counter;
color: #000000;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
border: 1px solid #000000;
}
/*
.list_line  ol li::before {
position: absolute;
bottom: 0px;
left: 0px;
margin:0 auto;
content: '';
height: 1px;
}*/
.list_line  ol li:first-child::before {
position: absolute;
top: 0px;
left: 0px;
content: '';
height: 1px;
}
.list_line  ol li::before {
z-index: 2;
width: 100%;
background-color: #DDDDDD;
}
.list_line  ol li::after {
width: 100%;
background-color: #DDDDDD;
}
.list_line  ol li dt {
float: left;
color: #333;
margin: 0px;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
font-size: 14px;
}
.list_line  ol li dt em {
padding-left: 10px;
}
.list_line  ol li dd {
margin-left: 25%;
background-repeat: no-repeat;
background-position: 0px 0px;
font-size: 14px;
line-height: 2em;
}
.list_line.short  ol li dd {
margin-left: 15%;
background-repeat: no-repeat;
background-position: 0px 0px;
font-size: 14px;
line-height: 2em;
}
.list_line  ol li dd p{
margin: 0px;
padding: 0px;
}
.list_line  ol li dd p.note{
margin: 0px;
padding: 0px;
font-size: 14px;
line-height: 1.6em;
color: #444444;
}
* html .list_line  ol li dd {
zoom: 1;
}
.list_line figure.president {
margin-top: 30px;
}
.list_line figure.president img {
text-align: center;
margin-left: auto;
margin-right: auto;
}
@media screen and (max-width: 767px) {
.list_line {
margin-bottom: 25px;
}
.list_line  ol li dt {
color: #333;
margin: 0px;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
font-size: 13px;
line-height: 1.8em;
}
.list_line  ol li dt {
font-size: 13px;
line-height: 1.8em;
}
.list_line  ol li dd,.list_line.short  ol li dd {
margin-left: 30%;
background-repeat: no-repeat;
background-position: 0px 0px;
font-size: 13px;
line-height: 1.8em;
}
.list_line  ol li.his dd {
margin-left: 45%;
background-repeat: no-repeat;
background-position: 0px 0px;
font-size: 13px;
line-height: 1.8em;
}
.list_line figure.president img {
width: 100%;
height: auto;
display: block;
}
}

/* ---------------------------------------------------------------- *
サブリスト
* ---------------------------------------------------------------- */
.sub_list {
padding: 0;
margin: 0;
}
.sub_list  ol {
list-style: none;
padding: 0;
margin: 0;
}
/*.sub_list  ol li {
_zoom: 1;
overflow: hidden;
border-bottom: 1px dashed #CCCCCC;
padding-bottom: 5px;
margin-bottom: 7px;
}
.sub_list  ol li:last-child {
border-bottom: 0px dashed #CCCCCC;
padding-bottom: 0px;
margin-bottom: 0px;
}*/
.sub_list  ol li dt {
float: left;
}
.sub_list  ol li dd {
margin-left: 20% !important;
}
* html .sub_list  ol li dd {
zoom: 1;
}
@media screen and (max-width: 767px) {
.sub_list  ol li {
margin-bottom: 10px;
}
.sub_list  ol li dt {
}
.sub_list  ol li dd {
margin-left: 35% !important;
}
}

/* ---------------------------------------------------------------- *
リストライン2
* ---------------------------------------------------------------- */
.list_line2 {
padding: 0px;
position: relative;
margin-bottom: 50px;
}
.list_line2  ol {
}
.list_line2  ol li.tp1 {
_zoom: 1;
overflow: hidden;
padding-bottom: 15px;
margin-top: 0px;
margin-bottom: 0px;
padding-top: 15px;
position: relative;
}
.list_line2  ol li.tp1::after {
position: absolute;
bottom: 0px;
left: 0px;
content: '';
height: 1px;
}
.list_line2  ol li.tp1:first-child::before {
position: absolute;
top: 0px;
left: 0px;
content: '';
height: 1px;
}
.list_line2  ol li.tp1::before {
z-index: 2;
width: 100%;
background-color: #DDDDDD;
}
.list_line2  ol li.tp1::after {
width: 100%;
background-color: #DDDDDD;
}
.list_line2  ol li.tp1 dt {
float: left;
color: #333;
margin: 0px;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
font-size: 14px;
}
.list_line2  ol li.tp1 dt em {
padding-left: 10px;
}
.list_line2  ol li.tp1 dd,.list_line2  ol li.tp1 dd.his {
margin-left: 25%;
background-repeat: no-repeat;
background-position: 0px 0px;
font-size: 14px;
line-height: 2em;
}
.list_line2  ol li.tp1 dd p{
margin: 0px;
padding: 0px;
}
.list_line2  ol li.tp1 dd p.note{
margin: 0px;
padding: 0px;
font-size: 14px;
line-height: 1.6em;
color: #444444;
}
* html .list_line2  ol li.tp1 dd {
zoom: 1;
}
@media screen and (max-width: 767px) {
.list_line2 {
margin-bottom: 25px;
}
.list_line2  ol li.tp1 dt {
color: #333;
margin: 0px;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
font-size: 13px;
line-height: 1.8em;
}
.list_line2  ol li.tp1 dt {
font-size: 13px;
line-height: 1.8em;
}
.list_line2  ol li.tp1 dd {
margin-left: 30%;
background-repeat: no-repeat;
background-position: 0px 0px;
font-size: 13px;
line-height: 1.8em;
}
.list_line2  ol li.tp1.his dd {
margin-left: 45%;
background-repeat: no-repeat;
background-position: 0px 0px;
font-size: 13px;
line-height: 1.8em;
}
}

/* ---------------------------------------------------------------- *
リストライン3
* ---------------------------------------------------------------- */
.list_line3 {
padding: 0px;
margin-bottom: 50px;
}
.list_line3  ol {
}
.list_line3  ol li.tp1 {
_zoom: 1;
overflow: hidden;
padding-bottom: 15px;
margin-top: 0px;
margin-bottom: 0px;
position: relative;
padding-top: 15px;
}
.list_line3  ol li.tp1.zs {
padding-bottom: 0px;
padding-top: 0px;
}
.list_line3  ol li.tp1 dt {
float: left;
margin: 0px;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
}
.list_line3  ol li.tp1 dt h4 {
color: #FFFFFF;
font-size: 14px;
background-color: #5B72B7;
text-align: center;
width: 100px;
margin-left: auto;
margin-right: auto;
padding-top: 2px;
}
.list_line3  ol li.tp1 dd {
margin-left: 20%;
background-repeat: no-repeat;
background-position: 0px 0px;
font-size: 14px;
line-height: 2em;
}
.list_line3  ol li.tp1 dd p{
margin: 0px;
padding: 0px;
}
* html .list_line3  ol li.tp1 dd {
zoom: 1;
}
@media screen and (max-width: 767px) {
.list_line3 {
margin-bottom: 25px;
}
.list_line3  ol li.tp1 dt {
color: #333;
margin: 0px;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
font-size: 13px;
line-height: 1.8em;
}
.list_line3  ol li.tp1 dt {
}
.list_line3  ol li.tp1 dt h4 {
font-size: 12px;
width: 70px;
padding-top: 2px;
}
.list_line3  ol li.tp1 dd {
margin-left: 27%;
background-repeat: no-repeat;
background-position: 0px 0px;
font-size: 13px;
line-height: 1.8em;
}
}



/* ---------------------------------------------------------------- *
交通アクセスの設定
* ---------------------------------------------------------------- */
.iframe-wrap {
position: relative;
width: 100%;
padding-top: 42%; /* = height ÷ width × 100 */
}
.iframe-wrap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
@media screen and (max-width: 767px) {
.iframe-wrap {
padding-top: 75%; /* = height ÷ width × 100 */
}
}




#map_canvas{
margin-top: 0px;
margin-right: 0px;
margin-bottom: 50px;
margin-left: 0px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
text-align: center;
background-color: #F1F1F1;
height: 500px;
}
#map_canvas p{
font-size: 13px !important;
}
p.mapbox {
width: 300px;
padding-top: 5px;
padding-bottom: 5px;
}

#mapp0_layout{
border-style: none;
border-width: 0px;
}
/*wordpress　mappress　左メニュー非表示*/
.mapp-menu-toggle{
display: none !important;
}

@media screen and (max-width: 767px) {
#map_canvas{
padding-right: 0%;
padding-left: 0%;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 120px !important;
margin-left: 0px;
width: 100%;
height: 400px !important;
}
#mapp0_layout,.mapp-layout {
padding: 0px;
margin: 0px;
width: 100% !important;
}
.mapp-canvas,.mapp-wrapper {
padding: 0px;
margin: 0px;
width: 100% !important;
height: 400px !important;
}
.gm-style-mtc{
display: none !important;
}
}


/* ---------------------------------------------------------------- *
アクセスマップ
* ---------------------------------------------------------------- */
.accessMap {
_zoom: 1;
overflow: hidden;
clear: both;
margin-right: auto;
margin-bottom: 0px;
margin-left: auto;
padding-top: 0px;
padding-right: 0px;
padding-left: 0px;
margin-top: 0px;
padding-bottom: 0px;
}
@media screen and (max-width: 767px) {
.accessMap {
padding-bottom: 0px;
}
}


/* ---------------------------------------------------------------- *
tableの設定
* ---------------------------------------------------------------- */
.table-a{
padding: 0px;
width: 100%;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 20px;
margin-left: 0px;
}
.table-a th{
background-color: #F1F1F1;
border: 1px solid #CCCCCC;
padding-right: 10px;
padding-left: 10px;
padding-top: 10px;
padding-bottom: 10px;
vertical-align: middle;
text-align: center;
}
.table-a th.type1{
width: 18%;
}
.table-a th.type2{
width: 10.25%;
}
.table-a th.type3{
width: 10.25%;
}
.table-a td{
border: 1px solid #DAD7BC;
padding-right: 10px;
padding-left: 10px;
padding-bottom: 15px;
vertical-align: middle;
text-align: center;
padding-top: 15px;
}
/*.table-a th:nth-child(1) {
width: 50%;
}*/

@media screen and (max-width: 767px) {
/*table-aをスクロールさせる*/
/*table-aのセル内にある文字の折り返しを禁止*/
/*.table-a {
overflow: auto;
white-space: nowrap;
display: block;
width: auto;
line-height: 1.3em;
}*/

/*.table-a tbody {
width: 100%;
display:block;
}*/

/*.table-aにスクロールバーを追加*/
.table-a::-webkit-scrollbar {
height: 5px;
}

/*.table-aにスクロールバーを追加*/
.table-a::-webkit-scrollbar-track {
background: #F1F1F1;
}

/*.table-aにスクロールバーを追加*/
.table-a::-webkit-scrollbar-thumb {
background: #BCBCBC;
}
}


/* ---------------------------------------------------------------- *
ショートコード設定
* ---------------------------------------------------------------- */
#photobox {
/*_zoom: 1;
overflow: hidden;*/
padding: 0px;
clear: both;
margin-top: 30px;
margin-right: 0px;
margin-bottom: 30px;
margin-left: 0px;
}







/* ---------------------------------------------------------------- *
ページャーの設定　＜　1　2　3　＞
* ---------------------------------------------------------------- */
.page-nav {
text-align: center;
margin-bottom: 50px;
}
.page-nav li {
display: inline;
list-style: none outside none;
line-height: 1.7em;
padding: 2px;
font-size: 14px;
}
.page-nav li a {
border: 0px solid rgb(230,230,230);
color: rgb(102,102,102);
text-decoration: none;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
background-color: #EEEEEE;
}

.page-nav li a:hover {
	border: 0px solid rgb(230,230,230);
	background-color: #00A6A3;
	color: #FFFFFF;
}
.page-nav li a:active {
box-shadow: 0 0 3px rgba(0,0,0,0.2) inset;
top:1px;
}

.page-nav li.current span {
color: #FFFFFF;
font-weight: bold;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
background-color: #00A6A3;
}

.page-nav li.previous span,
.page-nav li.next span
/*.page-nav li.last span*/ {
background-color: #EEEEEE;
border: 0px solid rgb(230,230,230);
/*color: rgb(180,180,180);*/
color: #FFFFFF;
text-decoration: none;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
display: none;
}

.page-nav li.page_nums span {
/*background: rgb(102,102,102);*/
border: 0px solid rgb(51,51,51);
color: rgb(255,255,255);
}
.page-nav li a,
.page-nav li.current span,
/*.page-nav li.first span,*/
.page-nav li.previous span,
.page-nav li.next span,
/*.page-nav li.last span,*/
.page-nav li.page_nums span {
/*padding: 0.25em 0.8em;*/
padding: 0.5em 1.05em;
display: inline-block;
position:relative;
}

.page-nav li.first,
.page-nav li.last {
display: none;
}
/*全◯件中◯件〜◯件目を表示しています*/
p.perpage {
font-size: 14px;
text-align: center;
color: #989898;
margin-bottom: 50px;
}


/* ---------------------------------------------------------------- *
ページ間のナビ設定　＜前の記事　　次の記事＞
* ---------------------------------------------------------------- */
.postlink {
_zoom: 1;
overflow: hidden;
padding: 0px;
clear: both;
margin-top: 40px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 0px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
}
.postlink ul {
margin: 0;
}
.postlink li {
width: 32.3333%;
margin-left: 0.5%;
margin-right: 0.5%;
position: relative;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.postlink li a {
display: block;
font-size: 15px;
line-height: 1em !important;
padding-top: 20px;
padding-bottom: 20px;
display: flex;
justify-content: center;
align-items: center;
background-color: #F1F1F1;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
padding-left: 0px;
}

.postlink li.previous {
float: left;
}
.postlink li.list {
float: left;
}
.postlink li.next {
float: left;
}
.postlink a:link {
text-decoration: none;
color: #06C;
}
.postlink a:visited {
text-decoration: none;
color: #06C;
}
.postlink a:hover, .postlink a:active {
text-decoration: none;
color: #06C;
background-color: #EEEEEE;
}
@media screen and (max-width: 767px) {
.postlink li.previous {
width: 34%;
margin-left: 0%;
margin-right: 1%;
}
.postlink li.list {
width: 28%;
margin-left: 0%;
margin-right: 0%;
}
.postlink li.next {
width: 34%;
margin-left: 1%;
margin-right: 0%;
}
.postlink li.previous a {
padding-right: 5px;
}
.postlink li.next a {
padding-left: 5px;
}
.postlink li a {
font-size: 11px;
}
}
@media screen and (max-width: 360px) {
.postlink li a {
font-size: 10px;
}
}

/* 空要素のスタイルを設定 */
.postlink ul li:empty:after {
content: '　';
display: block;
}




/*タイトル表示*/
.postlink2 {
_zoom: 1;
overflow: hidden;
padding: 0px;
clear: both;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 50px;
margin-left: 0px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
}
.postlink2 ul {
margin: 0;
}
.postlink2 li {
/*width: 32.3333%;
margin-left: 0.5%;
margin-right: 0.5%;*/
position: relative;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.postlink2 li.previous {
width: 38%;
margin-left: 0%;
margin-right: 1%;
}
.postlink2 li.list {
width: 20%;
margin-left: 0%;
margin-right: 0%;
}
.postlink2 li.next {
width: 38%;
margin-left: 1%;
margin-right: 0%;
text-align: right;
}
.postlink2 li a {
display: block;
font-size: 15px;
line-height: 1.5em !important;
padding-top: 20px;
padding-bottom: 20px;
display: flex;
align-items: center;
background-color: #F5F5F5;
}
.postlink2 li.list a {
justify-content: center;
}
.postlink2 li.previous a {
padding-left: 40px;
padding-right: 10px;
justify-content: flex-start;
right: 10px;
}
.postlink2 li.next a {
padding-left: 10px;
padding-right: 40px;
justify-content: end;
text-align: left;
}

.postlink2 li.previous span.arw{
width: 10px;
height: 10px;
border-top: 1px solid #00A6A3;
border-left: 1px solid #00A6A3;
transform: rotate(315deg);
position: absolute;
left: 20px;
top: 43%;
transition: all 0.3s;
}
.postlink2 li.next span.arw{
width: 10px;
height: 10px;
border-top: 1px solid #00A6A3;
border-left: 1px solid #00A6A3;
transform: rotate(135deg);
position: absolute;
right: 20px;
top: 43%;
transition: all 0.3s;
}


.postlink2 li.previous {
float: left;
}
.postlink2 li.list {
float: left;
}
.postlink2 li.next {
float: left;
}
.postlink2 a:link {
text-decoration: none;
color: #06C;
}
.postlink2 a:visited {
text-decoration: none;
color: #06C;
}
.postlink2 a:hover, .postlink2 a:active {
text-decoration: none;
color: #06C;
background-color: #EEEEEE;
}
@media screen and (max-width: 896px) {
.postlink2 li.previous {
width: 39%;
margin-left: 0%;
margin-right: 1%;
}
.postlink2 li.list {
width: 18%;
margin-left: 0%;
margin-right: 0%;
}
.postlink2 li.next {
width: 39%;
margin-left: 1%;
margin-right: 0%;
}
.postlink2 li a {
font-size: 2.5vw;
}
.postlink2 li.previous a {
padding-left: 20px;
}
.postlink2 li.next a {
padding-right: 20px;
}
.postlink2 li.previous span.arw{
width: 7px;
height: 7px;
left: 10px;
top: 43%;
}
.postlink2 li.next span.arw{
width: 7px;
height: 7px;
right: 10px;
top: 45%;
}
}


/* 空要素のスタイルを設定 */
.postlink2 ul li:empty:after {
content: '　';
display: block;
}



/* ---------------------------------------------------------------- *
お問い合わせフォームの設定
* ---------------------------------------------------------------- */

#formbtn{
text-align: center;
margin: 0px;
padding-top: 10px;
}
#formbtn table{
text-align: center;
margin: 0px;
padding: 0px;
}
.w100 {
width: 100px;
margin: 0px;
padding: 0px;
}
.w200 {
width: 200px;
margin: 0px;
padding: 0px;
}
.w480 {
width: 460px;
margin: 0px;
padding: 0px;
}
span.red {
color: #F00 !important;
}



/*プラグインContact Form 7のエラーメッセージ*/
.wpcf7-not-valid-tip {
position: static !important;
left: 0px !important;
top: -8px !important;
color: #F00 !important;
font-size: 14px !important;
margin: 0px !important;
border-top-style: none !important;
border-right-style: none !important;
border-bottom-style: none !important;
border-left-style: none !important;
z-index: 1000 !important;
padding: 10px !important;
background-color: #FFF;
/*width: 180px !important;*/
text-align: left !important;
display: block;
}
.wpcf7-validation-errors {
width: 100% !important;
padding: 2% !important;
margin-left: 0px !important;
text-align: center;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

/* テキストフォームの設定 */
.wpcf7-text,.wpcf7-number{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 15px;
border: 1px solid #AAAAAA;
background-color: #FFFFFF;
margin: 0;
border-radius: 5px;
font-size: 16px !important;
}
.length-s{
width: 120px;
}
.length-sm{
width: 200px;
}
.length-m2{
width: 250px;
}
.length-m{
width: 300px;
}
.length-l{
width: 100%;
}
/* テキストフォームのフォーカス時の設定 */
.wpcf7-text:focus{
background-color: #FFF;
}

/* テキストエリアの設定 */
.wpcf7-textarea{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 15px;
border: 1px solid #AAAAAA;
background-color: #FFFFFF;
margin: 0;
border-radius: 5px;
width: 100%;
font-size: 16px !important;
}

/* テキストエリアのフォーカス時の設定 */
.wpcf7-textarea:focus{
background-color: #FFF;
}

.clearfix:after{
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}

.clearfix{
overflow:hidden;
}

/*ラジオボタン・チェックボックスの改行*/
/*.list_length span.wpcf7-list-item { display: block; }*/
.c_item span.wpcf7-list-item {
display: block;
}

@media screen and (max-width: 767px) {
.wpcf7-text{
width: 100%;
}
.length-s{
width: 50%;
}
.length-m{
width: 100%;
}
.length-m2{
width: 49%;
}
.length-l{
width: 100%;
}
.wpcf7-text .wpcf7-form-control {
padding: 0px;
width: 100% ;
height: auto;
}

.wpcf7-textarea{
width: 100% ;
}
}



/* フォームデザイン */
.contact_F input:hover,
textarea:hover {
background: #ededed;
}

input.submit{
	clear: both;
	border: none;
	font-size: 18px;
	color: #FFFFFF;
	background-color: #00A6A3;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-right: 10px;
	padding-left: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	border-radius: 5px;
}
input.submit:hover {
	cursor: pointer;
	background-color: #00A6A3;
}

/*iPhone用*/
input[type="submit"] {
-webkit-appearance: none;
}
input[type="reset"] {
-webkit-appearance: none;
}
input[type="button"] {
-webkit-appearance: none;
}

textarea {
height: 250px;
}
@media screen and (max-width: 767px) {
textarea {
width: 100%;
height: 200px;
border: 1px #DDDDDD solid;
margin: 0px;
padding: 10px;
background: #FFFFFF;
-webkit-transition: background 1s ease;
-moz-transition: background 1s ease;
transition: background 1s ease;
}
input.submit {
font-size: 18px;
width: 100%;
padding-top: 20px;
padding-bottom: 20px;
}
input,
textarea,
select {
}
}




/*ファイルボタンカスタマイズ*/
/*input[type="file"] {
display: none;
}*/
input[type="file"] {
/*font-size: 14px;*/
}
label.file-button {
padding: 10px 40px;
/*color: #ffffff;*/
background-color: #E1E1E1;
cursor: pointer;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin-bottom: 7px;
display: block;
text-align: center;
}
label.file-button span {
}
@media screen and (max-width: 767px) {
label.file-button {
width: 100%;
}
}



span.wpcf7-list-item {
display: block;
}
label {
position: relative;
padding-left: 10px;
padding-top: 3px;
}



/*  CHECKBOX */
label span {
margin-left: 20px;
margin-right: 20px;
/*display: inline-block;*/
}
label input[type="checkbox"] {
position: absolute;
top: 0;
left: 0;
opacity: 0;
}
label input[type="checkbox"] + span::before, label input[type="checkbox"] + span::after {
position: absolute;
top: 0;
left: 0;
display: inline-block;
content: '';
box-sizing: border-box;
}
label input[type="checkbox"] + span::before {
z-index: 0;
background-color: #FFFFFF;
width: 22px;
height: 22px;
border: 2px #2F8CD4 solid;
border-radius: 0px;
/*position: absolute;*/
}
label input[type="checkbox"] + span::after {
z-index: 1;
margin: 5px 8px;
width: 6px;
height: 9px;
/*position: absolute;*/
}
label input[type="checkbox"]:checked + span::before {
background-color: #2F8CD4;
}
label input[type="checkbox"]:checked + span::after {
border: 2px solid #fff;
border-width: 0 2px 2px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
z-index: 2;
}

/*@media screen and (max-width: 767px) {
span.wpcf7-list-item {
margin-left: 10px;
margin-top: 5px;
}
}*/

span.wpcf7-list-item {
margin-bottom: 7px;
}
@media screen and (max-width: 767px) {
span.wpcf7-list-item {
/*margin-left: 10px;
margin-top: 5px;*/
}
}





/* RADIO BUTTON */
label input[type="radio"] {
position: absolute;
top: 0;
left: 0;
opacity: 0;
}
label input[type="radio"] + span::before {
position: absolute;
display: inline-block;
content: '';
box-sizing: border-box;
border-radius: 20px;
}
label input[type="radio"] + span::before {
z-index: 0;
top: 0;
left: 0;
background-color: #FFFFFF;
width: 20px;
height: 20px;
border: 2px #2F8CD4 solid;
}
label input[type="radio"]:checked + span::before {
border-width: 7px;
}


/*フォームスタイル　プルダウンメニュー*/
.inverse{
background: #000;
padding: 20px 0;
color: #fff;
}
.select-wrap {
position: relative;
}
.select-wrap:before {
z-index: 1;
position: absolute;
right: 15px;
top: 0;
content: '\f107';
font-family: 'Font Awesome 5 Free';
line-height: 43px;
color: #000000;
pointer-events: none;
/*font-size: 20px;*/
}
select{
outline: none;
-moz-appearance: none;
text-indent: 0.01px;
text-overflow: '';
background: none transparent;
vertical-align: middle;
font-size: inherit;
color: inherit;
-webkit-appearance: button;
-moz-appearance: button;
appearance: button;
/*appearance: none;
-webkit-appearance: none;
-moz-appearance: none;*/
height: 40px;
padding: 8px 12px;
border: 1px solid #9E9E9E;
width: 100%;
border-radius: 0px;/*color: #888;*/
}
select option{
background-color: #fff;
color: #CCC;
}
select::-ms-expand {
display: none;
}
select:-moz-focusring { 
color: transparent; 
/*text-shadow: 0 0 0 #828c9a;*/
}
.select-wrap.select-primary:before{
color:#fff;
}
.select-wrap.select-primary > select{
background:#0084B4;
color:#fff;
border-color:#0084B4;
}
.select-wrap.select-primary > select:-moz-focusring { 
color: transparent; 
/*text-shadow: 0 0 0 #fff;*/
}

.select-wrap.select-inverse:before{
color:#fff;
}
.select-wrap.select-inverse > select{
color:#fff;
border-color: #fff;
}

.select-wrap.select-inverse > select:-moz-focusring { 
color: transparent; 
/*text-shadow: 0 0 0 #fff;*/
}



/*placeholder文字色変更*/
/* Chrome, Safari */
input::-webkit-input-placeholder{
/*color: #CCCCCC;*/
}
/* Firefox */
input::-moz-placeholder{
/*color: #CCCCCC;*/
}
/* Firefox 18以前 */
input:-moz-placeholder{
/*color: #CCCCCC;*/
}
/* IE */
input:-ms-input-placeholder{
/*color: #CCCCCC;*/
}
/*txterea*/




/* リニューアル　お問い合わせフォーム */
.contact_F{
width: 100%;
border-radius: 0px;
padding: 0px;
box-sizing: border-box;
margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
.contact_F{
padding: 0px;
margin-bottom: 35px;
}
}

ul.in_form {
display: grid;
gap: 0px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}
ul.in_form label {
font-weight: normal;
cursor: pointer;
}
ul.in_form li.item {
display: flex;
/*align-items: center;
justify-content: center;*/
gap: 50px;
padding-top: 15px;
padding-bottom: 15px;
border-bottom: 0px solid #CCCCCC;
z-index: 0;
}
ul.in_form li.item:last-child {
border-bottom: 0px solid #CCCCCC;
}
ul.in_form li.item h3 {
flex-basis: 23%;
font-size: 14px;
font-weight: bold;
padding-bottom: 10px;
position: relative;
}
ul.in_form li.item h3 span{
padding-left: 10px;
padding-right: 10px;
padding-top: 0px;
padding-bottom: 0px;
color: #FFFFFF;
border-radius: 20px;
font-size: 10px;
position: absolute;
right: 0px;
margin: 0;
height: 20px;
line-height: 2em;
top: 5px;
}
ul.in_form li.item h3 span.required{
background-color: #E0001C;
}
ul.in_form li.item .in_desc {
flex-basis: 77%;
}
ul.in_form li.item p a:link {
text-decoration: underline;
}
ul.in_form li.item.accept .in_desc {
flex-basis: 100%;
text-align: center;
}
@media(max-width: 767px){
ul.in_form {
gap: 0px;
}
ul.in_form li.item {
flex-direction: column;
display: block;
padding-top: 10px;
padding-bottom: 10px;
}
ul.in_form li.item h3 {
flex-basis: 100%;
font-size: 3.3vw;
}
ul.in_form li.item .in_desc {
flex-basis: 100%;
}
}