@charset "utf-8";

/**{
  box-sizing:border-box;
}*/

body{
	margin:0;
  	color: #595757;
	font-size: 0.8vw;
	font-family:sans-serif;
}

@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;}
}
@media(max-width:768px){
	.none_tb{display: none !important;}
}
@media(min-width:768px){
	.show_tb{display: none !important;}
}
/*変数*/
:root{
	--basecolor: #3055a4 ; /*基本色*/
	--sabcolor: #c4002d; /*サブカラー*/
}

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


p{
	margin:0
}

h3{
	margin:0;
}

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

}


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(--basecolor) 0%);
}
.marker_line_oreng{
	background: linear-gradient(transparent 50%, #ffd95d9f 50%);
}

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

/*--------------------------------
       ここまでtemplate
---------------------------------*/
/*site_header*/
.site_header{
	max-width: 70.9vw;
	width: 95%;
	margin: 0vw auto;
}
.site_header.flex{
	align-items: center;
	justify-content: space-between;
	padding:1vw 3vw;
}
.fixed{
	z-index: 40;
	background: #fff;
	border-radius: 0 0 0.3vw 0.3vw;
	box-shadow: 0px 0px 5px #ccc;
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}
#dummy_block,#dummy_block_sp{
	height: 8vw;
}
.hide{
	display: none;
}
.site_header{
	text-align: center;
}
.menu_soudan{
	background: #3055a4;
	color: #fff;
	padding:  0.8vw 1.5vw;
	border-radius: 8px;
	letter-spacing: 0.1vw;
}
.menu_entry{
	background: #c4002d;
	color: #fff;
	padding:  0.8vw 1.5vw;
	border-radius: 8px;
	letter-spacing: 0.1vw;
}
.logo img{
	height: 5.7vw;
}
.main_menu img{
	height: 0.8vw;
	width: auto;
}
.main_menu{
	border-bottom: 0.3vw solid #95b9de;
	padding:0 0 0px 0;
	display: inline-block;
}
.main_menu p{
	margin: 5px 10px;
	font-weight: 700;
	font-size: 120%;
}
.instagram img,
.youtube img{
	height: 2vw;
	width: auto;
}
.site_header .honyaku{
	text-align: right;
}

.navi{
	display: flex;
	list-style: none;
	padding: 0;
}
.navi li{
	position:relative
}
.navi .menu_box02{
	margin:0 1vw
}
.navi >li>ul{
	display: none;
	text-align: left;
}
.navi >li:hover ul{
	z-index: 50;
	display: block;
	position: absolute;
	padding: 20%;
	margin: 0px 0 0;
	top:calc( 10px + 2.75vw );
	left: -0px;
	list-style-type: none;
	background-color: #efefefe0;
}
.sub_menu{
	position:relative;
	display:inline-block;
	font-size: 110%;
	font-weight:bold;
}
.sub_menu:nth-child(2n-1){

}
.sub_hukushi .sub_menu:nth-child(even){
	width:10.5vw;

}
.sub_hukushi .sub_menu:last-child{
	width:18vw
}
.sub_hukushi .sub_menu,
.sub_hoiku .sub_menu{
	margin:0.1vw 0 0;
}
.sub_hukushi .sub_menu::before,
.sub_hoiku .sub_menu::before{
	content:"●";
	font-size:70%;
	vertical-align:0.2em;
	letter-spacing:0.4em;
}
.sub_box_01 h3{
	display:flex;
	align-items:center
}
.sub_hukushi h3 span{
	display: inline-block;
    width: 0.3vw;
    height: 1.5vw;
    margin: 0 6px 0 0;
    background: #0054a6;
}
.sub_hoiku h3 span{
	display: inline-block;
    width: 0.3vw;
    height: 1.5vw;
    margin: 0 6px 0 0;
    background: #eb6d00;
}
.navi >li:hover .sub_box_01{
	width:20vw
}
.navi >li:hover .sub_box_02{
	width:10vw
}
.navi >li:hover .sub_box_03{
	width:6vw
}
.navi >li:hover .main_menu{
border-bottom: 0.3vw solid #3055a4;
}
.sub_hoiku .sub_menu,
.sub_torikumi .sub_menu{
	display:block
}
.sub_hoiku{
	margin:0.8vw auto 0
}
.sub_torikumi .sub_menu,
.sub_about .sub_menu{
	margin:0.3vw 0 0 0;
	padding:0 0 0 0.7vw;
}
.sub_torikumi .sub_menu::before{
	content:"";
	position:absolute;
	width:0.3vw;
	height:100%;
	background:#c4002d;
	top:0;
	left:0;
}
.sub_about .sub_menu::after{
	content:"";
	position:absolute;
	width:0.3vw;
	height:100%;
	background:#3055a4;
	top:0;
	left:0;
}


/*トップMessage*/
.msg_upper{
	max-width: 90vw;
	margin:40px auto 0;
	text-align:center;
	color:#d00e31;
	font-size:140%;
}
.msg_upper p{
	font-size:140%;
	font-weight:bold
}

  
/*-------文字サイズの変更------*/
ul#fontSize {
	zoom: 1; /*forIE6,7*/
	/*margin-bottom: 10px;*/
	/* margin-top: 10px; */
	/* margin-top: 19px; */
	display:block;
	float:right;
	font-size: 110%;
	text-align: right;
	padding: 0;
}
@media(max-width:992px){
	ul#fontSize {
        margin: 10px 0;
 }
}

ul#fontSize:after {
	content: "";
	display: block;
	clear: both; 
}
ul#fontSize li a{
	color:#FFF;
}

#fontSize .comment{
	background-color:#FFF;
}
#fontSize .comment:hover{
	background-color:#FFF;
}
ul#fontSize li {
	background-color: #009de5;
	padding: 0px 6px;
	margin-right: 5px;
	float: left;
	cursor: pointer;
	display: block;
}
ul#fontSize li:hover {
	background-color: #5dc4f3;
}
ul#fontSize li.active {
	background-color: #a2ddff;
}
ul#fontSize li.active:hover {
	background-color: #ceedff;
}


/*--------- --------*/
.contents_wrap{
	max-width: 70vw;
    margin: 0 auto;
}
.intro{
	position: relative;
	text-align: center;
	color: var(--sabcolor);
	margin:0 auto 30px
}
.link_btn{
	color: var(--sabcolor);
	display: inline-block;
	border: 1px solid;
	box-shadow: 0px 1px 1px;
	padding: 0.3vw 1vw 0.5vw;
	border-radius: 5px;
	margin: 1.5vw auto 3vw;
	font-size: 115%;
	font-weight: bold;
	transition: all 0.3s;
}
.link_btn span{
	position: relative;
	display: inline-block;
	width: 2vw;
	height: 0.2vw;
	margin: 8.5px 0 0 8px;
	border-radius: 9999px;
	background-color: var(--sabcolor);
	transition: all 0.3s;
	right: 0;
}
.link_btn span::before{
	content: "";
	position: absolute;
	top: calc(50% - 1.5px);
	right: 0;
	width: 0.8vw;
	height: 0.2vw;
	border-radius: 9999px;
	background-color: var(--sabcolor);
	transform: rotate(45deg);
	transform-origin: calc(100% - 1.5px) 50%;
	transition: all 0.3s;
}
.link_btn.blue{
	color: var(--basecolor);
}
.link_btn.blue span{
	background-color: var(--basecolor);
}
.link_btn.blue span::before{
	background-color: var(--basecolor);
}
.link_btn.orange{
	color: #e25a1f;
}
.link_btn.orange span{
	background-color: #e25a1f;
}
.link_btn.orange span::before{
	background-color: #e25a1f;
}
.link_btn:hover span{
	right: -5px;
}



/*back*/
section_box{
    position: relative;
	margin: 0 auto;
}
.section_box.light_blue{
	background: #d9eff5;
	padding: 2.8vw 0 0;
	position: relative;
	max-width: 100vw;
	overflow-x: hidden;
	z-index: 0;
}
#factory_list.light_blue,
#childcare_list.light_yellow{
	padding: 4vw 0 0;
}
.section_box.light_yellow{
	background: #f3f7d3;
	padding: 2.8vw 0 0;
	position: relative;
	max-width: 100vw;
	overflow-x: hidden;
}
{

}
.service_yellow{
	background: #f3f7d3;
	padding: 2.8vw 0 4vw;
	z-index: 0;
	margin: 0 0 5px 0;
}
.light_pink{
	background: #f9e5ea;
	padding: 2.8vw 0 0;
	position: relative;
	max-width: 100vw;
	overflow-x: hidden;
	border-bottom: 2px solid #f9e5ea;
}
.midashi_ttl img{
	height: 1.8vw;
}
.midashi_ttl h3{
	margin: 10px auto 20px;
	color: var(--basecolor);
	font-weight: normal;
	letter-spacing: 3px;
	font-size: 180%;
}
.back{
	position: relative;
	background: #fff;
	padding: 10px 0 40px 10px;
	z-index: 0;
	border-radius: 45px 0 0 0;
}
.back::after{
	content: "";
	position: absolute;
	top: 0;
	right: -30vw;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: -1;
}

/*news*/
.sankaku_1{
	position: absolute;
	overflow: hidden;
	right: -0px;
	z-index: 1;
	top: 150px;
	width: 11vw;
}
.sankaku_16{
	position: absolute;
	overflow: hidden;
	right: -0px;
	z-index: 1;
	top: 45%;
	width: 11vw;
}
.sankaku_17{
	position: absolute;
	overflow: hidden;
	right: -0px;
	z-index: 1;
	bottom: 150px;
	width: 11vw;
}
.sankaku_2{
	position: absolute;
	overflow: hidden;
	left: -100px;
	top: 80px;
	width: 16vw;
}
.sankaku_18{
	position: absolute;
	overflow: hidden;
	left: -100px;
	top: 45%;
	width: 16vw;
}
.sankaku_19{
	position: absolute;
	overflow: hidden;
	left: -100px;
	bottom: 150px;
	width: 16vw;
}
.sankaku_3{
	position: absolute;
	overflow: hidden;
	right: -0px;
	z-index: 1;
	top: 60px;
	width: 8vw;
}
.sankaku_20{
	position: absolute;
	overflow: hidden;
	right: -0px;
	z-index: 1;
	bottom: 74px;
	width: 8vw;
}
.sankaku_4{
	position: absolute;
	overflow: hidden;
	left: -0px;
	bottom: 80px;
	width: 8vw;
}
.sankaku_21{
	position: absolute;
	overflow: hidden;
	left: -0px;
	top: 80px;
	width: 8vw;
}
.news-blocks{
	margin-bottom: 15px;
}
.scroll {
    display: flex;
    flex-wrap: wrap;
}
.scroll > div{
	flex: 1;
	font-size:85%;
	border: 1px solid #fff;
	line-height:1.5
}
.scroll div:nth-child(2){
	border-radius:30px 0 0 0
}
.scroll div:nth-child(2) img{
	border-radius:30px 0 0 0
}
.col_houjin{
	background: #cbe9fb;
}
.col_marine{background:#fde8bf;}
.col_minato{background:#fcfac5;}
.col_marinekodomoen{background:#fde8bf;}
.col_minatohoikuen{background:#fcfac5;}
.col_porthoikuen{background:#ffe2e8;}

.news-blocks img{
    display: block;
    height:15vw;
    /* max-height: 170px; */
    width:100%;
    object-fit: cover;
}
.place{
	text-align:center;
	margin:7px 8px 3px;
	padding:0;
	background:#fff;
	font-size: 145%;
}
.hiduke{
	margin: 0;
	font-weight: bold;
	text-align:center;
	font-size: 145%;
}
.daimoku{
	margin: 0;
	padding:5px 5px 15px;
	text-align:center;
	line-height:1.4;
	font-size: 160%;
}
@media(max-width:769px){
	.news-blocks{
		position:relative;
		overflow-x:scroll;
		padding-right:20px;
		border-radius:2vw 0 0 0;
	}
	.scroll{
		width:760px;
	}
	.news-blocks img{
	    height: 35vw;
	}
	.daimoku{
		padding: 0px 5px 15px;
		font-size:135%;
	}
	.hiduke{
		font-size: 130%;
	}
}

/* お知らせのバックナンバー */
.scroll.backnumber > div{
	min-width:24.5%
}
@media(max-width:768px){
	.news_blocks.backnumber{
		overflow-x:auto;
	}
	.scroll.backnumber{
		width:98.5%;
	}
	.scroll.backnumber > div{
		min-width:49%
	}
}



/*--三原の風景--*/
.section_box{
	position: relative;
}
.inner{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	clip-path: inset(0);
}
.bg{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-image: url('../img2025/mihara_landscape.jpg');
	background-size: cover;
	background-position: center;
	z-index: -4;
}
.mihara_landscape{
	position: relative;
	width: 100%;
	height: 50vw;
	z-index: 1;

}
.sankaku_5{
	position: absolute;
	top: 0;
	right: 0px;
	width: 25vw;
}

/*--サービスをさがす--*/
.service_text p{
	line-height: 2em;
	letter-spacing: 1.5px;
	font-size: 110%;
	font-weight: 900;
}

.service_wrap{
	padding: 26vw 0 0 0;
}

.service_box{
	position: relative;
	width: 40vw;
	margin: 0 2% 0;
	border-radius: 10px 10px 0 0;
	border: 1px solid #a6c5db;
}
.service_box::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 10px 10px 0 0;
	border: 1px solid #a6c5db;
	top: 5px;
	left: 5px;
	z-index: -1;
}
.service_box.yellow::after{
	border: 1px solid #f0be86;
}
.service_box.yellow{
	border: 1px solid #f0be86;
}
.service_ttl{
	text-align: center;
	background: #c0e8f9;
	border-radius: 10px 10px 0 0;
	padding: 10px 0;
}
.service_ttl.yellow{
	background: #f3d26e;
}
.service_ttl h2{
	color: var(--basecolor);
	margin: 0;
	font-size: 200%;
	letter-spacing: 0.1em;
}
.service_ttl h2 span{
	display: inline-block;
	margin: 0 -0.2em;
}
.service_ttl.yellow h2{
	color: #e25a1f;
}
.service_ttl p{
	font-size: 120%;
	font-weight: bold;
	letter-spacing: 0.3em;
}
.service_box_link{
	padding: 2vw 4vw;
	background: url(../img2025/blue_back.jpg);
}
.service_box_link.orange{
	background: url(../img2025/yellow_back.jpg);
}

.service_imag{
	position: absolute;
	width: 76vw;
    top:70px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.sankaku_6{
	position: absolute;
	top: 100px;
	right: 0;
	height: 15vw;
}
.sankaku_7{
	position: absolute;
	bottom: 150px;
	left: 0;
	height: 20vw;
}


/*--ボタン--*/
/* ボタン共通設定 */
.btn {
	/*影の基点とするためrelativeを指定*/
	position: relative;
	/*ボタンの形状*/
	width: 100%;
	max-width:600px;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	background: #0001;
	border-radius: 5px;
	font-size: 120%;
	outline: none;
	/*アニメーションの指定*/
	transition: all 0.2s ease;
}


/*hoverをした後のボタンの形状*/
.btn:hover {
	border-color: transparent;
}


/*== 右下に押し込まれる（立体が平面に） */

/*影の設定*/
.pushright:before {
	content: "";
	/*絶対配置で影の位置を決める*/
	position: absolute;
	z-index: 0;
	top: 4px;
	left: 4px;
	/*影の形状*/
	width: 100%;
	height: 3.3vw;
	border-radius: 5px;
	border: 1px solid var(--basecolor);
}
.pushright.orange:before{
	border: 1px solid #e25a1f;
}

/*hoverの際にX・Y軸に4pxずらす*/
.pushright:hover span {
	background-color: #fff;
	color: var(--basecolor);
	transform: translate(5px, 5px);
}
.pushright.orange:hover span {
	color: #f0e089;
	background: #507eb9;

}

/*ボタン色が変わる*/
.colorchange {
	margin: 2% 0%;
	text-align: center;
	width: 100%;
	height: 60px;
}

.colorchange span {
	text-align: left;
	position: relative;
	z-index: 2;
	/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	/*テキストの形状*/
	display: block;
	padding: 0px 30px;
	height: 3.3vw;
	border-radius: 5px;
	background: #507eb9;
	color: #fff;
	font-weight: bold;
	display: flex;
	align-items: center;

	/*アニメーションの指定*/
	transition: all 0.3s ease;
}
.colorchange.orange span {
	background: #f0e089;
	color: #507eb9;
}

.colorchange span::before {
	content: '';
	/*絶対配置で矢印の位置を決める*/
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	/*矢印の形状*/
	width: 18px;
	height: 18px;
	background: url(../img/link_arrow_blue.png) no-repeat;
	background-size:contain;

}
.colorchange.orange span::before {
	background: url(../img/link_arrow_orange.png) no-repeat;
	background-size:contain;
}


/*介護施設のご案内*/
.shisetsu_back {
    position: relative;
    background: #fff;
    padding: 10px 0 40px 30px;
    z-index: 0;
    border-radius: 45px 0 0 0;
    z-index: 0;
}
.shisetsu_back::after{
	content: "";
	position: absolute;
	top: 0;
	right: -30vw;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: -2;
}
.shisetsu_wrap.flex,
.hoiku_wrap.flex,
.activity_wrap.flex{
	flex-wrap: wrap;
}
{
	flex-wrap: wrap;
}
.shisetsu_box{
	position: relative;
	width: 30%;
	margin: 2em 3em 0 0;
}
.shisetsu_box:nth-child(3n){
	margin: 2em 0 0% 0;
}

.shisetsu_box:nth-child(3n+1)::after,
.shisetsu_box:nth-child(3n+2)::after{
	content: "";
	position: absolute;
	top: 0;
	right: -1.5em;
	width: 2px;
	height: 100%;
	background: linear-gradient(to bottom, var(--basecolor) 2px, transparent 2px);
	background-size: 2px 10px;
	background-repeat: repeat-y;
}
.shisetsu_box:nth-child(n+4):nth-child(-n+9)::before{
	content: "";
	position: absolute;
	top: -1em;
	left: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(to right, var(--basecolor) 2px, transparent 2px);
	background-size: 8px 2px;
	background-repeat: repeat-x;
}
.hoiku_wrap .shisetsu_box:nth-child(3n+1)::after,
.hoiku_wrap  .shisetsu_box:nth-child(3n+2)::after{
	background: linear-gradient(to bottom, #e25a1f 2px, transparent 2px);
	background-size: 2px 10px;
	background-repeat: repeat-y;
}
.hoiku_wrap .shisetsu_box:nth-child(n+4):nth-child(-n+6)::before{
	background: linear-gradient(to right, #e25a1f 2px, transparent 2px);
	background-size: 8px 2px;
	background-repeat: repeat-x;
}
.activity_wrap .shisetsu_box:nth-child(3n+1)::after,
.activity_wrap .shisetsu_box:nth-child(3n+2)::after{
	background: linear-gradient(to bottom, #c4002d 2px, transparent 2px);
	background-size: 2px 10px;
	background-repeat: repeat-y;
}
.activity_wrap .shisetsu_box:nth-child(n+4):nth-child(-n+6)::before{
	background: linear-gradient(to right, #c4002d 2px, transparent 2px);
	background-size: 8px 2px;
	background-repeat: repeat-x;
}
.shisetsu_box.flex img{
	max-height: 19vw;

}
.shisetsu_box.flex{
	display: flex;
	align-items: center;
	justify-content: center;
}
.activity_wrap .shisetsu_box.flex{
	flex-wrap: wrap;
	align-items: baseline;
}
.activity_wrap .shisetsu_box.flex img{
	max-height: 17vw;
	margin: 20px auto 0;
}
.shisetsu_box:nth-child(n+2) img{
	border-radius: 15px;
	margin: 20px auto;
	height: 13vw;
}
.hoiku_wrap .shisetsu_box:nth-child(6) img{
	border-radius: 0;
	height: 20vw;
}
.factory_name {
	font-size: 125%;
	font-weight:bold;
	align-items:center
}
.factory_name .small{
	font-size: auto;
}
.factory_name .factory_color{
	display: inline-block;
	width:0.5vw;
	height:2.2vw;
	margin: 0 2vw 0 0;
	background:#4eac59;
}
.shisetsu_box:nth-child(3) .factory_color{
	background:#4c70bc;
}
.shisetsu_box:nth-child(4) .factory_color{
	background:#00406e;
}

.shisetsu_box:nth-child(5) .factory_color{
	background:#4cade9;
}
.shisetsu_box:nth-child(6) .factory_color{
	background:#f6c043;
}
.shisetsu_box:nth-child(7) .factory_color{
	background:#ed7098;
}

.shisetsu_box:nth-child(8) .factory_color{
	background:#7a3f19;
}
.shisetsu_box:nth-child(9) .factory_color{
	background:#b5b5b6;
}

.hoiku_wrap .shisetsu_box:nth-child(2) .factory_color{
	background:#0054a6;
}
.hoiku_wrap .shisetsu_box:nth-child(3) .factory_color{
	background:#0091d7;
}
.hoiku_wrap .shisetsu_box:nth-child(4) .factory_color{
	background:#008b94;
}
.hoiku_wrap .shisetsu_box:nth-child(5) .factory_color{
	background:#0054a6;
}
.activity_wrap .shisetsu_box .factory_color{
	background: #c4002d;
}
.activity_wrap .shisetsu_box p{
	margin: 1vw auto 0;
	font-size: 121%;
}
.shisetsu_box ul {
	list-style-type: none; /*点を非表示*/
	margin: 0.5em 0 ;
	padding: 0 0 0 0em;
	font-weight: bold;
	font-size:125%
}
.shisetsu_box ul li{
	position: relative; /*基準位置*/
	padding: 0 0 0 1.0em;
}
.shisetsu_box ul li:before {
    border-radius: 50%; /*丸くする*/
    width: 7px; /*点の幅*/
    height: 7px; /*点の高さ*/
    display: block;
    position: absolute; /*絶対配置*/
    left: 0; /*点の位置*/
    top: 0.5em; /*点の位置*/
    content: "";
}
.shisetsu_box ul .blue:before{
	background: #0054a6; 
}
.shisetsu_box ul .orange:before{
	background: #f8952d; 
}

.activity_wrap .shisetsu_box .tac{
	position:absolute;
	bottom: 0.6vw;
	left: 50%;
	width:100%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}
.activity_wrap .shisetsu_box{
	padding:0 0 4vw 0
}

.shisetsu_box .link_btn{
	margin:0;
}

.sankaku_8{
	position: absolute;
	left: 0;
	top: 20%;
	z-index: 1;
	width: 16.5vw;
}

.sankaku_9{
	position: absolute;
	right: 0;
	bottom: 10%;
	width: 13vw;
	z-index: 2;
}
.sankaku_10{
	position: absolute;
	left: 0;
	top: 10%;
	z-index: 1;
	width: 13vw;
}
.sankaku_11{
	position: absolute;
	right: 0;
	bottom: 9%;
	width: 10vw;
	z-index: 2;
}
.sankaku_12{
	position: absolute;
	left: 0;
	top: 10%;
	z-index: 1;
	width: 10vw;
}
.sankaku_13{
	position: absolute;
	right: 0;
	bottom: 10%;
	width: 15vw;
	z-index: 2;
}
/*------------- footer -------------*/
footer{
	margin: 0px 0 0;

}
.copyright {
    background: #d00e31;
    color: #fff;
    text-align: center;
    padding: 30px 0;
}
.copyright.hikau{
	font-size:110%
}
.footer_wrap{
	display: flex;
	margin: 5vw auto;
	justify-content: space-between;
}
.footer_logo{
	color: #000;
	width:50%
}
.footer_logo p{
	font-size: 140%;
	font-weight: bold;
	margin: 0 0 5px;
}
.footer_banner{
	width: 50%;
	text-align:right;
}
.footer_banner img{
	width: auto;
	height: 4.5vw;
}
.footer_banner a{
	display: inline-block;
	margin: 0 0 20px 0;
}
.footer_logo img{
    width: 21.5vw;
    margin: 0 0 20px 0;
}
.nami_footer{
	max-width: 100vw;

}
.footer_logo p{

}
.footer_banner{

}


.summary_back{
	position: relative;
    background: #fff;
    padding: 40px 0 40px 40px;
    z-index: 0;
    border-radius: 45px 0 0 0;
	font-size:120%;
	line-height:1.6;
	min-height:20vw
}
@media(max-width:1400px){
	.summary_back{
		font-size:130%;
	}
}
@media(max-width:1200px){
	.summary_back{
		font-size:140%;
	}
}
@media(max-width:1000px){
	.summary_back{
		font-size:170%;
	}
}
@media(max-width:768px){
	.summary_back{
		font-size:118%;
	}
}
.summary_back::after {
    content: "";
    position: absolute;
    top: 0;
    right: -30vw;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: -2;
}
.rei{
	height:500px
}
.table_wrap table{
	 border-collapse:  collapse;
	 width: 100%;
}
.table_wrap table th,
.table_wrap table td{
	border: solid 1px;  /* 枠線指定 */
	padding: 10px;      /* 余白指定 */
}
.table_wrap table th{
	width:10%;
	text-align:left
}

.gaiyo_wrap{
	margin:30px auto 0;
	border-top:1px solid #ccc;
	padding:30px 0 0 0;
}
.midasi11 {
	padding-top:15px;
	margin-top:-15px;
	position: relative;
	padding-bottom: .4em;
	border-bottom: 5px solid #e6e6e6;
	font-size: 155%;
	margin-bottom: 15px;
	letter-spacing: 1.4px;
}
.midasi11::after {
	position: absolute;
	bottom: -5px;
	left: 0;
	z-index: 2;
	content: '';
	width: 20%;
	height: 5px;
	background-color: #5c97db;
}
.gaiyo_box{
	margin-bottom:40px
}

#information{
	scroll-margin-top: 8vw; /* ヘッダーの高さ分 */
}
@media(max-width:768px){
	#information{
		scroll-margin-top: 15vw; /* ヘッダーの高さ分 */
	}
}

.pdflink{
	font-size:110%
}
.border_bottom.light_blue{
	border-bottom:2px solid #d9eff5;
}
.greeting_txt{
	width:50%;
	line-height:1.7
}
.greeting_txt p{
	margin:0 0 20px 0;
}
.greeting_img{
	width:46%;
	margin:0 0 0 4%;
	text-align:center;
}
.greeting_img img{
	width:80%;
}

/*--history--*/
.histor_wrap table{
	border-collapse: collapse;
	width: 100%;
}
.histor_wrap table th,
.histor_wrap table td{
	border: 1px solid;
	padding:10px
}
.histor_wrap table th{
	background-color: #F4F4F4;
}

/*--アクセス--*/
.access_wrap a{
	scroll-margin-top:8.2vw;
}
@media(max-width:768px){
	.access_wrap a{
		scroll-margin-top:15vw;
	}
}
.access_link_btn.flex{
	flex-wrap:wrap
}
.access_link_btn a{
	display:inline-block;
	margin:0 2% 10px 0px;
    width: 32%;
}
.access_link_btn a:nth-child(3n){
	margin:0 0 10px 0;
}
.mainiro {
    color: #2b6bb5;
}
.akusesuwaku {
    background-color: #f1f5f8;
    color: #333333;
    font-size: 14px;
    border: solid 1px #cccccc;
    font-weight: bold;
    border-radius: 4px;
    padding: 10px 10px;
}
.akusesuwaku.hoiku{
	background:#fffff3
}
.akusesuwaku_title {
    background-color: #e1f4ff;
    color: #2b6bb5;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 15px;
    padding: 10px 15px;
}
.akusesuwaku_title.hoiku{
	background: #fff2cc;
}

.access_txt{
	width: 60%;
}
.access_map{
	width:40%
}
.access_box .flex{
	margin:0 0 40px 0
}
.light_yellow.border_bottom{
	border-bottom:2px solid #f3f7d3;
}

/*--魅力ある福祉・介護の職場宣言ひろしま--*/
.cert_txt p{
	margin: 0 0 20px 0;
}

/*--サンブライト--*/
.sanb_intro{
	background:#deebf7;
	padding: 10px;
	margin:10px auto
}
.sanb_intro h3{
	margin:10px 0 10px 0;
	color:#0070c0;
	font-weight:bold
}
.san_ttl_img img{
	height:50px
}
.sanb_txt dl{
	display:flex;
	background-image: linear-gradient(to right, #000 3px, transparent 3px);
    background-size: 15px 3px;
    background-position: 0 12px;
    background-repeat: repeat-x;
    margin: 0 auto 0%;
    font-size: 120%;
    font-weight: bold;
    align-items: baseline;
}
.sanb_txt dd{
	width:15%;
	margin: 0;
}
.sanb_txt dd span{
	background: #fff;
    padding: 0 10px 0 0;
}
.sanb_txt dt{
	background: #fff;
	width:85%;
	padding:0 0 0 10px
}
.sanb_txt .red{
	color:red
}
.sanb_contents.flex{
	display:flex;
	flex-wrap:wrap
}
.sanb_box{
	width: 47.5%;
	margin:2% 0% 0 0;
	display:flex;

}
.sanb_box:nth-child(2n){
	margin:2% 0 0 5%
}
.sanb_box .sanb_box_text{
	width:60%
}
.sanb_box .sanb_box_text h3{
	margin: 5px auto ;
	border-bottom:2px solid;
	font-size:20px;
	padding:0 0 5px 0
}
.sanb_box .sanb_box_text p{
	line-height:1
}
.sanb_box:nth-child(1) .sanb_box_text h3{
	border-bottom:2px solid #727272
}
.sanb_box:nth-child(2) .sanb_box_text h3{
	border-bottom:2px solid #bd5108
}
.sanb_box:nth-child(3) .sanb_box_text h3{
	border-bottom:2px solid #d29402
}
.sanb_box:nth-child(4) .sanb_box_text h3{
	border-bottom:2px solid #1e4998
}
.sanb_box:nth-child(5) .sanb_box_text h3{
	border-bottom:2px solid #2e6ca5
}
.sanb_box:nth-child(6) .sanb_box_text h3{
	border-bottom:2px solid #4b8423
}
.sanb_box .sanb_box_img{
	width:40%;
	padding:0 10px 0 0
}
.sanb_txt iframe{
	width:100%;
	height:250px
}
.route{
	display: flex;
	font-size: 130%;
}
.route p img{
	height:25px;
	width: auto;
}
.san_photo.flex{
	display:flex;
	flex-wrap:wrap
}
.san_photo.flex div{
	width:32%;
	margin:2% 0 0 0
}

.san_photo.flex div:is(:nth-child(2),:nth-child(5)){
	margin:2% 2% 0 ;
}


/*--sdgs--*/
.sdgs_list h5{
	font-size: 150%;
}
.sdgs_list p{
	display:flex;
	align-items:center;
	background: radial-gradient(circle farthest-side, #0061af, #0061af 30%, transparent 30%, transparent);
	background-size: 12px 4px;
	background-repeat: repeat-x;
	background-position: left bottom;
	padding: 10px 0 15px;
}

.sdgs_list .blue {
    color: #0061af;
}
.sdgs_list h5{
	font-size: 180%;
	width:fit-content;
	margin:30px auto;
}
.sdgs_list p span:nth-child(1){
	width: 120px;
}
.sdgs_list p span:nth-child(2){
	width:calc(100% - 120px);
	padding-left:10px;
	font-size: 112%;
}
.sdgs_list .tac{
	margin:20px auto 0;
}.sdgs_list  .flex{
	margin:30px auto 0;
}
.sdgs_logo_img{
	width:47%;
	margin:0 3% 0 0
}
.sdgs_txt{
	width:50%;
	font-size: 112%;
}
.sdgs_txt h3{
	color: #0061af;
	margin:0 0 10px 0;
	text-align:center
}

/*地域支援活動*/
.blue_intro{
	padding:15px 5px;
	color:#0061af;
	font-weight:bold;
	width:fit-content;
	margin-left:auto;
	margin-right:auto;
	font-size: 180%;
}
@media(max-width:769px){
	.sdgs_list h5{
		font-size: 125%;
	}
	.blue_intro, .blue{
		font-size: 110%;
	}
	.sdgs_list p{
		font-size:93%
	}
}

.chiiki_sdgs_list{
	max-width: 700px;
	margin:0 auto;
}
.chiiki_sdgs_list p{
	display:flex;
	align-items:center;
	background: radial-gradient(circle farthest-side, #0061af, #0061af 30%, transparent 30%, transparent);
	background-size: 12px 4px;
	background-repeat: repeat-x;
	background-position: left bottom;
	padding: 10px 0 15px;
}
.chiiki_sdgs_list p:last-child{
	background:none;
}
.chiiki_sdgs_list p span:nth-child(1){
	width:50px;
}
.chiiki_sdgs_list p span:nth-child(2){
	width:calc(100% - 50px);
	font-size:110%;
	padding-left:12px;
}
.chiiki_sdgs_list p .blue{
	color:#0061af;
	letter-spacing:0.1em;
	font-size:150%;
}
@media(max-width:769px){
	.blue_intro{
		font-size:125%;
	}
	.chiiki_sdgs_list p .blue{
		font-size:115%;	
	}
}



/*--職場づくり--*/

/*見出しで線を重ねる*/
.midasi11 {
	padding-top: 15px;
	margin-top: 0px;
	position: relative;
	border-bottom: 10px solid #e6e6e6;
	margin-bottom: 15px;
	letter-spacing: 1.4px;

}

.midasi11::after {
	position: absolute;
	bottom: -10px;
	left: 0;
	z-index: 1;
	content: '';
	width: 20%;
	height: 10px;
	background-color: #5c97db;
}


.midasi11 p {
	font-weight: bold;
	font-size: 130%;
	padding-bottom: 4px;
}

.midasi11.red {
	color: #d1223e;
	border-bottom: 10px solid #fff8d2;
}

.midasi11.red::after {
	background-color: #d1223e;
}

.soykuba_wrap.red{
	background: #d1223e;
	padding: 60px 20px;
	margin-top:80px;
	position: relative;
}
.soykuba_wrap.red::after{
	content: "";
	position: absolute;
	right: 0;
	top: -99px;
	left: 0;
	width: 100%;
	height: 100px;
	margin: auto;
	background: #d1223e;
	clip-path: ellipse(50% 50% at 50% 100%);
}
.syokuba_midashi {
	position: relative;
	margin: 0 0 20px;
}

.syokuba_midashi p {
	margin: 0 auto;
	width: fit-content;
	background: #fff;
	color: #d1223e;
	padding: 8px 30px;
	border-radius: 30px;
	z-index: 1;
	position: relative;

}

.syokuba_midashi::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	background: #fff;
	z-index: ;
}

.syokuba_txt {
	text-align: center;
	color: #fff;
	margin-bottom: 30px;
}

.syokuba_txt .yellow {
	color: yellow;
}

.syokuba_point {
	width: 80%;
}
.flex_wrap {
    display: flex;
    flex-wrap: wrap;
}

.syokuba_point p {
	background: #fff;
	width: 48%;
	margin: 0% 2% 2% 0;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 5px;
}

.syokuba_point p:nth-child(n + 5) {
	margin: 0 2% 0 0;
}

.syokuba_platinum {
	width: 20%;
	background: #fff;
	text-align: center;
	padding: 1%;
	border-radius: 5px;
}

.syokuba_platinum h2 {
	margin: 0;
	font-size: 0.9em;
	line-height: 1em;
	color: #d1223e;
}

.syokuba_platinum img {
	width: 50%;
	margin: 15px 0;
}

.syokuba_platinum p {
	font-size: 0.8em;
}

.gyoto_maru {
	color: #0061af;
	position: relative;
	margin: 8px 0 3px 1.5em;
	font-size: 130%;
}

.gyoto_maru::before {
	content: "●";
	position: absolute;
	color: #ff9100;
	left: -1.5em;

}

.gyoto_maru span{
	color: #555;
}

.sage {
	padding-left: 1.5em;
}
.hukuri{
	align-items:center
}
.hukuri_txt{
	width: 50%;
}
.hukuri_img{
	width: 50%;
}

.iterview_kugiri {
	margin: 20px 0;
	position: relative;
	z-index: 0;
}

.iterview_kugiri span {
	display: inline-block;
	width: 50%;
	background: #fff;
	border: 1px solid #0061af;
	border-radius: 25px;
	text-align: center;
	color: #0061af;
	padding: 5px;

}

.iterview_kugiri::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 100%;
	height: 1px;
	border-bottom: 1px solid #0061af;
	z-index: -1;
}

.iterview_kugiri.syokuba{
	margin: 30px 0 0;
}


/*--link--*/
.links_wrap{
    display:flex;
    flex-wrap:wrap;
}
.links_wrap div{
	text-align:center;
	width:48%;
	border:1px solid #ccc;
	margin:20px 3% 0 0;
}
.links_wrap div:nth-child(2n){
	margin:20px 0 0 0 ;
}
.links_wrap div img{
	max-width: 80%;
}
.links_wrap div h3{
	font-size:110%;
	font-weight:bold;
}

/*--contact--*/
.contact_wrap{
	font-size: 115%;
}

.contact_wrap *{
	box-sizing:border-box !important;
}
.c_mail_tel_deco span{
	background-color: #beebff;
	padding: 5px 10px;
	margin-bottom: 5px;
	display: inline-block;
}
.box_alert {
    border: 1px solid #d00;
    padding: 5px 10px;
    line-height: 1.4;
    color: #d00;
    margin: 20px 0;
}

.label-danger {
    background-color: #d9534f;
}
.label {
    display: inline;
    padding: .1em .6em .15em;
    font-size: 68%;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}
.form-group {
    margin-bottom: 15px;
}
.form-control {
    display: block;
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -webkit-transition: border-color 
ease-in-out .15s, -webkit-box-shadow 
ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color 
ease-in-out .15s, box-shadow 
ease-in-out .15s;
}

/*--------------SP--------------■■■■■■■■■■■*/
@media(max-width:1100px){



	/*-------- contact page ----------*/



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

	/*menu*/
	.site_header{
		max-width: 73vw;
	}
	.service_wrap.flex{
		flex-wrap:nowrap;
	}
	.service_box_link{
		padding:2vw 2vw;
	}
	.colorchange{
		height:auto;
	}
	.access_link_btn a{
		width: 49%;
	}
	.access_link_btn a:nth-child(3n){
		margin:0 2% 10px 0
	}
	.access_link_btn a:nth-child(2n){
		margin:0 0% 10px 0
	}

	/*--職場づくり--*/
	.soykuba_wrap.red{
		padding: 0px 0 0;
        margin-top: 60px;
	}
	.syokuba_point{
		width: 100%;
	}
	.syokuba_point p{
		margin: 0 5% 4%;
        width: 90%;
		padding: 10px;
	}
	.syokuba_point p:nth-child(n + 5){
		margin: 0 5% 4%;
	}
	.syokuba_midashi::after {
		content: none;
	}
	.hukuri_txt{
		margin:0 0 20px
	}
	.hukuri_txt,.hukuri_img{
		width:100%
	}

}

@media(max-width:768px){
	body{
		font-size: 2vw;
	}
	.contents_wrap{
		max-width:80vw;
	}
	.colorchange span,
	.pushright:before{
		height: 12vw;
	}
	.service_box_link{
		padding: 4vw 5vw;
	}
	.colorchange{
		margin: 3% 0;
	}
	.sp_memu{
		display: flex;
		align-items:flex-end;
		justify-content: space-between;
		padding: 1vw 3vw;
	}
	.sp_memu .sp_logo{
		width:40%
	}
	.sp_memu .sp_saiuo{
		/* width:50%; */
		display:flex
	}
	.fixed{
		width:100%
	}
	.openbtn{
		
	}
	.menu_soudan{
		display:block;
		text-align:center;
		padding:  1.3vw 0.5vw;
		line-height:1.2;
	}
	.menu_entry{
		display:block;
		text-align:center;
		padding:  1.3vw 1.5vw;
		line-height:1.2;
		margin: 0 2vw;
	}
		
	/*--sp-btn--*/
	.openbtn{
		z-index: 9999;/*ボタンを最前面に*/
		cursor: pointer;
		position:relative;
		width:7.5vw;
	}
		
	/*×に変化*/	
	.openbtn span{
		position:absolute;
	    display: inline-block;
	    transition: all .4s;
	    left: 14px;
	    height: 3px;
	    border-radius: 2px;
		background-color: #333;
	  	width: 7.5vw;
	  }
	
	.openbtn span:nth-of-type(1) {
		top:0.3vw;
		left:0;
	}
	
	.openbtn span:nth-of-type(2) {
		top:2.3vw;
		left:0;
	}
	
	.openbtn span:nth-of-type(3) {
		top:4.4vw;
				left:0;
	}
	.openbtn p{
		position: absolute;
		bottom:0px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		font-size:1.6vw;
		letter-spacing:0;
		color:#333;
		width: max-content;
	}
	#g-nav-list img{
		height:4vw;
		width:auto;
	}
	#g-nav-list .sp_menu_logo img{
		height:4.5vw;
		width:auto;
	}
	#g-nav-list{
		padding:5vw;
	}
	.sp_menu_logo{
		margin:0vw 0 5vw;
	}
	#g-nav-list .sub_hukushi .sub_menu:nth-child(even){
		width:40vw;
	}
	#g-nav-list .sub_hukushi .sub_menu:last-child{
		width:100%
	}
	#g-nav-list .sub_box_03 .sub_menu{
		display:block
	}
	#g-nav-list .sub_box_02 .sub_menu,
	#g-nav-list .sub_box_03 .sub_menu{
		width:fit-content;
		margin: 0.9vw 0 0 0;
		padding: 0 0 0 1.5vw;
	}
	.sub_torikumi .sub_menu::before,
	.sub_about .sub_menu::after{
		width: 0.6vw;
	}
	.sub_torikumi .sub_menu,
	.sub_about .sub_menu{

	}
	.sub_box_01,.sub_box_02,.sub_box_03{
		padding:0;
	}
	.sub_hukushi h3 span,.sub_hoiku h3 span{
		width: 0.6vw;
		height:3vw;
	}
	.sub_box_01 h3{
		font-size: 130%;
	}
	.sub_menu{
		font-size: 120%;
	}
	#g-nav {
	  position: fixed;
	  top:5%;
	  left:5%;
	  width: 90%;
	  height: 90%;
	  background-color: #ffffffe0;
	  opacity: 0;
	  visibility: hidden;
	  transition: opacity 0.3s ease;
	  z-index: 1000;
	  overflow-y: auto;
	  border-radius:10px;
	}
	
	/* 表示時：フェードイン */
	#g-nav.active {
	  opacity: 1;
	  visibility: visible;
	}
	
	/* オーバーレイ（任意：暗くしたい場合） */
	#g-nav-overlay {
	  display: none;
	  position: fixed;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background-color: rgba(0,0,0,0.5);
	  z-index: 999;
	}
	
	#g-nav-overlay.active {
	  display: block;
	}
	#g-nav-close {
	  position: absolute;
	  top: 20px;
	  right: 20px;
	  width: 40px;
	  height: 40px;
	  border-radius: 50%;
	  background-color: #ccc;
	  border: none;
	  font-size: 24px;
	  font-weight: bold;
	  line-height: 1;
	  color: #333;
	  cursor: pointer;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  transition: background-color 0.3s ease;
	}
	#g-nav-close:hover {
	  background-color: #999;
	}
	.waku-sdw {
		position:relative;
	}
	.waku-sdw .show_tb{
		position:fixed;
		z-index:3;
		right:4px;
		top:50px;
	}
	.waku-sdw .show_tb a{
		display:block;
		margin:0 0 1.6vw 0;
	}
	.waku-sdw .show_tb a img{
		width:12vw;
	}

	/*--トップMessage--*/
	.msg_upper{
		max-width:90vw;
		margin: 20px auto;
	}
	.msg_upper p{
		font-size:170%
	}

	/*--ニュース-*/
	.back{
		margin-right:-10vw;
		border-radius:10px 0 0 0;
		padding: 5px 0 40px 5px;
	}
	.scroll div:nth-child(2){
		border-radius:10px 0 0 0;
	}
	.scroll div:nth-child(2) img{
		border-radius:10px 0 0 0;
	}
	.sankaku_1{
		top: -10px;
		width: 13vw;
		right: -0px;
		z-index: 10;
	}
	.sankaku_3{
		top: 20px;
	    width: 10vw;
		z-index:0;
	}
	.sankaku_4{
		bottom: unset;
		width: 20vw;
		top: -100px;
	}
	.sankaku_5{
		top:30px;
		width: 40vw;
	}
	.mihara_landscape{
		height:120vw;
	}

	/*--サービスをさがす--*/
	.sankaku_6{
		height: 35vw;
		top:30px;
	}
	.sankaku_7{
		height:50vw;
	}
	.service_imag{
		position:relative;
		top: unset;
		left: unset;
		transform: unset;
		width: 100vw;
		margin: 10px auto 0;
	}
	.service_wrap.flex{
		flex-wrap:wrap;
	}
	.service_box{
		width:100%;
	}

	/*施設*/
	.factory_name{
		flex-wrap:nowrap;
		font-size: 110%;
		letter-spacing: -0px;
		width: calc(100% - 0.8vw);
	}
	.factory_name .factory_color{
		width: 0.8vw;
		height:4vw;
	}
	.activity_wrap .shisetsu_box p{
		font-size:110%;
		line-height:1.5
	}
	.shisetsu_box ul{
		font-size:100%;
	}
	.shisetsu_box ul li:before{
		width:5px;
		height:5px;
	}
	.shisetsu_box ul li{
		padding: 0 0 0 0.7em;
	}
	.shisetsu_box{
		width: 46.5%;
		margin: 2em 2em 0 0;
	}
	.shisetsu_box:nth-child(n+2) img{
		height: 24vw;
		border-radius: 5px;
		margin: 0px auto 10px;
	}
	.shisetsu_back{
		padding: 10px 0 40px 20px;
	}
	.shisetsu_box:nth-child(1){
		width:100%;
	}
	.activity_wrap .shisetsu_box:nth-child(1){
		width: 46.5%;

	}
	.shisetsu_box:nth-child(3n){
		margin: 2em 2em 0 0;
	}
	.shisetsu_box:nth-child(2n+1){
		margin: 2em 0em 0 0;
	}
	.activity_wrap .shisetsu_box:nth-child(2n+1){
		margin: 2em 2em 0 0;
	}
	.activity_wrap .shisetsu_box:nth-child(2n){
		margin: 2em 0em 0 0;
	}

	.shisetsu_box.flex img{
		max-height: 40vw;
	}
	
	.shisetsu_box:nth-child(3n+1)::after,
	.shisetsu_box:nth-child(3n+2)::after{
		content: "";
		position: absolute;
		top: 0;
		right: unset;
		width: auto;
		height: auto;
		background:none;
		background-size: 2px 10px;
		background-repeat: repeat-y;
	}

	.shisetsu_box:nth-child(2n)::after{
		content: "";
		position: absolute;
		top: 0;
		right: -1em;
		width: 2px;
		height: 100%;
		background: linear-gradient(to bottom, var(--basecolor) 2px, transparent 2px);
		background-size: 3px 8px;
		background-repeat: repeat-y;
	}

	.hoiku_wrap .shisetsu_box:nth-child(6) {
		width:100%;
		margin: 2em 0 0;
		padding: 2em 0 0 0;
	}
	.hoiku_wrap .shisetsu_box:nth-child(6)::after{
		background: unset;
	}
	.hoiku_wrap .shisetsu_box:nth-child(6) img{
		height: 30vw;
	}
	.activity_wrap .shisetsu_box:nth-child(3n+1)::after, 
	.activity_wrap .shisetsu_box:nth-child(3n+2)::after{
		background:none;
	}
	.activity_wrap .shisetsu_box:nth-child(2n+1)::after{
		content: "";
	    position: absolute;
	    top: 0;
	    right: -1em;
	    width: 2px;
	    height: 100%;
		background: linear-gradient(to bottom, #c4002d 2px, transparent 2px);
		background-size: 2px 10px;
		background-repeat: repeat-y;
	}
	.activity_wrap  .shisetsu_box:nth-child(2n)::after{
		background:none;
	}
	.activity_wrap .shisetsu_box:nth-child(2)::before{
		background:navy;
	}
	.activity_wrap .shisetsu_box{
		padding: 0 0 9vw 0;
	}
	.activity_wrap  .shisetsu_box:nth-child(3)::before{
		content: "";
		position: absolute;
		top: -1em;
		left: 0;
		width: 100%;
		height: 2px;
		background: linear-gradient(to right, #c4002d 2px, transparent 2px);
		background-size: 8px 2px;
		background-repeat: repeat-x;
	}
	.activity_wrap .shisetsu_box.flex img{
		max-height: 40vw;
	}
	.sankaku_9{
		bottom:unset;
		top: 30vw;
		width:23vw;
		z-index: -1;
		right: -5vw;
	}
	.sankaku_8{
		width: 25vw;
		left:-5vw;
		top: 14%;
		z-index: -1;
	}
	.sankaku_12{
		width: 15vw;
		left:unset;
		right:0;
		top: 2%;
	}
	.sankaku_13{
		right:unset;
		left:0;
		bottom: 17%;
	}

	/*footer*/
	.footer_wrap{
		flex-wrap:wrap-reverse;
		max-width: 65%;
	}
	.footer_logo,
	.footer_banner{
		width:100%;
		text-align:center;
		margin-top:5vw
	}
	.footer_logo img{
		width: 100vw;
	}
	.footer_banner a{
		text-align:center;
	}
	.footer_banner a img{
		width:47vw;
		height:auto;
	}
	.footer_logo p{
		font-size: 150%;
	}

	.sankaku_14{
		position: absolute;
		top:78vw;
		left: 0;
		height: 37vw;
	}
	.sankaku_15{
		position: absolute;
		bottom: 108vw;
		right: 0;
		height: 65vw;
		z-index: -1;
	}

	/*--概要など--*/
	.table_wrap table th{
		width:25%
	}

	.access_link_btn a{
		width: 100%;
		margin:0 0 10px 0;
	}
	.access_link_btn a:nth-child(3n){
		margin:0 0% 10px 0
	}
	.access_link_btn a:nth-child(2n){
		margin:0 0% 10px 0
	}
	.access_txt,.access_map{
		width:100%
	}
	.access_map{
		margin:20px auto 0;
	}

	/*--挨拶--*/
	.greeting_txt{
		width:100%;
	}
	.greeting_img{
		width:100%;
		margin:0px auto 0;
	}
	.greeting_img img{
		width:100%;
		margin:0 0 10px 0;
	}
	.rinen_wrap{
		margin:40px auto 0;
	}

	/*--サンブライト--*/
		.san_ttl div img{
		height:25px
	}
	.sanb_box{
		flex-wrap:wrap
	}
	.sanb_box .sanb_box_img,.sanb_box .sanb_box_text{
		width:100%
	}
	.sanb_box .sanb_box_text h3{
		font-size:16px
	}
	.sanb_txt dd{
		width:25%
	}
	.sanb_txt dt{
		width:75%
	}
	.san_photo.flex div{
		width:49%;
	}
	.san_photo.flex div:is(:nth-child(2n)) {
	    margin: 2% 0% 0 2%;
	}
	.san_photo.flex div:nth-child(5){
		 margin: 2% 0% 0 0%;
	}

	.links_wrap div{
		width:100%;
		margin:20px 0% 0 0;
	}

	/*--sdgsの--*/
	.sdgs_logo_img{
		width:100%;
		margin:0 0 20px 0
	}
	.sdgs_txt{
		width:100%;
		font-size: 100%;
	}

	
	
}

@media(max-width:600px){

}

@media(max-width:560px){
	body{
		font-size: 2.7vw;
	}
	.contents_wrap{
		max-width: 90vw;
	}
	.msg_upper p{
		font-size:140%;
	}
	.midashi_ttl img{
		height:4.5vw;
	}
	.midashi_ttl h3{
		font-size: 138%;
		letter-spacing: 1px;
	}
	.sub_torikumi .sub_menu::before, .sub_about .sub_menu::after{
		width:0.8vw;
		height: 70%;
		top: 50%;
	    left: 0%;
	    transform: translateY(-50%);
	    -webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	}
	.sub_hukushi h3 span, .sub_hoiku h3 span{
		width: 0.8vw;
		height: 3.5vw;
	}
	.sub_hoiku h3 {
		margin:2vw 0 0vw;
	}
	#g-nav-list img{
		height: 3.5vw;
	}
	.sub_box_01, .sub_box_02, .sub_box_03{
		margin:3.5vw 0;
	}
	.midashi_ttl{
		margin: 4vw auto 0 15px;
	}
	.service_text{
		margin:0 0 0 15px;
	}
	.service_text p{
		font-size:130%;
	}

	.back{
		padding: 5px 0 20px 5px;
	}
	.service_wrap{
		padding: 10vw 0 0 0;
	}
	.service_imag_sp_2{
		margin:0vw auto 20px;
	}
	.service_imag_sp_3{
		margin:10vw auto 20px;
	}

	/*施設を探す*/
	.shisetsu_back{
		padding: 10px 0 10px 20px;
	}
	
	/*----*/
	.summary_back{
		padding: 20px 0 20px 20px;
	}
	.histor_wrap table{
		width:100%;
		display:block
	}
	.histor_wrap table th,
	.histor_wrap table td{
		display:block;
		
	}
	.histor_wrap table th{
		border-bottom:none;
		text-align:left
	}
	/*.table_wrap table{
		width:100%;
		display:block
	}
	.table_wrap table tr,
	.table_wrap table td{
		display:block;
		
	}
	.table_wrap table th{
		background:#f1f1f1;
	}
	.table_wrap table td{
		border-top:none;
		border-bottom:none;
	}*/

	.c_mail_tel_deco span {
        display: block;
        padding: 3px;
        margin: 1px;
        text-align: center;
    }
	.footer_banner {
		text-align:center
	}
	.footer_banner a img{
		height:14vw;
	}
	.footer_logo p{
		font-size: 140%;
	}

}

/* お問合せフォーム */
#mail_form input[type=text],
#mail_form input[type=email],
#mail_form textarea
{
	display:block;
	width:600px;
	max-width:100%;
	margin-top:0.2em;
	font-size:100%
}

.backNumberLinks{
	padding: 20px 20px 0;
}
.backNumberLinks a{
	margin:15px 5px;
}
@media(max-width:768px){
	.backNumberLinks a{
		display:block;
		max-width:200px;
		margin:10px auto;
	}
}
