
/*色指定をして下さい*/
:root {
	--main-color:#1F85AB;		/*ボタン・フッターなどのメインカラー*/
	--main-title-color: #111111;	/*ヘッダータイトルカラー*/
	--main-text-color: #555;
	--main-logo-color: #0c429b; /*濃い青カラー*/
	--sub-logo-color: #1babcc; /*薄い青カラー*/	
	--sub-color: #DA5019;/*差し色*/
}




body{
    /* background: var(--main-text-color); */
}

.site{display: block;}

.home-header-title{
    color: #fff;
    font-size: 3.5rem;
    letter-spacing: -0.03em;
    margin-bottom: 0;
    margin-top: 0;
    text-shadow: 1px 1px 1px rgba( 0, 0, 0, 0.5 );
}
.home-header-subtitle{
	color: #fff;
    font-size: 1.8rem;
    letter-spacing: -0.03em;
    margin-bottom: 0;
    margin-top: 0;
    text-shadow: 1px 1px 1px rgba( 0, 0, 0, 0.5 );}

.home-header-overlay{ background-color: rgba( 0, 0, 0 , 0 );}


.block-flex{display:flex;}
.block-kotei{display:block;}

/*
.content-area, .site-main{display:flex;justify-content:center; width: 100%;}
.content-area{}

.alignwidethin{max-width:720px; margin-left: calc( 50% - 720px / 2 );}

@media screen and (min-width:782px){
.alignwidethin{max-width:800px; margin-left: calc( 50% - 800px / 2 );}
}

.linesho{display:block; line-height: 1em; width:100%;}

*/


footer .block-kotei{text-align: center; padding: 20px; width:calc( 100% - 18px );background: var(--sub-logo-color);color:#ffffff;font-size:1.4em;}
footer .widget a{text-decoration: none;}







footer .wp-block-image {
	margin-bottom: 0em;
}
footer .widget {
	margin-bottom: 0em;
}
footer address {
	margin-bottom: 0em; font-size:1.2em; font-weight:bold;
}
footer address span{
	display: block;
}













/*「必須」文字デザイン*/
.required{
font-size:.8em;
padding: 5px;
background: #F57500;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/*「任意」文字デザイン*/
.optional{
font-size:.8em;
padding: 5px;
background:var(--sub-logo-color);
color: #fff;
border-radius: 3px;
margin-right: 5px;
}



.equilist dl, .about dl {

display: flex;
flex-flow: row wrap;
width: 100%;
}
.equilist dt, .about dt {
flex-basis: 80%;
padding:4px 0px 4px 12px;
border-bottom: 1px solid #ccc;
	margin-bottom: 0.5em;
}
.equilist dd, .about dd {
flex-basis: calc( 20% - 20px );
display: flex;
width:100%;
justify-content: center;
padding: 4px 4px 4px 0;
border-bottom: 1px solid #ccc;
margin-bottom: 0.5em;
margin-left: 0;
}
.about{display: flex;}
.about figure {margin-left: 20px;}
.about dl, .about figure {
display: flex;
width: 100%;
}
.about dt{flex-basis: 25%;text-align: left;}
.about dd {flex-basis: calc( 75% - 20px );text-align: left;justify-content:flex-start;}
.about.enkaku dt{flex-basis: 18%;}
.about.enkaku dd {flex-basis: calc( 82% - 20px );}
.about.enkaku dl{
width: 100%;
}




.appealbox h3{
  position: relative;
  padding-left: 25px;
  height: 3em;
} 

.appealbox h3:before {
  position: absolute;
  content: '';
  bottom: -3px;
  left: 0;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 15px transparent;
  border-bottom: solid 15px var(--sub-color);
}

.appealbox h3:after {
  position: absolute;
  content: '';
  bottom: -3px;
  left: 10px;
  width: 100%;
  border-bottom: solid 3px var(--sub-color);
}


.appealbox .has-3-columns .wp-block-column{padding:24px 20px;border: solid 1px var(--sub-color);}



.about ul{display: flex;flex-wrap: wrap;width:700px;margin-left: calc( 50% - 700px / 2 );
	padding: 0.5em;
	list-style-type: none;}
.about ul li{
font-size:1em;
width: calc( 50% - 5.4em ); list-style: none;
margin:1em;
text-align: left;
	position: relative;
	padding: 0.5em 1em 0.5em 2.3em;
	margin-bottom:5px;
	border-bottom: 1px solid var(--sub-logo-color);
}	
	
.about ul li:after,
.about ul li:before{
	content:'';
	position: absolute;
	border-radius: 50%;
}
.about ul li:before {
	top: 50%;
	left: 0.2em;
	width: 17px;
	height: 17px;
	background:var(--main-logo-color);
	transform: translateY(-50%);
}
.about ul li:after {
	top: 1.1em;
	left: 0.7em;
	width: 14px;
	height: 14px;
	background: var(--sub-logo-color);
}


.main-header{padding-bottom: 4px;}

.home-header-content{text-align:right;}

@media screen and (min-width: 782px) { 
	.site-branding{display: flex; justify-content: center; flex-basis: calc( 100% - 12px );}
}



.lead-main{color:var(--main-title-color);
	font-size:1.1em;
 	 position: relative;
  	text-align: center;
  	padding: 1em;
	font-weight:bold;
	margin-bottom:0.2em;
}

.lead-main::after {
  position: absolute;
  content: '';
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  width: 100px;
  height: 5px;
  background: var(--sub-color);
}




.lead-description{
	font-size:1.0em;
}


.site-branding span{ 
   display: flex;
}


.privacyli{font-size: 1.2em;font-weight: bold; padding:1.2em 0 0.5em 0;}

/* 1234 */
@media screen and (min-width: 980px) {
	.main-header-content .main-navigation{font-size:100%; flex-basis: calc( 100% - 2px ); justify-content: center;display: inline-flex;}
.manu{flex-basis: calc( 100% - 2px ); justify-content: center;}
	
	.jumbotron-content {
		padding-bottom: 12px;
		padding-top: 12px;
	}
	
	.menu-item-142{background: var(--sub-logo-color);color:#ffffff;padding-right:16px;}
}



h2.titleblock {
  position: relative;
  text-align: center;
  padding: 1em;
}
h2.titleblock::before, h2.titleblock::after {
  position: absolute;
  content: '';
  width: 20px;
  height: 100%;
  border-top: var(--sub-color) solid 2px;
  border-bottom: var(--sub-color) solid 2px;
}
h2.titleblock::before {
  left: 0;
  top: 0;
  border-left: var(--sub-color) solid 2px;
}
h2.titleblock::after {
  right: 0;
  bottom: 0;
  border-right: var(--sub-color) solid 2px;
}




.news_title{width:100%;text-align: center;}
.news_list dl {
display: flex;
flex-flow: row wrap;
width: 100%;
}
.news_list dt {
display: flex;
flex-basis: 320px;
align-items: center;
padding: 20px;
background-color: #f1f1f1;
border-bottom: 1px solid #ccc;
}
.news_list dt .category{padding-left: 1em;}
.news_list dd {
flex-basis: calc( 90% - 354px );
align-items: center;
padding: 20px;
background-color: #fff;
border-bottom: 1px solid #ccc;
margin: 0 0 0.5em 0;
}
.news_list dd span {display: block;}
@media screen and (max-width: 559px) {
.news_list dl {
flex-flow: column;
}

	
	





.alignwide img{width:90%;}
.alignwide img.width80{width:80%;}




figure {
    width: 100%; /* キャプションの親要素に幅指定 */
	flex-wrap: wrap;
	display:flex;
	justify-content: center;
	align-items: center;
	margin:0;
	padding:0;
}


@media screen and (min-width: 980px) {
	figure { width: 800px; }/* キャプションの親要素に幅指定 */
}
figcaption, figure img {
  width: 100%;
}



	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

/************************************
** お問い合わせフォームの入力
************************************/
#cf-tbl{
width: 800px;
}

#cf-tbl table{
width: 100%;
border-collapse: collapse;
border: solid #CCC;
border-width: 1px;
color: #444;
}
#cf-tbl table tr th,
#cf-tbl table tr td{
padding: 0.5em;
text-align: left;
vertical-align: top;
border: solid #CCC;
border-width: 1px;
vertical-align: middle;
}
#cf-tbl table tr th{
width: 35%;
background: #eee;
}
	
	
	
@media screen and (max-width:768px){
#cf-tbl{
width: 100%;
}

#cf-tbl table,
#cf-tbl table tbody,
#cf-tbl table tr,
#cf-tbl table tr th,
#cf-tbl table tr td{
display: block;
}

#cf-tbl table{
width: 100%;
border-width: 0 0 1px 0;
}

#cf-tbl table tr th,
#cf-tbl table tr td{
width: 100%;
padding: 3% 5%;
}

#cf-tbl table tr td{
border-width: 0px 1px 0px 1px;
}
}
/*「必須」文字デザイン*/
.required{
font-size:.8em;
padding: 5px;
background: #F57500;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/*「任意」文字デザイン*/
.optional{
font-size:.8em;
padding: 5px;
background: #000080;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	background-color: #eff1f5;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 「送信する」ボタン */
input.wpcf7-submit {
    display: block;
    padding: 15px;
    width: 400px;
    background: #ffaa56;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    border-radius: 2px;
    margin: 15px auto 0
}
@media screen and (max-width:768px){
input.wpcf7-submit {
width: 250px;
}
}

input.wpcf7-submit:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	opacity:0.7;
}
/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}
	



