@charset "utf-8";

*{
  box-sizing:border-box;
}

body{
  margin:0;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  color: #333;
	line-height:1.7;
	letter-spacing:0.03em
	
}

@media(min-width:961px){
	.sponly{
	  display:none !important;
	}
  }
@media(max-width:960px){
  .pconly{
    display:none !important;
  }
}
@media(min-width:561px){
	.show_sp{display: none !important;}
 }
 @media(min-width:961px){
	.show_sptb{display: none !important;}
 }
 @media(max-width:560px){
	.show_tbpc{display: none !important;}
 }
 @media(max-width:960px){
	.show_pc{display: none !important;}
 }
/*変数*/
:root{
	--basecolor: #008a43 ; /*基本色*/
	--sabcolor: #d3ffd3; /*サブカラー*/
}

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


p{
	margin:0
}

h3{
	margin:0;
}

a{
color: #333;
  text-decoration: none;

}

a:visited{
    color: #333;
}

a:hover{
  /*filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;*/
}
.tac{
	text-align: center;
}
.tal{
	text-align: left;
}
.tar{
	text-align: right;
}
.mg0{
	margin: 0 auto;
}


.margin1{
	margin:10px
}
.margin2{
	margin:20px
}
.margin3{
	margin:30px
}
.margin4{
	margin:40px
}
.margin5{
	margin:50px
}
.mgb1{
	margin-bottom:10px
}
.mgb2{
	margin-bottom:20px
}
.mgb3{
	margin-bottom:30px
}
.mgb4{
	margin-bottom:40px
}
.mgb5{
	margin-bottom:50px
}
.mgt1{
	margin-top:10px
}
.mgt2{
  margin-top:20px
}
.mgt3{
	margin-top:30px
}
.mgt4{
	margin-top:40px
}
.mgt5{
	margin-top:50px
}
.mgl1{
	margin-left:10px
}
.mgl2{
	margin-left:20px
}
.mgl3{
	margin-left:30px
}
.mgl4{
	margin-left:40px
}
.mgl5{
	margin-left:50px
}
.mgr1{
	margin-right:10px
}
.mgr2{
  margin-right:20px
}
.mgr3{
	margin-right:30px
}
.mgr4{
	margin-right:40px
}
.mgr5{
	margin-right:50px
}
.n_mgt5{
	margin-top:5%
}

.padding1{
	padding:10px
}
.padding2{
	padding:20px
}
.padding3{
	padding:30px
}
.padding4{
	padding:40px
}
.padding5{
	padding:50px
}
.pdt1{
	padding-top:10px
}
.pdt2{
  padding-top:20px
}
.pdt3{
  padding-top:30px
}
.pdt4{
  padding-top:40px
}
.pdt5{
	padding-top:50px
}
.pdt6{
	padding-top:60px
}
.pdt7{
	padding-top:70px
}
.pdt8{
	padding-top:80px
}
.pdt9{
	padding-top:90px
}
.pdt10{
	padding-top:100px
}
.pdb1{
	padding-bottom:10px
}
.pdb2{
  padding-bottom:20px
}
.pdb3{
  padding-bottom:30px
}
.pdb4{
  padding-bottom:40px
}
.pdb5{
	padding-bottom:50px
}
.pdb6{
	padding-bottom:60px
}
.pdb7{
	padding-bottom:70px
}
.pdb8{
	padding-bottom:80px
}
.pdb9{
	padding-bottom:90px
}
.pdb10{
	padding-bottom:100px
}
.pdr5{
	padding-right:30% ;

}

/*----------
特殊例
-----------*/
/*----------
マーカー下線
----------*/
.marker_line {
    background: linear-gradient(transparent 60%, var(--sabcolor) 0%);
}
.marker_line_oreng{
	background: linear-gradient(transparent 50%, #ffd95d9f 50%);
}
/*---------
 題字下下線
 ----------*/
.hr-green {
    border-top: 2px solid #3ca27e;
    width: 80px;
}

/*------------*/

.flex{
	display: flex;
}
.flex_wrap_reverse{
	display: flex;
}

/*--------------------------------
       ここまでtemplate
---------------------------------*/
/*--SPメニュー--*/
/*========= ナビゲーションのためのCSS ===============*/

/*アクティブになったエリア*/
#g-nav.panelactive{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
	top: 0;
	width:100%;
    height: 100vh;
}

/*丸の拡大*/
.circle-bg{
    position: fixed;
	z-index:3;
    /*丸の形*/
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #fff;
    /*丸のスタート位置と形状*/
	transform: scale(0);/*scaleをはじめは0に*/
	right:-50px;
    top:-50px;
    transition: all .6s;/*0.6秒かけてアニメーション*/
}

.circle-bg.circleactive{
	transform: scale(50);/*クラスが付与されたらscaleを拡大*/
}

/*ナビゲーションの縦スクロール*/
#g-nav-list{
    display: none;/*はじめは表示なし*/
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list{
     display: block; /*クラスが付与されたら出現*/
}

/*ナビゲーション*/
#g-nav ul {
	opacity: 0;/*はじめは透過0*/
    /*ナビゲーション天地中央揃え※レイアウトによって調整してください。不必要なら削除*/
	position: absolute;
	z-index: 999;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
	padding: 0;
}

/*背景が出現後にナビゲーションを表示*/
#g-nav.panelactive ul {
    opacity:1;
}

/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/
#g-nav.panelactive ul li{
	animation-name:gnaviAnime;
	animation-duration:1s;
	animation-delay:.2s;/*0.2 秒遅らせて出現*/
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes gnaviAnime{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
	}
}

.sp_menu_logo{
	position: absolute;
	top: 10px;
	width: calc(100% - 80px );
	left:10px
	/*left: 50%;

	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);*/
}

/*リストのレイアウト設定*/
#g-nav li{
	text-align: center; 
	list-style: none;
}

#g-nav li a{
	color: #333;
	text-decoration: none;
	padding:0px 0 8px ;
	margin:0 0 8px;	
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
	border-bottom:1px dashed var(--basecolor)
}


/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
	top: 10px;
	right: 10px;
	z-index: 9999;/*ボタンを最前面に*/
	cursor: pointer;
	width: 50px;
	height:50px;
	background: #188a43;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #fff;
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:10px;	
}

.openbtn span:nth-of-type(2) {
	top:18px;
}

.openbtn span:nth-of-type(3) {
	top:26px;
}

.openbtn.active span:nth-of-type(1) {
    top: 13px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 25px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
.openbtn p{
	position: absolute;
	left: 6px;
	bottom:3px;
	font-size:10px;
	letter-spacing:0;
	color:#fff
	
}



.head_txt{
	background: var(--basecolor);
	padding: 5px 0;
	text-align: center;
	color:#fff
}
.header_box{max-width: 1110px;margin: 15px auto;align-items: center;}
.logo_ttl{
	width: 55%;
}
.logo_ttl img{
	width: 90%;
}
.logo_ttl h2{
	margin: 0;
	font-size: 37px;
	letter-spacing: 1.2px;
	line-height: 1;
}
.logo_top.flex{
	align-items: center;
	
}
.logo_top p{
	border:1px solid;
	padding: 1px 20px;
	margin: 0 0 0 4px;
}
.logo_unei{
	text-align:left;
	margin:0 0 10px 5px
}
.logo_unei img{
	width: 68%;
}


.logo_top h2{
	color: var(--basecolor);
	width: 35%;
	line-height: 1;
}

.logo_bottom{
	margin: 5px 0 0 0;
	background: #fff;
}
.logo_bottom h2 span:nth-child(1){
	color: #febc1e;
}
.logo_bottom h2 span:nth-child(2) {
	color: #9d6f00;
}
.header_contact_top{
	justify-content: space-between;
	margin: 10px 0 0px;
}
.header_contact_top a{
	color: var(--basecolor);
	display: flex;
	align-items: center;

}
.header_contact_top a span{
	font-size: 28px;
	font-weight: 600;
	margin: 0 0 0 20px;
}
.header_contact_top a img{
	width: 40px;
}
.header_contact_top.flex{
	align-items: center;
}
.header_contact_txt{
	width: 50%;
	border: 2px solid var(--basecolor);
	padding: 5px;
}
.header_contact_txt h2{
	margin: 0;
	text-align: center;
	color: var(--basecolor);
	font-size: 20px;
}
.jisage{
	text-indent: -1rem;
    padding-left: 1rem;
}
.header_contact_txt .jisage{
	margin: 0 auto;
	width: fit-content;
}
.header_contact_link{
	width: 50%;
}
.header_contact_link a{
	display: inline-block;
}
.header_contact_link a img{
	height: 40px;
	width: auto;
}
.header_contact_link a:nth-child(1){
	margin: 8px 0 0;
}
.header_contact_link a:nth-child(2){
	margin: 10px 0 0;
}
.header_contact_txt .jisage span{
	position: relative;
}
.header_contact_txt .jisage span::after{
	content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    top: -3px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background: var(--basecolor);
    clip-path: circle(50% at 50% 50%);
}

/*---PCメニュー---*/
.pc_menu{
	background: var(--sabcolor);
	padding: 10px 0;
	border-bottom: 2px solid var(--basecolor);
}
.pc_menu .contents_wrap{
	margin: 0 auto;
}
.pc_menu ul {
    display: flex;
    align-items: flex-end;
    justify-content: space-evenly;
    text-decoration: none;
    list-style: none;
    padding: 0;
    margin: 0;
}
.pc_menu ul li{
	list-style:none;
	padding-left:0;
}
.pc_menu ul li a{
	display: block;
	text-align: center;
	font-size: 100%;
	font-weight: 600;
	transition: all 0.3s;
	
}
.pc_menu ul li a p{
	display: flex;
	justify-content: center;
	align-items: center;
}
.pc_menu ul li a img{
	display: block;
	height: 50px;
	width: auto;
}
.pc_menu ul li a:hover{
	opacity: 0.4;
}


/*汎用*/
.contents_wrap{
	max-width: 100%;
	/* width: 95%; */
	margin: 30px auto;
}
.section_box {
    margin: 0px auto;
    position: relative;
}
.outline_green{
	color          : #ffffff;            /* 文字の色 */
	letter-spacing : 1px;                /* 文字間 */
	text-shadow    : 
		 2px  2px 1px #008a43,
		-2px  2px 1px #008a43,
		 2px -2px 1px #008a43,
		-2px -2px 1px #008a43,
		 2px  0px 1px #008a43,
		 0px  2px 1px #008a43,
		-2px  0px 1px #008a43,
		 0px -2px 1px #008a43;        /* 文字の影 */
	transition: all 0.3s;
}

.outline_white{
	color          : #000000;            /* 文字の色 */
	letter-spacing : 1px;                /* 文字間 */
	text-shadow    : 
		 2px  2px 1px #ffffff,
		-2px  2px 1px #ffffff,
		 2px -2px 1px #ffffff,
		-2px -2px 1px #ffffff,
		 2px  0px 1px #ffffff,
		 0px  2px 1px #ffffff,
		-2px  0px 1px #ffffff,
		 0px -2px 1px #ffffff;        /* 文字の影 */
}

.back_green{
	background: var(--sabcolor);
}


/*--ヒーローイメージ--*/
.hero_img{
	background: url(../img/top.jpg) no-repeat;
	height: 500px;
	background-size: cover;
	background-position: center center;
	position: relative;

}
.anshin_ttl{
	position: absolute;
	top: 40px;
	right: 20%;
}
.anshin_txt{
	position: absolute;
	right: 18%;
	top: 23%;
}
.anshin_sp{
	position: absolute;
	right: 18%;
	top: 23%;
	width: 50%;
}
.soudan_banner{
	position: absolute;
	bottom: 1%;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}
.hero_img a{
	transition: all 0.3s;
}
.hero_img a:hover{
	opacity: 0.7;
}


/*サポートメニュー*/
.support_menu_ttl.outline_green{
	margin: 0 auto 30px;
	width: fit-content;
	position: relative;
	font-size: 30px;
	padding: 0 20px;
}
.support_menu_ttl::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 30px;
	bottom: -10px;
	left: 0;
	background: var(--basecolor);
	border-radius: 50px;
	z-index: -1;
}
.support_menu.flex{
	flex-wrap: wrap;
	margin: 10px auto 20px;
}
.support_menu a{
	width: 32%;
	padding: 15px 10px;
	margin: 2% 2% 0 0;
	text-align: center;
	border: 3px solid var(--basecolor);
	transition: all 0.3s;

}
.support_menu a p{
	font-weight: 600;
	font-size: 20px;
	transition: all 0.3s;
	padding: 10px 0;
}
.support_menu a .outline .small{
	font-size: 15px;
}
.support_menu a:nth-child(1){
	background: url(../img/support_menu_1.jpg) no-repeat;
	background-color: rgba( 255, 255, 255, .7);
    background-blend-mode: overlay;
	background-size: cover;

}
/*.support_menu a:nth-child(1) h2,
.support_menu a:nth-child(3) h2{
	height: 70px;
}*/

.support_menu a:nth-child(2){
	background: url(../img/support_menu_2.jpg) no-repeat;
	background-color: rgba( 255, 255, 255, .7);
    background-blend-mode: overlay;
	background-size: cover;
}
.support_menu a:nth-child(3){
	margin: 2% 0 0;
	background: url(../img/support_menu_3.jpg) no-repeat;
	background-color: rgba( 255, 255, 255, .7);
    background-blend-mode: overlay;
	background-size: cover;
}
.support_menu a:nth-child(4){
	background: url(../img/support_menu_4.jpg) no-repeat;
	background-color: rgba( 255, 255, 255, .7);
    background-blend-mode: overlay;
	background-size: cover;
}
.support_menu a:nth-child(5){
	background: url(../img/support_menu_5.jpg) no-repeat;
	background-color: rgba( 255, 255, 255, .7);
    background-blend-mode: overlay;
	background-size: cover;
}
.support_menu a:nth-child(6){
	margin: 2% 0 0;
	background: url(../img/support_menu_6.jpg) no-repeat;
	background-color: rgba( 255, 255, 255, .7);
    background-blend-mode: overlay;
	background-size: cover;
}

.support_menu a:hover p{
	color: #fff;
	background: #008a43;
}
.support_menu a:hover .outline_green{
	color: #000000;
}
.sankaku{
	margin: 0 0 -30px 0;
}
.sankaku span{
	display: block;
    width: 0;
    height: 0;
    margin: 0 auto 5px;
    border-style: solid;
    border-width: 13.0px 7.5px 0 7.5px;
    border-color: var(--basecolor) transparent transparent transparent;
}
.support_menu_box .tac a:hover{
	opacity:0.5	
}


/*イントロ部分*/
.intro_wrap{
	padding: 30px 0;
}
.intro_ttl{
	width: fit-content;
	margin: 0 auto;
	padding: 20px;
	position: relative;
	text-align: center;

}
.intro_ttl::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 15px;
	background: radial-gradient(circle farthest-side, var(--basecolor), var(--basecolor) 30%, transparent 30%, transparent);
    background-size: 15px;
	top: 0;
	left: 0;
}
.intro_ttl::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 15px;
	background: radial-gradient(circle farthest-side, var(--basecolor), var(--basecolor) 30%, transparent 30%, transparent);
    background-size: 15px;
	bottom: 0;
	left: 0;
}

.intro_box{
	margin: 20px 0;
}
.intro_img{
	width: 50%;
}
.intro_img img{
	width: 70%;
}
.intro_img a{
	transition: all 0.3s;
}
.intro_img a:hover{
	opacity: 0.7;
}
.intro_txt{
	width: 50%;
	padding: 0 10px;
}
.intro_txt h2{
	background: #fff;
	margin: 0 0 15px 0;
	padding: 10px ;
	text-align: center;
}
.intro_txt p{
	font-size: 18px;
	line-height: 1.6em;

}


/*フロー*/
.flow_ttl{
	position: relative;
	text-align: center;
	margin: 0 auto 20px;
}
.flow_ttl::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 15px;
	background: radial-gradient(circle farthest-side, var(--basecolor), var(--basecolor) 30%, transparent 30%, transparent);
    background-size: 15px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	z-index: -1;

}
.flow_ttl h2{
	background: #fff;
	padding: 0 20px;
	margin: 0 auto;
	width: fit-content;
}

.flow_box{
	flex: 1;
	position: relative;
}
.flow_box:nth-child(1),
.flow_box:nth-child(2){
	margin: 0 2em 0 0;
}
.flow_box:nth-child(1)::after,
.flow_box:nth-child(2)::after{
	content:"";
	position: absolute;
	top: 120px;
	right: -60px;
	background: url(../img/yajirushi.png) no-repeat;
	width: 70px;
	height: 49px;
	z-index: 2;
}
.flow_tel{
	display: inline-block;
	width: fit-content;
	margin: 20px auto 0;
	transition: all 0.3s;
}
.flow_tel:hover{
	opacity: 0.5;
}
.flow_box h2{
	font-size:120%
}



/**/
.site_map_menu .flex{
	flex-wrap: wrap;
}
.site_map_menu .flex li{
	width: 25%;
}
.site_map_menu ul{
	padding: 0;
	list-style:  none; 
    margin:  0; 
}
.site_map_menu ul li{
	position: relative;
	padding: 0 0 0 15px;
}
.site_map_menu ul li::after{
	content:  "";     /* 空の要素作成 */
    width:  7px;               /* 幅指定 */
    height:  7px;              /* 高さ指定 */
    display:  inline-block;     /* インラインブロックにする */
    background-color: var(--basecolor);  /* 背景色指定 */
    border-radius:  50%;        /* 要素を丸くする */
    position:  absolute;        /* 位置調整 */
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

/*サイトマップ*/
.site_map_menu ul li a{
	transition: all 0.3s;
}
.site_map_menu ul li a:hover{
	opacity:0.5
}
/*マップ*/
.map iframe{
	width: 100%;
	height: 400px;
}

/*------------- footer -------------*/
.footer {
	background-color: #F8F8F8;
	padding: 40px 0 30px;
}
.footer .contents_wrap {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}

.footer a {
	transition: .2s;
	display: inline-block;
}
.footer a:hover {
	opacity: .7;
}

.footer .logo {
	margin: 0 auto;
  width: 250px;
	display: block;
}

.footer .sub {
	font-weight: bold;
	font-size: 18px;
}

.footer .store {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	margin-top: 1rem;
}
.footer .store > div {
	margin-right: 5px;
}
.footer .store > div:last-child {
	margin-right: 0;
}
.footer .store .ttl {
	font-weight: bold;
	font-size: 18px;
	margin-bottom: .3em;
}

.footer .copyright {
	text-align: center;
	padding-top: 30px;
	font-size: 14px;
}

.footer .sns_link {
	list-style: none;
	display: flex;
	column-gap: 1rem;
	justify-content: center;
	margin-top: 3rem;
	padding: 0;
}

.footer .sns_link li {
	width: 40px;
}

@media(max-width:900px) {
	.footer .store {
		grid-template-columns: 1fr 1fr 1fr;
	}
	.footer .store > div {
		margin-bottom: 1rem;
	}
}

@media(max-width:500px) {
	.footer .store  {
		display: block;
	}
	.footer .logo {
		width: 200px;
	}
	.footer .sub,
	.footer .store .ttl {
		font-size: 16px;
	}
	.footer .store .txt {
		font-size: 14px;
	}
}




/*----------- 下層ページ -------------*/
/*----CMS系---*/
.cms_flex{
	display: flex;
}

.bread_list .contents_wrap{
	display: flex;
	margin: 10px auto;
}
.bread_list_sankaku{
	margin-right: 2em;
	position: relative;
}
.bread_list_sankaku::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0%;
    margin-right: -1.5em;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 10px;
    border-color: transparent transparent transparent var(--basecolor);
}

.side_menu{
	width: 25%;
}

.contants_ttl{
	position: relative;
	margin: 0px auto 5px;
    padding: 20px;
    text-align: center;
	font-size: 250%;
}
.contants_ttl::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 15px;
    background: radial-gradient(circle farthest-side, var(--basecolor), var(--basecolor) 30%, transparent 30%, transparent);
    background-size: 15px;
    bottom: 0;
    left: 0;
}
.contants_ttl::after{
	content: "";
    position: absolute;
    width: 100%;
    height: 15px;
    background: radial-gradient(circle farthest-side, var(--basecolor), var(--basecolor) 30%, transparent 30%, transparent);
    background-size: 15px;
    top: 0;
    left: 0;
}

.text_block{
	margin: 5px auto;
}
.color_marker{
	background: linear-gradient(transparent 60%, var(--sabcolor) 0%);
	font-weight: bold;
}
.under_line{
	text-decoration:underline solid #000000;
}
.bold{
	font-weight: bold;
}

.block_ttl{
	font-size: 170%;
	color: var(--basecolor);
	border-bottom:4px solid var(--basecolor);
	margin: 20px auto 5px;
}

.setsu_ttl{
	font-size: 130%;
	margin: 10px auto 5px;
	position: relative;
	padding: 0 0 0 1.2em;
	color: var(--basecolor);
	border-bottom: 2px solid;
}
.setsu_ttl::after{
	content:"";
	position: absolute;
	width: 15px;
	height: 15px;
	background: var(--basecolor);
    top: 50%;
    left: 5px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.img_wraparound_block figure{
	padding: 4px;
    margin: 0 7px 2px 0;
    display: inline;
	float:left;
	width: 30%;

}
.float_none {
	clear: both;
}
.points{
	margin: 10px 5px;
}
.points ul{
    list-style:  none;      /* デフォルトのアイコンを消す */
    margin:  0;             /* デフォルト指定上書き */
    padding: 0;             /* デフォルト指定上書き */
}
.points ul li{
	position: relative;
	padding: 0 0 0 1.5em;
	margin: 0 0 5px;
}
.points ul li::after{
    content:  "";     /* 空の要素作成 */
    width:  10px;               /* 幅指定 */
    height:  10px;              /* 高さ指定 */
    display:  inline-block;     /* インラインブロックにする */
    background-color: var(--basecolor);  /* 背景色指定 */
    border-radius:  50%;        /* 要素を丸くする */
    position: absolute;        /* 位置調整 */
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.kou_ttl{
	font-size: 120%;
	margin: 10px auto 5px;
	position: relative;
	padding: 0 0 0 1.2em;
	color: var(--basecolor);
}
.kou_ttl::after{
	content:"";
	position: absolute;
	top: 50%;
    left: 10px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 10px solid var(--basecolor);
	border-right: 0;
}
.img_block{
	margin: 10px;
}
.img_block.tal{
	text-align: left;
}
.img_block.tac{
	text-align: center;
}
.img_block.tar{
	text-align: right;
}

.kakomi_color{
	background: var(--sabcolor);
	padding: 15px;
	margin: 10px;
}
.kakomi_border{
	border: #ccc 1px solid;
	padding: 15px;
	margin: 10px;
}
.text_block .text_link{
	font-weight: bold;
	color: var(--basecolor);
	text-decoration: underline;
	transition: all 0.3s;
}
.text_link:hover{
	color: var(--sabcolor);
}
.block_link {
	margin: 10px;
}
.block_link a{
	display: block;
	padding: 15px 10px;
	border: 2px solid var(--basecolor);
	color: var(--basecolor);
	text-align: center;
	transition: all 0.3s;
	border-radius: 5px;
}
.block_link a span{
	display: inline-block;
	position: relative;
	padding: 0 1em 0 0;	
}
.block_link a span::after{
	content:"";
	position: absolute;
	top: 50%;
    right: -0px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 10px solid var(--basecolor);
	border-right: 0;
}
.block_link a:hover {
	background: var(--sabcolor);
	color: #333;
}

.table_block{
	margin: 15px 0 10px;
}
.table_block table th{
	background: #f1f1f1;
}
.table_block table{
	border-collapse:  collapse;     /* セルの線を重ねる */
	width: 100%;
}
.table_block table th ,
.table_block table td{
	border: 1px solid;
	padding: 15px 10px;
}

.order_block{
	padding: 0 0 0 2em;
	position: relative;
}
.order_block::after{
	content:"";
	position: absolute;
	border-left: dotted 5px #b4bbbf;
    content: "";
    display: block;
    height: calc(100% - 20px);
    top: 2em;
    left: 0.8em;
}
.order_block.last::after{
	display: none;
}
.order_block h2{
	margin: 0;
	position: relative;
}
.order_block h2::after{
	content:"";
	position: absolute;
	width: 15px;
	height: 15px;
	background: var(--basecolor);
    top: 50%;
    left: -1em;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.side_main_menu,
.hourei_box{
	padding: 10px;
	margin: 10px auto;
	border: 1px solid #ccc;
	border-radius: 5px;
}
.side_main_menu ul,
.hourei_box ul{
	margin: 0;
	padding: 0;
	list-style: none;
}
.side_main_menu ul li{
	border-bottom: 1px solid #ccc;
	margin: 5px 0 5px;
}
.side_main_menu ul li:last-child{
	border-bottom: none;
}
.side_main_menu ul li a{
	display: block;
	text-align: center;
	padding: 5px;

}
.side_main_menu ul li a:hover{
	background: #008a43;
	color: #fff;
}
.side_main_menu h2{
	text-align: center;
	margin: 0;
	padding: 5px 10px;
	background: var(--basecolor);
	color: #fff;
	border-radius: 5px;
}
.hourei_box p{
	margin: 0 0 10px;
}

.hourei_box ul li{
	border: 1px solid #333;
	margin: 0 0 5px 0;
	text-align: center;
}
.hourei_box ul li a{
	display: block;
	padding: 5px;
}
.hourei_box ul li a:hover{
	background: var(--basecolor);
	color: #fff;
}

/*メールフォーム*/
.co_table{
	display: flex;
	padding: 0 0 10px 0;
	margin: 0 0 10px 0;
	border-bottom: 1px solid #ccc;
	align-items: center;
}
.co_table dt{
	width: 35%;
	display: flex;
	align-items: center;
}
.co_table dd{
	width: 73%;
	margin: 0;
}
.co_table em{
	color: #bf0000;
	font-size: 13px;
}
.form_box {
	max-width: 900px;
	margin: 30px auto 0;
	width: 90%;

}

.co_table .short {
    width: 200px;
    margin-bottom: 10px;
}

.submit_tac{
	text-align: center;
}
input[type="submit"], a.back , .return_top{
    width: auto;
    height: auto;
    text-align: center;
    border: 0px solid;
    padding: 10px 20px;
	background-color: var(--basecolor);
    border: 2px solid var(--basecolor);
    color: #ffffff;
    font-size: 16px;
    margin-top:40px;
    min-width:200px;
	display:inline-block;
	cursor:pointer;
}
.submit_tac .return_top{
	    color: #ffffff;
}
/*--------------SP--------------■■■■■■■■■■■*/
@media(max-width:1300px){
	.anshin_ttl{
		right: 100px;
	}
	.anshin_txt{
		right: 60px;
		top: 26%;
	}

	.support_menu.flex h2 .small{
		font-size: calc( 2.8vw - 15px );
	}
}

@media(max-width:1051px){
	.header_box.flex{
		/* flex-wrap: wrap; */
	}
	.logo_top.flex{
		/* justify-content: center; */
	}

	.logo_top h2{
		width: auto;
	}
	.logo_ttl{
		/* width: 100%; */
	}
	.logo_bottom{
		/* text-align: center; */
	}
	.logo_ttl .mgt1{
		/* text-align: center; */
		font-size: 90%;
	}
	.header_contact{
		/* width: 90%; */
		margin: 10px auto 0;
	}



}
@media(max-width:1051px){
	.soudan_banner {
		width: 80%;
	}

	.logo_unei{
		/* text-align:center; */
	}
	.logo_unei img{
		/* width:30%; */
	}

}
@media(max-width:1035px){
	.logo_unei img{
		width:50%
	}
}

@media(max-width:950px){
	/*------共通---------*/
	.flex_wrap_reverse{
		flex-wrap: wrap-reverse;
	}
	.flex{
		flex-wrap: wrap;
	}

	.contents_wrap{
		/* margin: 10px auto; */
	}

	.flow_box:nth-child(1)::after, .flow_box:nth-child(2)::after{
		top: 80px;
	}

	.flow_box h2{
		font-size: 17px;
	}

	.support_menu_ttl.outline_green{
		text-align: center;
		line-height:1.4;
		margin: 20px auto 20px;
	}
	.support_menu_ttl::after{
		height: 65px;
		bottom:0
	}
	.support_menu.flex h2{
		font-size: calc( 5.4vw - 13px );
	}
	.support_menu.flex h2 .small{
		font-size: 15px;
	}
	.support_menu a p{
		font-size: 15px;
	}
	.header_box.flex{
		justify-content:center
	}
	.logo_ttl{
		width:fit-content
	}
	.logo_top{
		justify-content:center
	}
	.logo_bottom,.logo_unei,.logo_ttl .mgt1{
		text-align:center
	}

	.toubu_map{
		width:100%
	}


}
@media(max-width:950px){
	.support_menu a{
		width: 49% ;
	}
	.support_menu a:nth-child(3){
		margin: 2% 2% 0 0;
	}
	.support_menu a:nth-child(2n){
		margin: 2% 0 0;
	}
	.support_menu a{
		padding: 2%;
	}
	.site_map_menu .flex li{
		width: 50%;
	}
}
@media(max-width:800px){
	/*背景*/

	.hero_img{
		background-position: left 22% top 90%;
		background-size:auto ;
		background:url(../img/top_sp.jpg);
	}
	.anshin_sp{
		width: 60%;
		position: absolute;
		top: unset;
		bottom: 25%;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	.intro_img,
	.intro_txt{
		width: 100%;
	}
	.flow_box{
		width: 100%;
		flex: auto;
	}
	.flow_box:nth-child(1), .flow_box:nth-child(2){
		margin: 0 0 2em 0;
	}
	.flow_box:nth-child(1)::after, .flow_box:nth-child(2)::after{
		display: none;
	}
}
@media(max-width:768px){
	.cms_flex{
		flex-wrap: wrap-reverse;
	}
	.side_menu,
	.main_contant{
		width: 100%;
	}
	.main_contant{
		margin: 0;
	}
	.side_menu{
		margin: 10% auto 0;
	}
	.contants_ttl{
		font-size: 150%;
	}
	.contants_ttl::before,
	.contants_ttl::after{
		height: 15px;
		background: radial-gradient(circle farthest-side, var(--basecolor), var(--basecolor) 35%, transparent 43%, transparent);
		background-size: 10px;
	}
	.block_ttl{
		font-size: 140%;
	}
	.img_wraparound_block figure{
		width: 50%;
	}
	.bread_list{
		font-size:80%
	}

	

}
@media(max-width:560px){
	/*header*/
	.head_txt{
		text-align:left;
		padding:5px 0 5px 5px
		
	}
	.head_txt p{
		font-size: 13px;
	}
	.logo_ttl{
		margin: 0 0 0 10px;
	}
	.logo_top.flex{
		justify-content: flex-start;
	}
	.logo_bottom,.logo_unei{
		text-align: left;
	}
	.logo_top p{
		font-size:90%;
		padding: 1px 15px;
	}

	.logo_ttl .mgt1{
		text-align: left;
		font-size: 13px;
	}
	.logo_unei img{
		width:55%
	}


	.flow_box div{
		text-align:center
	}
	.flow_box div img{
		width:80%
	}

	/**/
	.hero_img{
		background-position: left 52% top 30%;
		height: 450px;
		background-size: 180%;
	}
	.anshin_sp{
		width: 90%;
		bottom: 17%;
	}
	.soudan_banner{
		width: 100%;
	}

	/*title*/
	.logo_ttl h2{
		font-size: 30px;
	}
	.header_contact_link,
	.header_contact_txt{
		width: 100%;
	}
	
	/**/
	.intro_img{
		margin: 10px 0 0;
	}
	.intro_ttl{
		line-height:1.4
	}
	.intro_txt h2{
		font-size:110%
	}
	/**/
	.support_menu a{
		padding: 0;
	}
	.support_menu_ttl.outline_green{
		font-size: 20px;
	}
	.support_menu_ttl::after{
		height: 53px;
	}
	.support_menu a:nth-child(1) h2, .support_menu a:nth-child(3) h2{
		height: auto;
	}
	.support_menu.flex h2{
		font-size: calc(7.4vw - 13px);
	}
	.support_menu.flex h2 .small{
		font-size: 10px;
	}

	/*サイトマップ*/
	.site_map_menu a{
		font-size: 13px;
	}


	.toubu_map{
		width: 100%;
		padding: 0;
	}

	.form_box{
		width:90%
	}
	.co_table{
		flex-wrap:wrap
	}
	.co_table dt{
		margin:0 0 0 10px;
		width:100%;
	}
	.co_table dd{
		width:100%
	}

}


