@charset "UTF-8";

/*=================================
Google font Noto Sans JP
===================================*/

@font-face {
  font-family: 'Noto Sans JP'; 
  src: url('../font/noto_sans_jp/NotoSansJP-Thin.woff') format('woff'),
   url('../font/noto_sans_jp/NotoSansJP-Thin.woff2') format('woff2');
  font-weight: 100;
  font-style: normal; 
}

@font-face {
  font-family: 'Noto Sans JP'; 
  src: url('../font/noto_sans_jp/NotoSansJP-Light.woff') format('woff'),
   url('../font/noto_sans_jp/NotoSansJP-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal; 
}

@font-face {
  font-family: 'Noto Sans JP'; 
  src: url('../font/noto_sans_jp/NotoSansJP-Regular.woff') format('woff'),
   url('../font/noto_sans_jp/NotoSansJP-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal; 
}

@font-face {
  font-family: 'Noto Sans JP'; 
  src: url('../font/noto_sans_jp/NotoSansJP-Medium.woff') format('woff'),
   url('../font/noto_sans_jp/NotoSansJP-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal; 
}

@font-face {
  font-family: 'Noto Sans JP'; 
  src: url('../font/noto_sans_jp/NotoSansJP-Bold.woff') format('woff'),
   url('../font/noto_sans_jp/NotoSansJP-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal; 
}

/*=================================
Google font Noto Serif JP
===================================*/

@font-face {
  font-family: 'Noto Serif JP'; 
  src: url('../font/noto_serif_jp/NotoSerifJP-ExtraLight.woff') format('woff'),
   url('../font/noto_serif_jp/NotoSerifJP-ExtraLight.woff2') format('woff2');
  font-weight: 200;
  font-style: normal; 
}

@font-face {
  font-family: 'Noto Serif JP'; 
  src: url('../font/noto_serif_jp/NotoSerifJP-Light.woff') format('woff'),
   url('../font/noto_serif_jp/NotoSerifJP-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal; 
}

@font-face {
  font-family: 'Noto Serif JP'; 
  src: url('../font/noto_serif_jp/NotoSerifJP-Regular.woff') format('woff'),
   url('../font/noto_serif_jp/NotoSerifJP-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal; 
}

@font-face {
  font-family: 'Noto Serif JP'; 
  src: url('../font/noto_serif_jp/NotoSerifJP-Medium.woff') format('woff'),
   url('../font/noto_serif_jp/NotoSerifJP-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal; 
}

@font-face {
  font-family: 'Noto Serif JP'; 
  src: url('../font/noto_serif_jp/NotoSerifJP-SemiBold.woff') format('woff'),
   url('../font/noto_serif_jp/NotoSerifJP-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal; 
}

@font-face {
  font-family: 'Noto Serif JP'; 
  src: url('../font/noto_serif_jp/NotoSerifJP-Bold.woff') format('woff'),
   url('../font/noto_serif_jp/NotoSerifJP-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal; 
}

@font-face {
  font-family: 'Noto Serif JP'; 
  src: url('../font/noto_serif_jp/NotoSerifJP-Black.woff') format('woff'),
   url('../font/noto_serif_jp/NotoSerifJP-Black.woff2') format('woff2');
  font-weight: 900;
  font-style: normal; 
}

/*=================================
Google font opensans
===================================*/
@font-face {
  font-family: 'Open Sans'; 
  src: url('../font/open_sans/OpenSans-Regular.ttf') format('ttf');
  font-weight: 400;
 font-style: normal; 
}

@font-face {
  font-family: 'Open Sans'; 
  src: url('../font/open_sans/OpenSans-Medium.ttf') format('ttf');
   font-weight: 500;
  font-style: normal; 
}

@font-face {
  font-family: 'Open Sans'; 
  src: url('../font/open_sans/OpenSans-SemiBold.ttf') format('ttf');
   font-weight: 600;
  font-style: normal; 
}

@font-face {
  font-family: 'Open Sans'; 
  src: url('../font/open_sans/OpenSans-Bold.ttf') format('ttf');
   font-weight: 700;
  font-style: normal; 
}

:root{
 --color-main: #333;
 --main-bg: #fff;
 --bg-color01: #999;
 --bg-white: #fff;
 --txt-color: #000;
 --txt-color01: #999;
 --color-white: #fff;
 --menu-hover: #e5faee;
}

html {
font-size: 62.5% ; 
 overflow-y: scroll;
}
body {
 background: var(--bg-white);
 color: var(--color-main);
 font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3" , "Hiragino Kaku Gothic ProN," , "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ' , Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 font-size: 14px;/* ベースのフォントサイズを14px相当に設定 */
 font-size: 1.4rem;
 line-height: 1.8;
 margin: 0;
 padding: 0;
 -webkit-text-size-adjust: 100%; /* 2 */
 -ms-text-size-adjust: 100%; /* 2 */
 overflow: hidden;
}

body p {
 display: block;
 -webkit-margin-before: 0;
 -webkit-margin-after: 0;
 -webkit-margin-start: 0px;
 -webkit-margin-end: 0px;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
 margin: 0;
 padding: 0;
}

address,caption,cite,code,dfn,em,strong,th,var {
 font-style: normal;
}

table {
 border-collapse: collapse;
 border-spacing: 0;
}

caption,th,p {
 text-align: left;
}

h1,h2,h3,h4,h5,h6 {
 font-size: 100%;
 text-align:left; 
 font-weight:normal;
}
img,abbr,acronym,fieldset {
	border: 0;
}
li {
	list-style-type: none;
}
span { 
	margin: 0; 
	padding: 0 
}

dl { 
 margin: 0; 
 padding: 0;
}

img {
 margin: 0;
 padding: 0;
 border: 0;
 max-width: 100%;
 height: auto;
 width /***/:auto;
 vertical-align:middle;　
}

a:focus {
 outline: none;
}

a {
 color: #666;
 text-decoration:none;
 -webkit-transition: all 0.3s ease;
 -moz-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}

a:hover, a:active {
 text-decoration: underline;
}

a:hover img {
 filter: alpha(opacity=80);
 -ms-filter: alpha(opacity=80);
 opacity: 0.8;
}

*{ 
	margin: 0;
	padding: 0;
 box-sizing: border-box;
}

/*----------------------------------------------------
	clearfix
----------------------------------------------------*/
.clearfix:after {
 content: ".";
 display: block;
 clear: both;
 height: 0;
 visibility: hidden;
 font-size: 0;
}

.clearfix {
  min-height: 0px;
}

* html .clearfix {
  height: 0px;
}


/*----------------------------------------------------
margin set
----------------------------------------------------*/
.mgt5 { margin-top: 5px!important;}
.mgt10 { margin-top: 10px!important;}
.mgt15 { margin-top: 15px!important;}
.mgt20 { margin-top: 20px!important;}
.mgt25 { margin-top: 25px!important;}
.mgt30 { margin-top: 30px!important;}
.mgt35 { margin-top: 35px!important;}
.mgt40 { margin-top: 40px!important;}

.mgb5 { margin-bottom: 5px!important;}
.mgb10 { margin-bottom: 10px!important;}
.mgb15 { margin-bottom: 15px!important;}
.mgb20 { margin-bottom: 20px!important;}
.mgb25 { margin-bottom: 25px!important;}
.mgb30 { margin-bottom: 30px!important;}
.mgb35 { margin-bottom: 35px!important;}
.mgb40 { margin-bottom: 40px!important;}
.mgb50 { margin-bottom: 50px!important;}
.mgb60 { margin-bottom: 60px!important;}
.mgb70 { margin-bottom: 70px!important;}
.mgb80 { margin-bottom: 80px!important;}

/*----------------------------------------------------
padding set
----------------------------------------------------*/
.pdt5 { padding-top: 5px!important;}
.pdt10 { padding-top: 10px!important;}
.pdt15 { padding-top: 15px!important;}
.pdt20 { padding-top: 20px!important;}
.pdt25 { padding-top: 25px!important;}
.pdt30 { padding-top: 30px!important;}
.pdt35 { padding-top: 35px!important;}
.pdt40 { padding-top: 40px!important;}

.pdb5 { padding-bottom: 5px!important;}
.pdb10 { padding-bottom: 10px!important;}
.pdb15 { padding-bottom: 15px!important;}
.pdb20 { padding-bottom: 20px!important;}
.pdb25 { padding-bottom: 25px!important;}
.pdb30 { padding-bottom: 30px!important;}
.pdb35 { padding-bottom: 35px!important;}
.pdb40 { padding-bottom: 40px!important;}

@media screen and (min-width : 768px){
.sp_view{
 display: none;
}
}

@media screen and (max-width : 767px){
.pc_view{
 display:none!important;
}
 
}
 
#loading {
	position: absolute;
  background: #fff;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	overflow: hidden;
  z-index: 9999;
}

.animation_wrap {
    z-index: 4;
    max-width: 500px;
    width: 100%;
    height: 450px;
    position: absolute;
    left: 0;
    right: 0;
    top: -50px;
    bottom: 0;
    margin: auto;
    text-align: center;
}



#box1{
	position: absolute;
    width: 100%;
    left: 0;
    top: 0;
webkit-transition: all 0.8s ease;
    -moz-transition: all 0.8s ease;
    -o-transition: all 0.8s ease;
    transition: all 0.8s ease;
}

#box1 img {
	width: 500px;
	height: 300px;
}

#box1.loading {
  -webkit-transform: scale(5);
  -ms-transform: scale(5);
  transform: scale(5);
}


.btn-close {
    position: absolute;
    top: 50px;
    right: 50px;
    color: #bdc8d1;
    width: 120px;
    margin-left: -90px;
    text-align: center;
    display: none;
    cursor: pointer;
    padding: 5px;
    border: 1px solid #bdc8d1;
    border-radius: 4px;
    box-sizing: border-box;
    transition: .2s ease-out;
}

.btn-close:hover{
	background-color: #bdc8d1;
	color: #062f58;
}


@-webkit-keyframes spin {
	0% {-webkit-transform: rotate(360deg);}
	100% {-webkit-transform: rotate(0deg);}
}
@-moz-keyframes spin {
	0% {-moz-transform: rotate(360deg);}
	100% {-moz-transform: rotate(0deg);}
}
@-ms-keyframes spin {
	0% {-ms-transform: rotate(3600deg);}
	100% {-ms-transform: rotate(0deg);}
}
@-o-keyframes spin {
	0% {-o-transform: rotate(360deg);}
	100% {-o-transform: rotate(0deg);}
}
@keyframes spin {
	0% {transform: rotate(360deg);}
	100% {transform: rotate(0deg);}
}





@media screen and (max-width:640px){


.animation_wrap {
    max-width: 300px;
    height: 300px;
}

#box4 {
    max-width: 250px;
    left: 0;
    top: 0;
}

#box3 {
    max-width: 250px;
    right: 0;
    top: 0;
}


}


@media screen and (max-width:640px){
.btn-close {
    top: 30px;
    right: 50px;
}
}




/************* レイアウト設定 *******************************/
#wrap {
 width: 100%;
 margin: 0 auto;
 padding: 0 0 0 250px;
 
 position: relative;
 overflow: hidden;
}
.inner { 
 max-width: 965px; 
 width: 100%;
 margin: 0 auto;
}

@media screen and (max-width : 1280px){
.inner {
 width: 100%;
 padding: 0 20px;
 box-sizing: border-box;
}
}

@media screen and (max-width : 980px){
#wrap {
    padding: 0 0 0 0;
    position: relative;
    overflow: hidden;
} 
}

#contents {
 width: 100%;
 margin: 0 auto 0;
 box-sizing: border-box;
}

.post-password-form {
 max-width: 1040px; 
 width: 100%;
 margin: 0 auto;
 padding: 50px 0;
}


.section_box {
 padding: 60px 0 120px 0;
	position: relative;
	background: #fff;
	z-index: 1;
}

.section_box01 {
	padding: 120px 0 120px 0;
	position: relative;
	background: #fff;
	z-index: 1;
}

.section_box02 {
 padding: 0 0 120px 0;
	position: relative;
	background: #fff;
	z-index: 1;
	
}

@media screen and (max-width : 767px){
 
.section_box01 {
    padding: 60px 0 60px 0;
}
.section_box {
 padding: 60px 0 70px 0;
}

.section_box01 {
 padding: 70px 0 70px 0;
}

.section_box02 {
 padding: 0 0 70px 0;
}

}

/************* Flex設定 *******************************/
.flex {
 display: -webkit-box;
 display: -ms-flexbox;
 display: -webkit-flex;
 display: flex;
 -ms-flex-wrap: wrap;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
}

.flex.f_reverse {
    flex-direction: row-reverse;
}

.jc-bet {
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
}
.ai-cen {
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
}
.jc-end {
 -webkit-box-pack: end;
 -ms-flex-pack: end;
 justify-content: space-around;
}
.jc-cen {
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
}

/*************レイアウト *******************************/

.left_box01 {
 max-width: 520px;
 width: 50%;
}

.right_box01 {
 max-width: 520px;
 width: 50%;
 padding: 0 0 0 40px;
}

.f_reverse .left_box01 {
 padding: 0 0 0 0;
}

.f_reverse .right_box01 {
 padding: 0 40px 0 0;
}


.left_box02 {
 max-width: 480px;
 width: 50%;
}

.right_box02 {
 max-width: 430px;
 width: 47%;
}

.left_box03 {
 width: 29%;
}

.right_box03 {
 -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.left_box04 {
    max-width: 660px;
    width: 70%;
    box-sizing: border-box;
    padding: 0 0 0 0;
}

.right_box04 {
 max-width: 318px;
 width: 30%;
	padding: 20px 20px 0 20px;
	box-sizing: border-box;
	position: relative;
}

.right_box04:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 50%;
	background: #00428b;
	z-index: -1;
}

.inline-block {
	display: inline-block;
}

.right_img{
 text-align: right;
}

@media screen and (max-width : 1280px){
.left_box04 {
 width: 65%;
}

.right_box04 {
 width: 35%;
} 
	
}


@media screen and (max-width : 767px){

 .top_greetingBox .inner {
 width: 100%;
 padding: 0 0 0 20px;
 box-sizing: border-box;
}
 
.left_box01 {
 display: none;
} 
 
.right_box01 {
    max-width: 767px;
 width: 100%;
 margin: 0 0 0 0;
 background: url(../img/greeting/greeting01.png) 100% 100% no-repeat;
 min-height: 330px;
 background-size: auto 326px;
} 
 
.f_reverse .right_box01 {
    padding: 0 0 0 0;
} 
 

.left_box02 {
 max-width: 767px;
 width: 100%;
 order: 2;
}

.right_box02 {
 max-width: 430px;
 width: 100%;
 margin: 0 auto 20px;
 order: 1;
} 

.left_box03 {
 width: 100%;
}

.right_box03 {
	width: 100%;
 -webkit-box-flex: inherit;
    -webkit-flex: inherit;
    -ms-flex: inherit;
    flex: inherit;
}	
 
.left_box04 {
 width: 100%;
	padding: 0 0 0 0;
}
	

.right_box04 {
 width: 100%;
	margin: 0 0 24px 0;
} 
	
 
}

/************* アニメーション *******************************/
.fadein {
 opacity: 0;
 transform: translateY(50px) scale(0.9);
 transition : all 800ms;
 overflow: hidden;
}
.fadein.scrollin{
 opacity: 1;
 transform: translateY(0) scale(1);
}
/***********************************/
.fadein1 {
 opacity: 0;
 transition : all 1000ms;
}
.fadein1.ani_txt01 {
 transform: translateY(-50px);
}
.fadein1.ani_txt02 {
 transform: translateX(50px);
}
.fadein1.ani_txt01.scrollin {
 opacity: 1;
 transform: translateY(0);
}
.fadein1.ani_txt02.scrollin {
 opacity: 1;
 transform: translateX(0);
}

/************* パンくず pankuzu *******************************/
.breadcrumbs {
 text-align: right;
 position: relative;
 z-index: 1;
 color: #fff;
}

.breadcrumbs .inner{
 padding: 12px 0 13px 15%;
 box-sizing: border-box;
}

.breadcrumbs .post { 
 min-height: 10px;
}
.breadcrumbs span { 
 display: inline-block;
 padding-left: 0;
 color: #fff;
 font-size: 12px;
 font-size: 1.2rem;
 font-weight: bold;
}
.breadcrumbs span:last-child { 
 padding: 0 10px;
}
.breadcrumbs span:last-child span, .breadcrumbs a span:last-child{ 
 border: none;
 border-width: 0 0 0 0;
 padding: 0 0;
}
.breadcrumbs span:first-child { 
 display: inline-block;

}
.breadcrumbs a {
 display: inline-block;
 color: #fff;
 font-weight: bold;
 text-decoration: none;
 padding: 0 10px;
}
.breadcrumbs a.home {
 border-width: 0 2px 0 2px;
 padding: 0 10px 0 0px;
}
.breadcrumbs a span { 
 color: #fff; 
 font-weight: bold;
 text-decoration: none;
}
.breadcrumbs a:hover { 
 text-decoration: none;
 color: #fff;
}
.breadcrumbs a:hover span { 
 text-decoration: none;
 color: #fff;

}
.breadcrumbs a.post { 
 min-height: 100%;
 height: auto;
 margin: 0px;
}

@media screen and (max-width : 1240px){
.breadcrumbs .inner{
 padding: 12px 20px 13px 37%;
}

}
 
@media screen and (max-width : 767px){
.breadcrumbs .inner{
    padding: 8px 20px 8px 7%;
}
.breadcrumbs span {
 font-size: 10px;
 font-size: 1.0rem;
} 
 
}

/************* ページリンク（詳細ページ　一覧へ戻るボタンなど） *******************************/
.pagelink {
 margin: 80px auto 0px;
 max-width: 370px;
 width: 100%;
 position: relative;
 min-height: 50px;
}
.pagelink li.oldpage { 
 margin-right: 0px;
 width: 50px;
 padding: 0;
 position: absolute;
 left: 0;
 top: 0;
}
.pagelink li.oldpage a {
 display: block;
 border-radius: 50%;
 height: 50px;
 width: 50px;
 padding: 0;
 box-sizing: border-box;
}

.pagelink li.oldpage a::before {
    content: '';
    width: 10px;
    height: 10px;
    border-top: solid 2px #58ea7f;
    border-right: solid 2px #58ea7f;
    transform: rotate(225deg);
    position: absolute;
    top: 17px;
    left: 19px;
}

.pagelink li.oldpage a:hover::before {
    border-top: solid 2px #58ea7f;
    border-right: solid 2px #58ea7f;
}

.pagelink li.newpage { 
 margin-right: 0px;
 width: 50px;
 padding: 0;
 position: absolute;
 right: 0;
 top: 0;
}
.pagelink li.newpage a {
 display: block;
 border-radius: 50%;
 height: 50px;
 width: 50px;
 padding: 0;
 box-sizing: border-box;
}

.pagelink li.newpage a::before {
 content: '';
 width: 10px;
 height: 10px;
 border-top: solid 2px #fff;
 border-right: solid 2px #fff;
 transform: rotate(45deg);
 position: absolute;
 top: 17px;
 right: 19px;
}

.pagelink li.newpage a:hover::before {
    border-top: solid 2px #58ea7f;
    border-right: solid 2px #58ea7f;
}


.pagelink li.listlink {
 width: 190px;
 position: absolute;
 left: 50%;
 top: 0;
 margin-left: -95px;
}
.pagelink li a {
 color: #fff;
 font-weight: bold;
 padding: 11px 0 10px;
 display: block;
 text-decoration: none;
 text-align: center;
 background: #58ea7f;
 border: 2px solid #58ea7f;
 border-radius: 25px;
 -webkit-transition: all 0.3s ease;
 -moz-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
 position: relative;
}
.pagelink li a:hover { 
 background: #fff;
 color: #58ea7f;
}

.pagelink li.listlink a {
 
}
.pagelink li.listlink a::before {
    content: '';
    width: 6px;
    height: 6px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 44%;
    right: 30px;
}
.pagelink li.listlink a:hover::before {
    border-top: solid 2px #58ea7f;
    border-right: solid 2px #58ea7f;
}


@media screen and (max-width : 767px){
.pagelink {
 margin: 40px auto 0px;
 max-width: 280px;
}
.pagelink li.listlink {
 width: 160px;
 margin-left: -80px;
}
.pagelink li a {
 padding: 8px 0 8px;
}	
.pagelink li.oldpage { 
 width: 45px;
}
.pagelink li.oldpage a {
 height: 45px;
 width: 45px;
}
.pagelink li.newpage {
 width: 45px;
}
.pagelink li.newpage a {
 height: 45px;
 width: 45px;
}

}

/************* WP-PageNavi *******************************/
.wp-pagenavi {
 clear: both;
 margin: 75px auto 0;
 text-align: center;
}
.wp-pagenavi a, .wp-pagenavi span {
 text-decoration: none;
 margin: 0 10px;
 -webkit-border-radius: 0;
 -moz-border-radius: 0;
 border-radius: 0;
 display: inline-block;
}
.wp-pagenavi span.pages {
 border: 2px solid #58ea7f;
 color: #fff;
 background: #58ea7f;
 padding: 9px 16.2px;
}
.wp-pagenavi span.current {
 color: #fff;
 font-weight: bold;
 background: #58ea7f;
 border: 2px solid #58ea7f;
 height: 50px;
 width: 50px;
 line-height: 47px;
 border-radius: 50%;
}
.wp-pagenavi a {
 border: 2px solid #58ea7f;
 color: #58ea7f;
 background: #fff;
 height: 50px;
 width: 50px;
 line-height: 47px;
 border-radius: 50%;
}
.wp-pagenavi a:hover{
 border: 2px solid #58ea7f!important;
 background: #58ea7f;
 color: #fff;
}
.wp-pagenavi a.nextpostslink {
position: relative;
 text-indent: -9999px;
}

.wp-pagenavi a.nextpostslink::before {
    content: '';
    width: 10px;
    height: 10px;
    border-top: solid 2px #58ea7f;
    border-right: solid 2px #58ea7f;
    transform: rotate(45deg);
    position: absolute;
    top: 17px;
    right: 19px;
}

.wp-pagenavi a.nextpostslink:hover::before {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
}

.wp-pagenavi a.previouspostslink {
 position: relative;
 text-indent: -9999px;
}

.wp-pagenavi a.previouspostslink::before {
    content: '';
    width: 10px;
    height: 10px;
    border-top: solid 2px #58ea7f;
    border-right: solid 2px #58ea7f;
    transform: rotate(225deg);
    position: absolute;
    top: 17px;
    left: 19px;
}

.wp-pagenavi a.previouspostslink:hover::before {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
}

@media screen and (max-width : 767px){
.wp-pagenavi {
 margin: 40px auto 0;
}
.wp-pagenavi a, .wp-pagenavi span {
 margin: 0 7px;
}	

}
 

/************* 投稿記事デフォルト設置（段落、テーブルなど） *******************/
.aligncenter	{
 display: block;
 margin-left: auto;
 margin-right: auto;
}
div.post img	{
 border: none;
}
.alignleft	{
 float: left;
 margin: 5px 40px 0 8px;
}
.alignright	{
 float: right;
 margin: 5px 8px 0 40px;
}
.wp-caption	{
 border: none;
 text-align: center;
 padding-top: 5px;
}
.wp-caption-text { 
 text-align:center; 
}
.detail_content {
 width: 100%;
}
.detail_time {
 font-size: 14px;
 text-align: right;
 color: var(--txt-color);
 font-weight: bold;
 margin: 0 0 20px 0;
}

.detail_time span{
 display: inline-block;
}
.detail_time span.d_time{
 margin: 0 30px 0 0;
}
.detail_content h1{
 font-size: 20px;
 color: var(--txt-color);
 font-weight: bold;
 margin: 0 0 12px 0;
}
.detail_content h2{
 font-size: 26px;
 color: #58ea7f;
 font-weight: bold;
 margin: 0 0 24px 0;
 position: relative;
}

.detail_content h2:after {
 content: "";
 position: absolute;
 left: 0;
 bottom: 0;
 width: 60px;
 height: 2px;
 background: #58ea7f;
}

.detail_content h3 {
 font-size: 24px;
 font-size: 2.4rem;
 font-weight: 700;
 line-height: 1.3;
 color: var(--txt-color);
 position: relative;
 margin: 0 0 20px 0;
 padding: 0 0 10px 0;
 border-bottom: 1px solid #58ea7f;
}

.detail_content h4{
 font-size: 18px;
 color: var(--txt-color);
 font-weight: bold;
 margin: 0 0 12px 0;
}
.detail_content h5{
 font-size: 16px;
 color: var(--txt-color);
 font-weight: bold;
 margin: 0 0 5px 0;
}
.detail_content ul {
 margin: 0 0 30px 0;
}
.detail_content ul li{
 list-style: disc outside;
 margin: 0 0 0 20px;
 line-height: 1.9;
}
.detail_content ol {
 margin: 0 0 30px 0;
}
.detail_content ol li{
 list-style: decimal;
 margin: 0 0 0 20px;
 line-height: 1.9;
}
.detail_content table {
 border-collapse: collapse;
 border-spacing: 0;
 border:1px solid #ddd;
 margin: 0 0 30px 0;
 width: 100%;
}
.detail_content table th {
 padding: 20px;
 border: solid #ddd;
 border-width: 0 1px 1px 0;
 vertical-align: middle;
 font-size: 100%;
 width: 24%;
 color: var(--color-white);
 background: #eee;
 box-sizing: border-box;
}

.detail_content table td {
 padding: 20px;
 vertical-align: top;
 border: solid #ddd;
 border-width: 0 0 1px 1px;
 font-size: 100%;
 background: var(--bg-white);
 box-sizing: border-box;
}
.detail_content table td:first-child {
 background: #eee;
}

@media screen and (max-width : 767px){
.alignright, .alignleft{
 display:block;
 float:none;
 text-align:center;
 margin:0 auto 15px;
}
}


/************* 共通タイトル *******************************/
.tit_style01 {
 font-size: 18px;
 font-size: 1.8rem;
 text-align: left;
 line-height: 1.0;
 letter-spacing: 1px;
 font-weight: 500;
 display: block;
 margin: 0 0 34px 0;
 position: relative;
 padding: 36px 0 0 0;
}

.tit_style01:before {
 content: "";
 position: absolute;
 left: 0;
 top:0;
 width: 30px;
 height: 2px;
 background: rgb(50,147,71);
background: linear-gradient(90deg, rgba(50,147,71,1) 0%, rgba(88,234,127,1) 100%);
}

.tit_style02 {
 font-size: 18px;
 font-size: 1.8rem;
 text-align: center;
 line-height: 1.0;
 letter-spacing: 1px;
 font-weight: 500;
 display: block;
 margin: 0 0 30px 0;
 position: relative;
 color: #fff;
}


.tit_style03 {
 font-size: 18px;
 font-size: 1.8rem;
 text-align: center;
 line-height: 1.0;
 letter-spacing: 1px;
 font-weight: 500;
 display: block;
 margin: 0 0 34px 0;
 position: relative;
 padding: 36px 0 0 0;
}

.tit_style03:before {
 content: "";
 position: absolute;
 left: 50%;
 top:0;
 width: 30px;
 height: 2px;
 transform: translateX(-50%);
 background: rgb(50,147,71);
background: linear-gradient(90deg, rgba(50,147,71,1) 0%, rgba(88,234,127,1) 100%);
}

@media screen and (max-width : 767px){
 
.tit_style01 {
    font-size: 19px;
    font-size: 1.9rem;
    margin: 0 0 30px 0;
    padding: 24px 0 0 0;
} 
 
}



/************* 共通ボタン *******************************/
.btn_style {
 max-width: 245px; 
 width: 100%; 
}
.btn_style.center_btn {
 margin: 0 auto;
}
.btn_style a {
    display: block;
    padding: 7px 0 7px;
    text-align: center;
    color: #fff;
    text-decoration: none;
    font-weight: normal;
    font-size: 16px;
    font-size: 1.6rem;
    border: 1px solid #fff;
 border-radius: 24px;
    letter-spacing: 1px;
    position: relative;
    line-height: 1.5;
}
.btn_style a:hover { 
 background: #fff;
 color: #329347;
}

.btn_style a:before {
 content: '';
 width: 6px;
 height: 6px;
 border-top: solid 2px #fff;
 border-right: solid 2px #fff;
 transform: rotate(45deg);
 position: absolute;
 top: 15px;
 right: 30px;
 -webkit-transition: all 0.3s ease;
 -moz-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}

.btn_style a:hover:before {
 border-top: solid 2px #329347;
 border-right: solid 2px #329347;
 right: 20px;
}


.btn_style01 {
 max-width: 320px; 
 width: 100%; 
}
.btn_style01.center_btn {
 margin: 0 auto;
}
.btn_style01 a {
    display: block;
    padding: 12px 0 12px;
    text-align: center;
    color: #fff;
    text-decoration: none;
    font-weight: normal;
    font-size: 16px;
    font-size: 1.6rem;
    border: 1px solid #fff;
 border-radius: 24px;
    letter-spacing: 1px;
    position: relative;
    line-height: 1.5;
 background: rgb(50,147,71);
    background: linear-gradient(90deg, rgba(50,147,71,1) 0%, rgba(88,234,127,1) 100%);
}
.btn_style01 a:hover { 
opacity: 0.8;
}

.btn_style01 a:before {
 content: '';
 width: 6px;
 height: 6px;
 border-top: solid 2px #fff;
 border-right: solid 2px #fff;
 transform: rotate(45deg);
 position: absolute;
 top: 20px;
 right: 30px;
 -webkit-transition: all 0.3s ease;
 -moz-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}

.btn_style01 a:hover:before {
 right: 20px;
}







@media screen and (max-width : 767px){
.btn_style {
    margin: 0 auto;
}
}

/************* ヘッダ部分(h1, logo, tel, mail)*******************************/
.pc_logo {
 display: block;
}

.sp_logo {
 display: none;
}


#header {
 position: fixed;
 top: 0;
 left: 0;
 transition: .5s;
 max-width: 250px;
 width: 100%;
 z-index: 9999;
 padding: 0;
 height: 100%;
 background: var(--main-bg);
}

.head_h1 {
    position: absolute;
    left: 210px;
    top: 5px;
    z-index: 1;
}

.head_h1 h1 {
 font-size: 12px;
 color: #fff;
	padding: 0 0 0 50px;
}

.h_flex {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: absolute;
	width: 100%;
	height: 100vh;
	background: var(--bg-white);
	border: 1px solid #efefef;
}



.h_logo {
 width: 100%;
 text-align: center;
 background: var(--bg-white);
 padding: 23px 0 24px;
}

.h_logo img {
 margin: 0 auto;
}

.menu {
    display: flex;
    flex-direction: column;
 padding: 20px 0 0 0;
}

.menu li {

}

.menu li a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    color: var(--color-main);
    line-height: 1.5;
    padding: 14px 0 15px;
    text-decoration: none;
    box-sizing: border-box;
    text-align: center;
    width: 100%;
    font-size: 14px;
    font-size: 1.4rem;
}

.menu li a:hover, .menu li.current-menu-item a {
 background: var(--menu-hover);
  color: var(--color-main);
}

@media screen and (min-width: 980px) {

.menu li ul {
 height: 100vh;
 top: 0;
 left: 0;
 width: 100%;
 position: absolute;
 z-index: -1;
 transition: 0.5s all;
 opacity: 0;
 padding: 276px 0 20px 0;
 box-sizing: border-box;
 overflow-y: auto;
}

.menu li ul li {
 display: block!important;
 padding: 0!important;
 margin: 0!important;
 width: 100%;
 background: none;
 border: none;
 position: relative;
}

.menu li:hover ul {
	width: 250px;
	opacity: 1;
	height: 100vh;
	top: -1px;
	left: 100%;
	background: #efefef;
	display: flex;
	flex-direction: column;
}

.menu li:hover ul li {
	opacity: 1;
	height: auto;
}

.menu li:hover ul li a {
 color: #333!important;
 border: 0;
 letter-spacing: 0;
 margin: 0;
 font-weight: normal;
 -moz-transition: 0.5s;
 -o-transition: 0.5s;
 -webkit-transition: 0.5s;
 transition: 0.5s;
 font-size: 12px!important;
 font-size: 1.2rem!important;
 padding: 0!important;
 position: relative;
 text-align: left;
 line-height: 1px;
 z-index: 1;
 justify-content: flex-start;
}

.menu li:hover ul > li > a {
	line-height: 1.6em;
	padding: 10px 30px!important;
}
	
.menu li:hover ul > li > a:hover {
	background: none;
	color: #808080!important;
}

.menu li ul.sub-menu:before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 176px;
}

.menu li.menu-item-201 ul.sub-menu:before {
 background: url(../img/common/business_menuImg.webp) 50% 50% no-repeat;
 background-size: cover;
}
.menu li.menu-item-202 ul.sub-menu:before {
 background: url(../img/common/company_menuImg.webp) 50% 50% no-repeat;
 background-size: cover;
}
.menu li.menu-item-203 ul.sub-menu:before {
 background: url(../img/common/activities_menuImg.webp) 50% 50% no-repeat;
 background-size: cover;
}

.menu li ul li:before {
 content: "";
 position: absolute;
 top: -50px;
 left: 30px;
 font-size: 15px;
 font-weight: 700;
}

.menu li.menu-item-201 ul.sub-menu li:first-child:before {
 content: "事業案内";
}
.menu li.menu-item-202 ul.sub-menu li:first-child:before {
content: "企業情報";
}
.menu li.menu-item-203 ul.sub-menu li:first-child:before {
content: "社会貢献活動";
}



 
.scroll {
  position: absolute;
  bottom: 0;
  left: 60px;
  cursor: pointer;
}
 
.scroll a:hover{
  text-decoration: none;
}
 
}

@media screen and (max-width: 980px) {
.scroll {
    display: none!important;
  }
}

.scroll .txt {
  font-size: 11px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.scroll .bar {
  width: 1px;
  height: 84px;
  margin: 25px auto 0;
  background: #F2F2F2;
  position: relative;
  overflow: hidden;
}

.scroll .bar:after {
  content: "";
  width: 1px;
  height: 100%;
  background: #000000;
  display: block;
  position: absolute;
  top: -100%;
  left: 0;
  -webkit-animation: scrollBar 3s cubic-bezier(0.45, 0, 0.55, 1) 0s infinite normal forwards;
  animation: scrollBar 3s cubic-bezier(0.45, 0, 0.55, 1) 0s infinite normal forwards;
}

@-webkit-keyframes scrollBar {
  0% {
    top: -100%;
  }
  100% {
    top: 100%;
  }
}

@keyframes scrollBar {
  0% {
    top: -100%;
  }
  100% {
    top: 100%;
  }
}



/* spメニュー--------------------------------------------------------------------------------------*/

.sp_navList {
 display:none;
}

#trigger-overlay, .overlay .overlay-close {
 position: relative;
 width: 55px;
 height: 100%;
 z-index: 50;
 border: 0;
 cursor: pointer;
 background: var(--main-bg);
 margin: 0 15px 0 0;
}

#trigger-overlay {
 z-index: 100;
}

#trigger-overlay.active {
 z-index: 200;
}

.overlay .overlay-close {
 opacity: 0;
}

#trigger-overlay span {
	position: absolute;
	top: 50%;
	left: 50%;
	right: 0;
	width: 30px;
	height: 2.2px;
	margin-top: -1.5px;
	background: #333;
	transition: all 0.3s;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	cursor: pointer;
}

#trigger-overlay.active span {
	background-color: transparent;
}

#trigger-overlay span:after,
#trigger-overlay span:before {
	position: absolute;
	left: 0;
	width: 30px;
	height: 100%;
	background: #333;
	content: '' !important;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;

	-ms-transition: all 0.3s;
	border-radius: 7px;
}


#trigger-overlay span:before {
	transform: translateY(-400%);
	-webkit-transform: translateY(-400%);
	-moz-transform: translateY(-400%);
	-ms-transform: translateY(-400%);
}
#trigger-overlay span:after {
	transform: translateY(400%);
	-webkit-transform: translateY(400%);
	-moz-transform: translateY(400%);
	-ms-transform: translateY(400%);
}
#trigger-overlay.active span:before {
	transform: translateY(0) rotate(45deg);
	-webkit-transform: translateY(0) rotate(45deg);
	-moz-transform: translateY(0) rotate(45deg);
	-ms-transform: translateY(0) rotate(45deg);
}
#trigger-overlay.active span:after {
	transform: translateY(0) rotate(-45deg);
	-webkit-transform: translateY(0) rotate(-45deg);
	-moz-transform: translateY(0) rotate(-45deg);
	-ms-transform: translateY(0) rotate(-45deg);
}
#trigger-overlay.active span:after,
#trigger-overlay.active span:before {
	background-color: #333;
}




@media screen and (max-width : 980px){

 .head_h1 {
  display: none;
 } 
 
.pc_logo {
 display: none;
}

.sp_logo {
 display: block;
}
 
.h_logo img {
    margin: 0 0 0 0;
} 
 
#header {
 position: fixed;
 max-width: 980px;
 width: 100%;
 height: 56px!important;
 top: 0;
 left: 0;
 background: var(--main-bg);
} 
 
.h_flex {
 flex-direction: row;
 justify-content: space-between;
 width: 100%;
 height: 100%;
} 
 
.h_logo {
 width: 45px;
 text-align: left;
 padding: 6px 0 0 0;
 box-sizing: border-box;
 margin: 0 auto;
}
 
.hLogo_menu {
    width: 100%;
} 
 
.h_con {
    width: 50%;
} 
 
ul.h_conList {
    display: flex;
    margin: 0 60px 0 0;
    width: calc(100% - 60px);
} 
 

 
.sp_navList {
    display: flex;
    align-self: flex-start;
    position: absolute;
    top: 0;
    right: 0;
	height: 100%;
}
 
ul.h_conList {
    display: flex;
    margin: 0 56px 0 0;
    width: calc(100% - 56px);
    justify-content: flex-end;
}

.menu {
    padding: 20px 0 100px 0;
    overflow: auto;
    height: 100vh;
} 
 
/* Let's get this party started */
.menu::-webkit-scrollbar {
    width: 5px;
}

/* Track */
.menu::-webkit-scrollbar-track {
    background:#fff; /* rgba fallback */
        background:rgba(190,190,190,0.4);
    -webkit-border-radius: 10px;
    border-radius: 10px;
}

/* Handle */
.menu::-webkit-scrollbar-thumb {
   -webkit-border-radius: 10px;
    border-radius: 10px;
    background:#fff; /* rgba fallback */
        background:rgba(190,190,190,0.7);
}
.menu::-webkit-scrollbar-thumb:window-inactive {
        background:#fff; /* rgba fallback */
        background:rgba(190,190,190,0.7);
} 
	
	
.menu-item-201, .menu-item-202, .menu-item-203 {
	position: relative;
	}
	
	.menu-item-201 > a:before, 	.menu-item-201 > a:after, .menu-item-202 > a:before, .menu-item-202 > a:after, .menu-item-203 > a:before, .menu-item-203 > a:after {
	content: "";
	position: absolute;
	right: 1.25em;
	top: 1.25em;
	width: 2px;
	height: 0.75em;
	background-color: #fff;
	transition: all 0.3s;
	}
 
	.menu-item-201 > a:after, .menu-item-202 > a:after, .menu-item-203 > a:after {
    transform: rotate(90deg);
}	
	
	.menu-item-201 > a.active:before, .menu-item-202 > a.active:before, .menu-item-203 > a.active:before{
    transform: rotate(90deg) !important;
}	
 
.menu li a, .menu li a:hover, .menu li.current-menu-item a {
    background: none;
    color: #fff;
    border-bottom: 1px solid #fff;
    text-align: left;
    display: block;
    padding: 13px 0 13px 20px;
} 
	

	.sub-menu {
		display: none;
		padding: 13px 0;
		border-bottom: 1px solid #fff;
	}
	
	.menu .sub-menu li a, .menu .sub-menu li a:hover, .menu .sub-menu li.current-menu-item a {
		border-bottom: none!important;
		padding: 8px 0 8px 20px!important;
	}

  
.sp_option {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.8);
	z-index: 30;
	padding: 0 20px;
	box-sizing: border-box;
}
 
.overlay-hugeinc{
 visibility: hidden;
 -webkit-transform:translateY(100%);
 transform:translateY(100%);
 -webkit-transition: -webkit-transform 0.5s, visibility 0s 0.5s;
 transition: transform 0.5s, visibility 0s 0.5s;
}
 
.overlay-hugeinc.open {
 visibility: visible;
 -webkit-transform:translateY(calc(0% + 56px));
 transform:translateY(calc(0% + 56px));
 -webkit-transition: -webkit-transform 0.5s;
 transition: transform 0.5s;
} 
}


@media screen and (max-width : 767px){

#header {
 background: var(--bg-white);
}  
 

}

@media screen and (max-width : 767px){

.h_logo {
}
}


/*************　ヘッダー部分はここまで　 *******************************/
 
/*************　フッター部分はここから　 *******************************/
#footer {
 position: relative;
 width: 100%;
 margin: 0 auto;
 padding: 0 0 0 250px;
 box-sizing: border-box;
	
}

.copyright {
 color: #fff;
 font-size: 10px;
 font-weight: normal;
 text-align: center;
 padding: 16px 0 16px;
 background: #1f1f1f;
 letter-spacing: 1px;
}

.f_logo {
 text-align: center;
 margin: 0 0 24px 0;
}

.f_logoM_a {
 padding: 70px 0 120px 0;
 background: #1f1f1f;
 color: #fff;
	position: relative;
	z-index: 1;
}

.f_contact {
 padding: 120px 0 80px 0;
	background: #fff;
}

.fcBox {
 max-width: 320px;
 width: 100%;
 margin: 0 auto;
}

.fConList {
 padding: 50px 30px;
 background: #f7f7f7;
 display: flex;
 justify-content: space-between;
}

.fConList li{
 width: 50%;
}

.fConList li:first-child{
 border-right: 1px solid #c1c1c1;
}


.conTxt {
 font-size: 16px;
 font-size: 1.6rem;
 margin: 0 0 12px 0;
}

.tel_txtBtn {
 max-width: 320px; 
 width: 100%; 
 display: block;
 padding: 12px 0 12px;
 text-align: center;
 color: #fff;
 text-decoration: none;
 font-weight: normal;
 font-size: 16px;
 font-size: 1.6rem;
 border: 1px solid #fff;
 border-radius: 24px;
 letter-spacing: 2px;
 position: relative;
 line-height: 1.5;
 background: rgb(50,147,71);
 background: linear-gradient(90deg, rgba(50,147,71,1) 0%, rgba(88,234,127,1) 100%);
 -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
 font-family: 'Oswald', sans-serif;
}


.f_navBox {
 max-width: 850px;
 width: 100%;
 margin: 0 auto;
 display: flex;
}

.f_nav {
 margin: 0 5% 0 0;
 width: 23%;
}

.f_nav:last-child {
 margin: 0 0 0 0;
 width: 16%;
}

.f_nav li a{
 font-size: 14px;
 color: #fff;
}

.f_nav li a:hover {
	color: #c9c9c9;
	text-decoration: none;
}

.f_link01 {
 padding: 0 0 16px 0;
 border-bottom: 1px solid #707070;
 margin: 0 0 30px 0;
 font-size: 13px;
}

.f_link02 {
 padding: 0 0 12px 0;
 font-size: 12px;
}

.f_link03 {
 padding: 0 0 45px 0;
 font-size: 13px;
}

.no_link {
 pointer-events: none;
}

@media screen and (max-width: 980px) {
 
#footer {
 padding: 0 0 0 0;
} 
 
.f_contact {
    padding: 70px 0 60px 0;
} 
 
.fConList {
 padding: 32px 20px;
 flex-direction: column;
}
 
.fConList li {
 width: 100%;
} 
 
.fConList li:first-child {
 border-right: 0;
 padding: 0 0 30px 0;
 margin: 0 0 30px 0;
 border-bottom: 1px solid #c1c1c1;
} 
 
.conTxt {
 text-align: center;
} 
 
.f_navBox {
 display: block;
} 
 
.f_nav {
 margin: 0 0 0 0;
 width: 100%;
} 
 
.f_nav:last-child {
 margin: 30px 0 0 0;
 width: 100%;
} 

.f_sub {
	margin: 0 0 30px 0;		
}	
 
.f_link01 {
 padding: 0 0 12px 0;
 margin: 0 0 20px 0;
} 
 
.f_link02 {
 padding: 0 0 10px 0;
 font-size: 12px;
} 
	
.f_nav li .f_link01 a {
    font-size: 13px;
}	
	
.f_nav li .f_link02 a {
    font-size: 12px;
	font-weight: 500;
}	

	
.f_link03 {
    padding: 0 0 24px 0;
} 
 
.f_logoM_a {
    padding: 50px 0 20px 0;
    background: #1f1f1f;
    color: #fff;
} 
 
.copyright {
    text-align: left;
    padding: 0 20px 16px;
 box-sizing: border-box;
 width: auto;
} 
 
}




/************* ページトップ *******************************/

#pagetop {
	position: fixed;
	bottom: 0;
	right: 20px;
	z-index: 9999;
	width: 80px;
	height: auto;
	padding: 0 0 0 0;
}

#pagetop a {
	height: 100%;
	display: block;
	position: relative;
	opacity: 1;
}

#pagetop a:before {
	content: "ページトップ";
	position: absolute;
	left: -10px;
	top: -30px;
	font-size: 16px;
	color: #329347;
	font-weight: 700;
	font-family: 'Noto Serif JP';
	letter-spacing: -1px;
}

#pagetop img {
  font-size: 0;
  line-height: 0;
  -webkit-transform-origin: 50% 100%;
  -ms-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
}

#pagetop img {
  width: 80px;
}

#pagetop:hover img {
  -webkit-animation: boyo2 1s linear 0s infinite forwards;
  animation: boyo2 1s linear 0s infinite forwards;
}

@-webkit-keyframes boyo2 {
  0% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  30% {
    -webkit-transform: scale(1.3, 0.8);
    transform: scale(1.3, 0.8);
  }
  40% {
    -webkit-transform: scale(1.3, 0.8);
    transform: scale(1.3, 0.8);
  }
  50% {
    -webkit-transform: scale(0.95, 1.08);
    transform: scale(0.95, 1.08);
  }
  60% {
    -webkit-transform: scale(1.15, 0.9);
    transform: scale(1.15, 0.9);
  }
  70% {
    -webkit-transform: scale(0.98, 1.02);
    transform: scale(0.98, 1.02);
  }
  100% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}

@keyframes boyo2 {
  0% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  30% {
    -webkit-transform: scale(1.3, 0.8);
    transform: scale(1.3, 0.8);
  }
  40% {
    -webkit-transform: scale(1.3, 0.8);
    transform: scale(1.3, 0.8);
  }
  50% {
    -webkit-transform: scale(0.95, 1.08);
    transform: scale(0.95, 1.08);
  }
  60% {
    -webkit-transform: scale(1.15, 0.9);
    transform: scale(1.15, 0.9);
  }
  70% {
    -webkit-transform: scale(0.98, 1.02);
    transform: scale(0.98, 1.02);
  }
  100% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}

@media screen and (max-width: 767px) {

}
/*************　フッター部分はここまで　 *******************************/



/*************　下層メインVisual　 *******************************/

.page_mainVisual {
 margin: 0 0 0 0;
 position: relative;
}

.page_mainVisual:after {
 content: "";
 position: absolute;
 right: 0;
 bottom:0;
 width: 0;
 height: 250px;
 background: rgb(50,147,71);
 background: linear-gradient(90deg, rgba(50,147,71,1) 0%, rgba(88,234,127,1) 100%);
 z-index: -1;
 display: block;
 -webkit-transition: width 0.5s cubic-bezier(0.45, 0, 0.55, 1);
  -o-transition: width 0.5s cubic-bezier(0.45, 0, 0.55, 1);
  transition: width 0.5s cubic-bezier(0.45, 0, 0.55, 1);
}

.page_mainVisual:before {
 content: "";
 position: absolute;
 left: 0;
 top:0;
 width: 0;
 height: 325px;
 background: url(../img/page_visual/realestate_main.webp) 50% 50% no-repeat;
 background-size: cover;
 -webkit-transition: width 0.5s cubic-bezier(0.45, 0, 0.55, 1) 0.5s;
    -o-transition: width 0.5s cubic-bezier(0.45, 0, 0.55, 1) 0.5s;
    transition: width 0.5s cubic-bezier(0.45, 0, 0.55, 1) 0.5s;
}


.page_mainVisual.-animation:before{
  width: 90%;
}

.page_mainVisual.-animation:after {
  width: 66%;
}
.main_imgBox .inner {
 height: 325px;
}

.main_imgBox {
	position: relative;
}

.main_imgBox:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.2);
	width: 90%;
	height: 100%;
}


.greeting_main:before, .philosophy_main:before, .vision_main:before, .profile_main:before {
 background: url(../img/page_visual/company_main.webp) 50% 50% no-repeat;
 background-size: cover;
}

.sdgs_main:before {
 background: url(../img/page_visual/contribution_main.webp) 50% 50% no-repeat;
 background-size: cover;
}

.save_the_children_main:before{
 background: url(../img/page_visual/save_the_children_main.webp) 50% 50% no-repeat;
 background-size: cover;
}

.news_main:before{
 background: url(../img/page_visual/news_main.webp) 50% 50% no-repeat;
 background-size: cover;
}

.insurance_main:before{
 background: url(../img/page_visual/insurance_main.webp) 50% 50% no-repeat;
 background-size: cover;
}
.others_main:before{
 background: url(../img/page_visual/others_main.webp) 50% 50% no-repeat;
 background-size: cover;
}

.philosophy_main:before{
 background: url(../img/page_visual/philosophy_main.webp) 50% 50% no-repeat;
 background-size: cover;
}

.profile_main:before{
 background: url(../img/page_visual/profile_main.webp) 50% 50% no-repeat;
 background-size: cover;
}

 

@media only screen and (max-width: 980px){

.page_mainVisual {
  margin: 56px 0 0 0;
}
} 

@media only screen and (max-width: 767px){
.page_mainVisual.-animation:after {
    width: 96%;
}
 
.page_mainVisual:before {
    height: 200px;
} 
 
.main_imgBox .inner {
    height: 200px;
} 
 
.page_mainVisual:after {
    height: 170px;
} 

.sdgs_main:before {
    background: url(../img/page_visual/contribution_main.webp) 12% 50% no-repeat;
    background-size: cover;
}	
 
}


.under_mainTxt {
 position: absolute;
 left: 0;
 top: 40%;
 transform: translateY(-40%);
 width: 100%;
 text-align: left;
 z-index: 1;
 padding: 0 0 0 50px;
 box-sizing: border-box;
}
.page_main_tit {
    position: relative;
    font-size: 38px;
    font-size: 3.8rem;
    color: #fff;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 7px;
    font-weight: 600;
    display: inline-block;
}


@media only screen and (max-width: 767px){

.page_main_tit {
	font-size: 24px;
	font-size: 2.4rem;
	letter-spacing: 1px;
} 
 
.under_mainTxt {
	padding: 0 0 0 20px;
	top: 50%;
	transform: translateY(-50%);
}
 
}
 

/************* トップページ *******************************/
#mainimg {
 position: relative;
	height: 100vh;
}

video {
	position: fixed;
	right: 50%;
	top: 0;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -10;
	transform: translateX(55%);
}


#key_wrap {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;
    #keyVisual {
        width: 100%;
        height:100%;
        position: relative;
        .videoBox {
            position: relative;
            width: 100%;
            height: 100%;
            video {
                min-height: 100%;
                min-width: 100%;
                position: fixed;
                top: 0;
                left: 0;
                overflow: hidden;
            }
        }
    }
}


.main_txtWrap {
 max-width: 1040px;
 width: 100%;
 margin: 0 auto;
 height: 100vh;
 position: relative;
}

.main_txtBox {
  position: absolute;
 top: 50%;
 left: 0;
 transform: translateY(-50%);
 text-align: left;
 width: 100%;
 box-sizing: border-box;
 z-index: 10;
}
.main_txt {
 text-align: center;
}

@media screen and (max-width : 980px){
video {
	right: 50%;
	transform: translateX(50%);
}
	
}


@media screen and (max-width : 767px){
 
#mainimg {
} 
 
.mainImg_wrap {
 height: 90vh;
}	 
	
#mainimg {
	position: relative;
	height: auto;
	margin: 56px 0 0 0;
}
	
video {
	right: auto;
	transform: initial;
	top: auto;
	position: initial;
	height: auto;
	width: 100%;
}	
 
}

.top_txtBox {
 margin: 0 0 40px 0;
}

.scroll_txt {
  position: absolute;
 left: 50%;
 bottom: 0;
 transform: translateX(-50%);
}

.s_arrow {
    position: absolute;
    width: 20px;
    height: 2px;
    opacity: 0;
    transform: scale3d(0.5, 0.5, 0.5);
    animation: move 3s ease-out infinite;
    left: 17px;
    top: 10px;
}

.s_arrow:first-child {
  animation: move 3s ease-out 1s infinite;
}

.s_arrow:nth-child(2) {
  animation: move 3s ease-out 2s infinite;
}

.s_arrow:before,
.s_arrow:after {
  content: ' ';
  position: absolute;
  top: 0;
  height: 100%;
  width: 51%;
  background: var(--bg-white);
}

.s_arrow:before {
  left: 0;
  transform: skew(0deg, 30deg);
}

.s_arrow:after {
  right: 0;
  width: 50%;
  transform: skew(0deg, -30deg);
}

@keyframes move {
  25% {
    opacity: 1;

  }
  33% {
    opacity: 1;
    transform: translateY(30px);
  }
  67% {
    opacity: 1;
    transform: translateY(40px);
  }
  100% {
    opacity: 0;
    transform: translateY(55px) scale3d(0.5, 0.5, 0.5);
  }
}

.s_text {
  display: block;
  margin-bottom: 30px;
  font-size: 16px;
  color: var(--color-white);
  text-transform: uppercase;
  white-space: nowrap;
  animation: pulse 2s linear alternate infinite;
}

.s_text a {
    height: 60px;
    display: block;
 color: var(--color-white);
}

.s_text a:hover {
    text-decoration: none;
}

@keyframes pulse {
  to {
    opacity: 1;
  }
}

.top_list01 {
 display: flex;
}

.top_list01 li {
 width: calc(33.3333333333333% - 2px / 3);
 margin: 0 2px 0 0;
 position: relative;
	height: 218px;
 overflow: hidden;
}

.top_list01 li:nth-child(3n), .top_list01 li:last-child {
 margin: 0 0 0 0;
}

.top_list01 li:before {
 position: absolute;
 content: "";
 display: block;
 width: 100%;
 height: 100%;
 -webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
}

.top_list01 li:hover:before {
opacity: .8;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}

.top_list01 li.b_img01:before {
 background: url(../img/index/top_img01.webp) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li.b_img02:before {
 background: url(../img/index/top_img02.webp) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li.b_img021:before {
 background: url(../img/index/top_img021.webp) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li.b_img03:before {
 background: url(../img/index/top_img03.webp) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li.c_img01:before {
 background: url(../img/index/top_img04.webp) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li.c_img02:before {
 background: url(../img/index/S__139477028_0.jpg) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li.c_img03:before {
 background: url(../img/index/top_img06.webp) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li.c_img04:before {
 background: url(../img/index/top_img10.webp) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li.a_img01:before {
 background: url(../img/index/top_img07.webp) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li.a_img02:before {
 background: url(../img/index/top_img08.webp) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li.a_img11:before {
 background: url(../img/index/top_img13.jpg) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li.a_img12:before {
 background: url(../img/index/top_img11.jpg) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li.a_img13:before {
 background: url(../img/index/top_img14.jpg) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li.a_img14:before {
 background: url(../img/index/top_img12.jpg) 50% 50% no-repeat;
 background-size: cover;
}

.top_list01 li a{
 display: block;
 color: #fff;
 position: relative;
 height: 218px;
	background: rgba(0,0,0,0.15);
}

.top_list01 li.no_mask a{
	background: rgba(0,0,0,0);
	border: 1px solid #ccc;
}

.top_list01 li p.tl_txt{
 position: absolute;
 left: 50%;
 top: 50%;
 transform: translate(-50%, -50%);
	color: #fff;
	width: 100%;
	text-align: center;
}

.top_list01 li a:before{
 content: "";
 position: absolute;
 bottom: 0;
 right: 0;
 width: 31px;
 height: 31px;
 background: #fff;
}

.top_list01 li a:after{
 content: '';
 width: 8px;
 height: 8px;
 border-top: solid 2px #4f914f;
 border-right: solid 2px #4f914f;
 transform: rotate(45deg);
 position: absolute;
 bottom: 9px;
 right: 12px;
}

.top_list01 li a:hover {
 background: rgba(0,0,0,0.55);
}

@media only screen and (max-width: 767px){
.top_list01 {
	display: block;
}
 
.top_list01 li {
	width: 100%;
	margin: 0 auto;
	height: 133px;
} 

.top_list01 li.a_img02:before {
	background: url(../img/index/top_img08.webp) 50% 50% no-repeat;
	background-size: auto 150px;
}		
	
.top_list01 li a {
	height: 133px;
} 
	
.top_list01 li.no_mask:first-child {
	margin: 0 0 2px 0;
} 	
 
}




/*画面サイズが980px以下に適用*/
@media screen and (max-width : 1280px){
.main_txtBox {
    left: 20px;
    width: calc(100% - 40px);
    top: 75%;
    transform: translateY(-75%);
}
 
	
}

@media screen and (max-width : 767px){
.main_txtBox {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: 200px;
    width: 100%;
}

}


/*画面サイズが330px以下に適用*/
@media screen and (max-width : 330px){


}








/*************　下層ページ共通　 *******************************/

.post {
	min-height: 200px;
}

.post p {
	margin: 0 0 20px 0;
}

.post p:last-child {
	margin: 0 0 0 0;
}

.padding_box {
	padding: 0 20px 0 20px;
}

.tit_txt {
 font-size: 39px;
 color: #329347;
 line-height: 1.6;
 font-family: 'Noto Serif JP';
 font-weight: 600;
 letter-spacing: 4px;
}

.sub_tit01 {
 font-size: 16px;
 text-align: center;
 color: #329347;
 margin: 0 0 20px 0;
}

.sub_tit01.left_txt {
	text-align: left;
}

.sub_tit02 {
 font-size: 30px;
 text-align: center;
 color: #329347;
 margin: 0 0 20px 0;
 line-height: 1.5;
 font-weight: 600;
}

.sub_tit03 {
 font-size: 17px;
 text-align: center;
 color: #333;
 margin: 0 0 20px 0;
 line-height: 1.5;
 font-weight: 600;
}

.sub_tit04 {
 font-size: 16px;
 text-align: left;
 color: #329347;
 margin: 0 0 6px 0;
	font-weight: 700;
}

.page_eTit {
 font-size: 140px;
 color: #def0e6;
 line-height: 1;
 margin: 0 0 80px 0;
 text-transform: capitalize;
font-family: 'Noto Serif JP';
}

.page_sec {
 padding: 40px 0 0 0;
}

.page_sec01 {
 padding: 40px 0 120px 0;
}

.page_sec02 {
 padding: 0 0 120px 0;
}

.page_sec03 {
 padding: 120px 0 120px 0;
}

.page_sec03_01 {
 padding: 60px 0 80px 0;
}

.page_sec04 {
 padding: 120px 0 0 0;
}

.page_sec05 {
 background: #f7f7f7;
 padding: 120px 0 120px 0;
}
 

@media only screen and (max-width: 767px){

 
 .page_sec01 {
 padding: 40px 0 60px 0;
}

.page_sec02 {
 padding: 0 0 60px 0;
}

.page_sec03 {
 padding: 60px 0 60px 0;
}

.page_sec04 {
 padding: 60px 0 0 0;
}

.page_sec05 {
 padding: 60px 0 60px 0;
}
 
.page_eTit {
	font-size: 50px;
	margin: 0 0 40px 0;
}	
 
 
.tit_txt {
 font-size: 24px;
 letter-spacing: 2px;
} 
 
.page_sec01 {
 padding: 50px 0 50px 0;
}

.page_sec02 {
 padding: 0 0 50px 0;
}

}
  
.arrowTxt {
 font-size: 16px;
 text-align: center;
 font-weight: 600;
 position: relative;
 padding: 0 0 50px 0;
 margin: 0 0 80px 0;
}

.arrowTxt:before {
 content: '';
 width: 52px;
 height: 15px;
 background: url(../img/common/down.png) 0 0 no-repeat;
 position: absolute;
 bottom: 0;
 left: 50%;
 margin: 0 0 0 -26px;
}

.biru_moyo {
 background: url(../img/common/biru_moyo.png) 50% 100% repeat-x;
}

.txt_style01 {
 text-align: center;
 font-size: 20px;
 padding: 0 0 40px 0;
}

.txt_style02 {
 text-align: center;
 font-size: 16px;
 padding: 0 0 40px 0;
}

.realestateLIst02 {
 display: flex;
 justify-content: space-between;
 margin: 0 0 40px 0;
 padding: 0 0 55px 0;
 background: url(../img/common/down.png) 50% 100% no-repeat;
}

.realestateLIst02 li {
 width: 47%;
 display: flex;
}

.realestateLIst02 li .re_left{
 margin: 0 20px 0 0;
}

.re_right {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
}

.re_y{
 display: inline-block;
 background: #f2f2f2;
 padding: 2px 12px;
 margin: 0 0 8px 0;
}

.re_y01 {
  display: inline-block;
 background: #329347;
 color: #fff;
 padding: 2px 12px;
 margin: 0 0 8px 0;
}

@media only screen and (max-width: 767px){

.realestateLIst02 {
    display: block;
}
 
.realestateLIst02 li {
    width: 100%;
    display: flex;
}
 
.realestateLIst02 li:first-child {
margin: 0 0 16px 0;
 } 
 
.arrowTxt {
    padding: 0 0 40px 0;
    margin: 0 0 50px 0;
} 

}


.yearBox {
    text-align: center;
    margin: 0 0 5px 0;
}

.y_txt {
 display: inline-block;
 background: #000;
 color: #fff;
 padding: 4px 10px 5px;
 min-width: 130px;
 text-align: center;
 line-height: 1.5;
}

.re_txt01 {
 font-size: 20px;
 text-align: center;
 margin: 0 0 8px 0;
}

.t_color {
 color: #329347;
}

.re_txt02 {
 text-align: center;
 margin: 0 0 120px 0;
}

@media only screen and (max-width: 767px){
 .re_txt02 {
    text-align: center;
    margin: 0 0 50px 0;
}
}


.sankaku_Txt {
 max-width: 320px;
 width: 100%;
 margin: 0 auto;
 background: transparent linear-gradient(0deg, #58EA7F 0%, #329347 100%);
 -webkit-clip-path: polygon(0% 0%, 100% 0, 100% 72%, 50% 100%, 0 72%);
 clip-path: polygon(0% 0%, 100% 0, 100% 72%, 50% 100%, 0 72%);
 padding: 18px 0 45px;
}

.st_txt {
 text-align: center;
 font-size: 20px;
 color: #fff;
}


.list_style01 {
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
}

.list_style01 li {
 width: calc(33.33333333% - 80px / 3);
 margin: 0 32px 0 0;
 background: #f7f7f7;
 padding: 25px 25px 50px 25px;
}

.list_style01 li:nth-child(3n), .list_style01 li:last-child{
 margin: 0 0 0 0;
}

.list_img {
 background: #fff;
 padding: 20px;
 text-align: center;
 margin: 0 0 20px 0;
}

@media only screen and (max-width: 767px){
 
.list_style01 {
 display: block;
 justify-content: center;
 flex-wrap: wrap;
} 
 
.list_style01 li {
 width: 100%;
 margin: 0 0 24px 0;
 padding: 25px 25px 50px 25px;
} 
 
.list_style01 li:last-child {
 margin: 0 0 0 0;
}  
 
}

.insu_box01 {
 background: url(../img/insurance/insurance02.webp) 50% 50% no-repeat;
 background-size: cover;
 padding: 50px 0;
  margin: 35px calc(((100vw - 100% - 250px) / 2) * -1) 0 0;
}




.maru_box {
 display: flex;
 flex-direction: column;
 align-items: center;
 align-content: center;
 justify-content: center;
 width: 500px;
 height: 500px;
 background: #fff;
 border-radius: 50%;
 margin: 0 auto;
}

.mb_ctxy {
 font-size: 16px;
 text-align: center;
}


@media only screen and (max-width: 980px){
.insu_box01 {
    background: url(../img/insurance/insurance02_sp.webp) 50% 50% no-repeat;
    background-size: cover;
    padding: 280px 0 0;
    margin: 0 auto;
}
 
.maru_box {
 display: flex;
 flex-direction: column;
 align-items: center;
 align-content: center;
 justify-content: center;
 max-width: 767px;
 width: 100%;
 height: auto;
 background: none;
 border-radius: 50%;
 margin: 0 auto;
 position: relative;
} 
 
.maru_box:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 170.5px;
    background: rgba(255,255,255,0.9);
    clip-path: ellipse(66% 100% at 50% 100%);
}
 
 
 .maru_box:before {
 content: "";
 position: absolute;
 left: 0;
 bottom: 0;
 width: 100%;
 height: calc(100% - 170.5px);
 background: rgba(255,255,255,0.9);
} 
 
.sub_tit02 {
    font-size: 25px;
    position: relative;
    z-index: 1;
    padding: 50px 0 0 0;
}
 
.mb_ctxy {
    font-size: 13px;
    text-align: center;
    position: relative;
    z-index: 1;
    padding: 0 0 30px 0;
}
 
 
 
}


.fukidasi_tit {
 max-width: 372px;
 width: 100%;
 margin: 0 auto 40px;
 padding: 21px 10px 22px;
 box-sizing: border-box;
 background: #E5FAEE;
 position: relative;
 text-align: center;
 font-size: 18px;
 line-height: 1.5;
}

.fukidasi_tit:before {
 content: "";
 position: absolute;
 left: 50%;
 bottom: -20px;
 width: 35px;
 height: 20px;
 background: #E5FAEE;
 clip-path: polygon(50% 100%, 0 0, 100% 0);
 transform: translateX(-50%);
}

.fukidasi_tit.t_bg01 {
 background: #fff;
}

.fukidasi_tit.t_bg01:before {
 background: #fff;
}

.insuranceList {
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
}

.insuranceList li {
 width: calc(33.33333333% - 200px / 3);
 margin: 0 100px 50px 0;
}

.insuranceList li:nth-child(3n), .insuranceList li:last-child{
 margin: 0 0 50px 0;
}

.in_img01 {
 text-align: center;
 margin: 0 0 20px 0;
}

@media only screen and (max-width: 767px){

.insuranceList li {
    width: calc(50% - 60px / 2);
    margin: 0 30px 30px 0;
}
 
.insuranceList li:nth-child(2n), .insuranceList li:last-child {
    margin: 0 0 30px 0!important;
}
 
.insuranceList li:nth-child(3n){
    margin: 0 30px 30px 0;
} 

}

.flow_step {
 text-align: center;
}


.flowList {
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
}

.flowList li {
 width: calc(25% - 240px / 4);
 margin: 0 80px 0 0;
 position: relative;
}

.flowList li:last-child{
 margin: 0 0 0 0;
}

.flowList li:before {
 content: "";
 position: absolute;
 right: -30px;
 top: 50%;
 width: 16px;
 height: 53px;
 background: url(../img/common/flow_arrow.png) 0 0 no-repeat;
 transform: translateY(-50%);
}

.flowList li:last-child:before {
 right: 0;
 background: none;
}


@media only screen and (max-width: 767px){
.flowList li {
    width: calc(50% - 100px / 2);
    margin: 0 50px 0 0;
    position: relative;
} 
 
.flowList li:last-child {
    margin: 0 50px 0 0;
} 
 
}



.lead_txt {
 font-size: 32px;
 color: #329347;
 line-height: 1.6;
 font-family: 'Noto Serif JP';
 font-weight: 600;
 letter-spacing: 4px;
 text-align: center;
 margin: 0 0 60px 0;
}

.lead_txt01 {
 font-size: 24px;
 color: #333;
 line-height: 1.6;
 font-family: 'Noto Serif JP';
 font-weight: 600;
 letter-spacing: 4px;
 text-align: left;
 margin: 20px 0 48px 0;
	text-align: center;
}

.greeting_box{
	padding: 40px 0 0;
	background: #f7f7f7;
}



@media only screen and (max-width: 767px){
.lead_txt {
	font-size: 24px;
	letter-spacing: 1px;
	margin: 0 0 40px 0;
}
}

.fudouLIst {
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
 margin: 0 0 40px 0;
}

.fudouLIst li {
 width: calc(20% - 320px / 5);
 margin: 0 80px 0 0;
 position: relative;
}

.fudouLIst li:last-child{
 margin: 0 0 0 0;
}

.fudouLIst li:before {
 content: "";
 position: absolute;
 right: -50px;
 top: 50%;
 width: 16px;
 height: 53px;
 background: url(../img/common/fudou_arrow.png) 0 0 no-repeat;
 transform: translateY(-50%);
}

.fudouLIst li:last-child:before {
 right: 0;
 background: none;
}

.fudouImg {
 text-align: center;
 margin: 0 0 16px 0;
}

.fudouTit {
 font-size: 16px;
text-align: center;
 line-height: 1.5;
}

@media only screen and (max-width: 767px){

.fudouLIst li {
    width: calc(33.3333333% - 80px / 3);
    margin: 0 40px 0 0;
    position: relative;
}

.fudouLIst li:nth-child(3n) {
    margin: 0 0 0 0;
} 
 
.fudouLIst li:nth-child(n+4) {
 margin-top: 40px;
}  
 
.fudouLIst li:before {
 right: -30px;
} 
 
.fudouLIst li:nth-child(3):before {
  background: none;
}  
 
.fudouTit {
 font-size: 12px;
} 
 
}

/************* お知らせ部分 *******************************/
.top_wtit {
 color: #333;
}

.n_cont {
 padding: 0;
}

.nT_box {
 display: flex;
 justify-content: space-between;
 margin: 0 0 16px 0;
}

.time_txt {
 font-size: 12px;
 color: #555;
 font-family: 'Oswald', sans-serif;
 margin: 0 0 0 0!important;
}

.cate_txt {
 display: inline-block;
 font-size: 12px;
 border: 1px solid #EFEFEF;
 padding: 2px 15px;
 margin: 0 0 0 0!important;
}

.news_tBox {
 position: relative;
 padding: 0 80px 0 0;
}

.more_btn {
 position: absolute;
 top: 20px;
 right: 0;
}

.more_btn a{
 font-size: 12px;
 position: relative;
 padding: 0 40px 0 0;
 display: block;
}

.more_btn a:hover{
 text-decoration: none;
	color: #329347;
}

.more_btn a:after{
 content: "";
 position: absolute;
 top: 2px;
 right: 10px;
 width: 18px;
 height: 18px;
 background: #329347;
 border-radius: 50%;
 -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.more_btn a:before {
 content: '';
 width: 4px;
 height: 4px;
 border-top: solid 1px #fff;
 border-right: solid 1px #fff;
 transform: rotate(45deg);
 position: absolute;
 top: 9px;
 right: 17px;
 z-index: 1;
 -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.more_btn a:hover:before {
 right: 7px;
}

.more_btn a:hover:after{
 right: 0;
}

.slider_image{
 position: relative;
 overflow: hidden;
 height: 110px;
 display: flex;
 justify-content: center;
 align-items: center;
 border: 1px solid #EFEFEF;
 margin: 0 0 12px 0;
}

.slider_image img{
 max-width: 247px;
 width: 100%;
 transition: .3s;
}

.swiper-slide a:hover .slider_image img{
 transform: scale(1.1);
}

.no_imgLogo img {
 max-width: 60px;
 width: 100%;
}

.news_slider {
    margin: 35px calc(((100vw - 100% - 250px) / 2) * -1) 0 0;
    overflow: hidden;
}

.swiper-slide a:hover {
 text-decoration: none;
}

.swiper-slide a:hover .top_wtit{
 color: #329347;
}



:root {
  --easing: cubic-bezier(.2, 1, .2, 1);
  --transition: .8s var(--easing);
  --color-base: #f8f8f8;
  --color-gray: #ddd;
  --color-theme: #f5695f;
  --color-theme-darken: #f12617;
  --box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
  --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
  --box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
  --box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff,.2);
}

.news_slider {
  overflow: hidden;
}
.news_slider .swiper {
  overflow: visible;
}
.news_slider .swiper-controller {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 3.2rem;
 max-width: 1040px;
 width: 100%;
}
.news_slider .swiper-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 1.2rem 0.8rem;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0 auto 0 0;
  text-align: center;
}
.news_slider .swiper-pagination-bullet {
  width: 1.6rem;
  height: 3px;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  vertical-align: top;
  background-color: var(--color-gray);
}
.news_slider .swiper-pagination-bullet-active {
  width: 4rem;
  background-color: var(--color-theme);
}
.news_slider .swiper-button-prev, .news_slider .swiper-button-next {
  position: relative;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin: 0;
}
.news_slider .swiper-button-disabled {
  pointer-events: none;
  opacity: 0.5;
}
.news_slider .swiper-button-disabled::before {
  -webkit-box-shadow: var(--box-shadow-inset);
          box-shadow: var(--box-shadow-inset);
}
.news_slider .swiper-slide {
 max-width: 288px;
 width: 100%;
 border-right: 1px solid #EAF2F4;
 padding: 0 20px 0 0;
}

.news_slider .slide {
  overflow: hidden;
  width: 36rem;
  border-radius: 4px;
  -webkit-box-shadow: var(--box-shadow);
          box-shadow: var(--box-shadow);
}
@media only screen and (max-width: 599px) {
  .news_slider .slide {
    width: 24rem;
  }
}
@media only screen and (min-width: 980px) {
 
  .news_slider .slide {
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }
  .news_slider .slide img {
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }
  .news_slider .slide:hover {
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
    -webkit-box-shadow: var(--box-shadow-hover);
            box-shadow: var(--box-shadow-hover);
  }
  .news_slider .slide:hover img {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.news_slider .slide-media {
  padding-top: 62.5%;
}
.news_slider .slide-media img {
  height: calc(100% + 16px);
  -webkit-transform: translateY(-16px);
          transform: translateY(-16px);
}
.news_slider .slide-content {
  padding: 3.2rem;
}
.news_slider .slide-date {
  font-size: 1.2rem;
  line-height: 1;
  display: block;
  color: var(--color-theme);
}
.news_slider .slide-title {
  line-height: 1.6;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  height: 3.2em;
  margin-top: 1.6rem;
}
/* 前へ / 次へボタン */
.swiper-button-prev, .swiper-button-next {
  display: grid;
  place-content: center;
  width: 42px;
  height: 42px;
  cursor: pointer;
 border: 1px solid #D8EFE4;
 border-radius: 50%;
}
.swiper-button-prev::before, .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
}
.swiper-button-prev::after, .swiper-button-next::after {
 content: "";
 position: absolute;
 width: 17px;
 height: 10px;
 top: 15px;
 left: 12px;
}
.swiper-button-prev::after {
  background: url(../img/common/arrow_prev.png) 0 0 no-repeat;
}
.swiper-button-next::after {
  background: url(../img/common/arrow_next.png) 0 0 no-repeat;
}
.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}

@media only screen and (max-width: 980px) {

.news_slider {
 margin: auto;
 overflow: hidden;
} 
 
}


.t_news_box {
 margin: 0 0 40px 0;
}

dl.info_dl {
	padding: 20px 40px 20px 20px;
	border: solid #b5b5b5;
	border-width: 0 0 1px 0;
 display: flex;
 align-items: center;
 position: relative;
}

.t_news_box a:first-child dl.info_dl{

	border-width: 1px 0 1px 0;
}

dl.info_dl dt {
    width: 110px;
    margin: 0 0 0 0!important;
}

dl.info_dl dd{
	max-width: calc(100% - 110px);
    width: 100%;
}

.t_news_box a{
	color: var(--color-main);
 padding: 0 0 0 0;
 position: relative;
 display: block;
}

.t_news_box a::before {
 content: '';
 width: 6px;
 height: 6px;
 border-top: solid 2px var(--txt-color);
 border-right: solid 2px var(--txt-color);
 transform: rotate(45deg);
 position: absolute;
 top: 40%;
 right: 20px;
}

.t_news_box a:hover{
	color: var(--color-white);
 background: var(--bg-color01);
 text-decoration: none;
}


.t_news_box a:hover:before{
	border-top: solid 2px var(--color-white);
 border-right: solid 2px var(--color-white);
}



.new_ico {
 position: absolute;
 left: 0;
 top: 0;
 width: 40px;
 color: var(--color-white);
 background: #e57d7d;
 text-align: center;
 font-size: 12px;
 line-height: 1.5;
 padding: 0 0 1px 0;
 text-transform: uppercase;
}

@media only screen and (max-width: 980px){

dl.info_dl {
    padding: 24px 10px 16px;
    display: block;
} 
 
dl.info_dl dt {
    width: auto;
    margin: 0 0 0 0!important;
} 
 
dl.info_dl dd {
    max-width: 100%;
    width: 100%;
} 
 
}

@media only screen and (max-width: 767px){

.news_slider {
 margin: auto;
} 
 
.news_slider .swiper-wrapper {
 display: block;
}
 
.news_slider .swiper-slide {
 max-width: 100%;
 width: 100%;
 border-right: 0;
 padding: 20px 20px 20px 0;
 border-bottom: 1px solid #efefef;
 box-sizing: border-box;
}

.news_slider .swiper-slide:first-child {
 border-top: 1px solid #efefef;
}
 
.swiper-slide a {
 display: flex;
 align-items: center;
} 

.slider_image {
 height: auto;
 max-width: 100px;
 width: 100%;
 border: none;
} 
 
.no_imgLogo img {
    max-width: 40px;
} 

.nT_box {
 margin: 0 0 0 0;
}
 
.swiper-slide a:hover .slider_image img {
    transform: scale(1);
}
 
.n_cont {
 width: calc(100% - 100px);
    padding: 0 0 0 20px;
 box-sizing: border-box;
}
 
.news_slider .swiper-controller {
    display: none;
} 
 
 
 
 
 
 
}

.top_greetingBox {
 position: relative;
	background: #fff;
}

.pos_rel {
 position: relative;
	z-index: 1;
}

.top_greetingBox:after {
 content: "";
 position: absolute;
 left: 0;
 bottom: 0;
 width: 100%;
 height: 232px;
 background: rgb(50,147,71);
background: linear-gradient(90deg, rgba(50,147,71,1) 0%, rgba(88,234,127,1) 100%);
}

.greeting_Box {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
}

.com_info {
	padding: 0 0 34px 125px;
}

.greeting_txt {
 font-size: 70px;
 color: #def0e6;
 line-height: 1.2;
 font-weight: 500;
 padding: 0 0 0 0;
 font-family: 'Noto Serif JP';
 letter-spacing: 2px;
}

.com_name {
 font-size: 17px;
 color: #fff;
 margin: 0 0 6px 0;
	letter-spacing: 1px;
}

.yakusyoku {
 font-size: 17px;
 color: #fff;
 line-height: 1.4;
	margin: 0 0 5px 0;
}

.dir_name {
 font-size: 40px;
 color: #fff;
 line-height: 1.0;
 margin: 0 0 20px 0;
	letter-spacing: 3px;
}

@media only screen and (max-width: 767px){

.top_greetingBox:after {
    height: 200px;
} 
 
.greeting_txt {
 font-size: 40px;
 line-height: 1.0;
 padding: 20px 0 40px 0;
 letter-spacing: inherit;
}

.com_info {
    padding: 0 0 34px 0;
}
	
.com_name {
 font-size: 13px;
 margin: 0 0 10px 0;
} 

.yakusyoku {
 font-size: 13px;
 margin: 0 0 4px 0;
} 
 
.dir_name {
 font-size: 32px;
 margin: 0 0 16px 0;
} 
 
.top_greetingBox .btn_style {
 max-width: 160px;   
 margin: 0 0 0 0;
} 
 
.top_greetingBox .btn_style a {
 padding: 4px 0 4px;
 font-size: 14px;
 font-size: 1.4rem;
} 
 
.btn_style a:before {
 top: 11px;
 right: 20px;
} 
 
 
}

.top_recruit {
 position: relative;
 background: url(../img/index/top_img09.webp) 50% 50% no-repeat;
 background-size: cover;
 padding: 120px 0;
}

.top_recruit:before {
 content: "";
 position: absolute;
 left: 0;
 top: 0;
 width: 100%;
 height: 100%;
 background: rgba(50,147,71,0.7);
}

.recruit_txt {
 text-align: center;
 line-height: 1.9;
 margin: 0 0 40px 0;
 color: #fff;
}

.v_wrap{
  display: none;
 padding: 0 60px;
 margin: 0 0 60px 0;
}
.v_wrap.slick-initialized{
  display: block; /*slick-initializedが付与されたら表示*/
}

.voice_box {
 background: #fff;
 padding: 40px;
}

.voice_cont {
 padding: 0 0 30px 0;
 margin: 0 0 20px 0;
 border-bottom: 1px solid #efefef;
}

.vNdl {
 display: flex;
}

.vNdl dt{
 width: 70px;
}

.v_wrap01 {
 padding: 0 60px;
}

.voice_box01 {
 padding: 40px;
 background: #fff;
}

.recruit_box {
 margin: 0 0 60px 0;
}

.recruit_box:last-child {
 margin: 0 0 0 0;
}

.recruit_boxInner {
 margin: 0 0 50px 0;
}

@media only screen and (max-width: 767px){

.top_recruit {
    background: url(../img/index/top_img09.webp) 33% 50% no-repeat;
    background-size: cover;
    padding: 50px 0;
}
	
.v_wrap {
    padding: 0 0px;
    margin: 0 0 100px 0;
}	
.v_wrap01 {
    padding: 0 0px;
}	
 
}


/************* 会社概要ページ *******************************/

table.table_style {
 border-collapse: collapse;
 border-spacing: 0;
 margin: 0px;
 width: 100%;
}

table.table_style th {
 padding: 20px;
 border: solid #efefef;
 border-width: 0 0 1px 0;
 vertical-align: top;
 width: 24%;
 font-size: 16px;
 font-size: 1.6rem;
 box-sizing: border-box;
}

table.table_style td {
 padding: 20px 20px 20px 30px;
 vertical-align: top;
 border: solid #efefef;
 border-width: 0 0 1px 0;
 font-size: 16px;
 font-size: 1.6rem;
 box-sizing: border-box;
 position: relative;
}


.google_map {
 
}

.google_map iframe{
 width: 100%;
 vertical-align: middle;
}

.com_name01 {
	font-size: 17px;
	color: #333;
	margin: 0 0 6px 0;
	font-family: 'Noto Serif JP';
	text-align: right;
	padding: 0 30px 0 0;
	box-sizing: border-box;
}

.yakusyoku01 {
 font-size: 17px;
 color: #333;
margin: 0 0 12px 0;
 line-height: 1.4;
	text-align: right;
}

.dir_name01 {
 font-size: 40px;
 color: #333;
 line-height: 1.0;
	font-family: 'Noto Serif JP';
	text-align: right;
	padding: 0 30px 0 0;
	box-sizing: border-box;
}
 
.messageBox {
	font-family: 'Noto Serif JP';
	font-size: 16px;
}

.name_txt01 {
	text-align:right;
	font-size: 15px;
	font-family: 'Noto Serif JP';
	font-weight: 700;
}

.name_txt01 span{
	font-size: 24px;
}



/* ------------------------------ ankerLink */


.anker_list {
  padding: 20px 0 60px 0;
  border-top: 1px solid #EAF2F4;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  counter-reset: number 0;
}

.anker_list > li {
  height: 35px;
  padding: 0 3px;
  text-align: center;
  font-size: 12px;
}

.anker_list > li:not(:first-child) {
  border-left: 1px solid #EAF2F4;
}

.anker_list > li > a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #999999;
  -webkit-transition: color 0.3s ease-in-out;
  -o-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
}

.anker_list > li > a:before {
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero) ".";
  margin-right: 0.3em;
  display: inline-block;
}

.anker_list > li > a:hover {
  color: #329347;
	text-decoration: none;
}

.anker_list > li.-prev > a, .anker_list > li.-next > a {
  position: relative;
}

.anker_list > li.-prev > a:after, .anker_list > li.-next > a:after {
  content: "";
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: 3.5px auto;
  background-position: center center;
  border: 1px solid #EAF2F4;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: calc(50% - 10px);
}

.anker_list > li {
  width: calc(100% / 3);
}

.philosophyBox {
	margin: 0 0 60px 0;
}

.rinen_ttl {
	margin:0 0 40px 0;
}


.rinen_ttl > span.sub {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.2em;
	margin: 0 0 20px 0;
}

.rinen_ttl > span.sub:before {
    content: "";
    width: 20px;
    height: 1px;
    margin-right: 15px;
    background: linear-gradient(90deg, rgba(50,147,71,1) 0%, rgba(88,234,127,1) 100%);
    display: inline-block;
    vertical-align: middle;
}

.rinen_ttl > span.main {
font-size: 25px;
font-weight: 400;
line-height: 1.6;
letter-spacing: 0.2em;
display: block;
font-family: 'Noto Serif JP';
}


@media screen and (max-width: 768px) {
  #philosophy01, #philosophy02, #philosophy03 {
    padding: 56px 0 0 0;
			margin: -56px 0 40px 0;
  }
}




.img_tit  {
 text-align: center;
 margin: 0 0 40px 0;
}

.stc_ico {
 display: inline-block;
 background: url(../img/safe_the_children/safe_the_children03.png) 0 0 no-repeat;
 padding: 14px 0 14px 60px;
}

@media only screen and (max-width: 767px){

.yakusyoku01 {
font-size: 14px;
margin: 0 0 8px 0;
}

.com_name01 {
	font-size: 14px;
}	
	
.dir_name01 {
	font-size: 24px;
	color: #333;
	line-height: 1.0;
	margin: 0 0 20px 0;
}
	
.lead_txt01.greet_txt {
    font-size: 16px;
    letter-spacing: auto;
    margin: 0px 0 18px 0;
}	
	
.ai-cen.greet_aicen {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	flex-direction: column-reverse;
	justify-content: center;
}
	
.greeting_box {
    padding: 40px 0 30px;
}	
	
}
	
	
.donation_flex {
    display: flex;
    margin: 0 0 0 0;
}
.donation_monthly {
    width: 49%;
    margin: 0 2% 0 0;
}
.donation_onetime {
    width: 49%;
}
.donation_link {
    margin: 0 0 20px 0;
}
.donation_link a {
    display: block;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 500;
    color: #fff;
    border: 1px solid #ed1c25;
    position: relative;
}
.donation_link a::after {
    content: '';
    width: 10px;
    height: 10px;
    background: transparent;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 10px;
}
.donation_monthly_link a {
    background: url(../img/safe_the_children/safe_the_children05.png) no-repeat 3% 50% #ed1c25;
    padding: 20px 15px 20px 80px;
}
.donation_onetime_link a {
    background: url(../img/safe_the_children/safe_the_children06.png) no-repeat 3% 50% #ed1c25;
    padding: 20px 15px 20px 60px;
}
.donation_monthly_link a:hover {
    color: #fff !important;
 text-decoration: none;
 background: url(../img/safe_the_children/safe_the_children05.png) no-repeat 3% 50% #ff424a;
}
.donation_onetime_link a:hover {
    color: #fff !important;
 text-decoration: none;
 background: url(../img/safe_the_children/safe_the_children06.png) no-repeat 3% 50% #ff424a;
}



 
@media only screen and (max-width: 767px){

.donation_monthly_link a {
	background: url(../img/safe_the_children/safe_the_children05.png) no-repeat 3% 50% #ed1c25;
	padding: 10px 15px 10px 40px;
	background-size: 30px;
}	

.donation_onetime_link a {
	background: url(../img/safe_the_children/safe_the_children06.png) no-repeat 3% 50% #ed1c25;
	padding: 10px 15px 10px 35px;
	background-size: 25px;
}	
	
.donation_link a {
	font-size: 15px;
	font-size: 1.5rem;
}	
	
.donation_link a::after {
	top: 44%;
}	
	
table.table_style th {
	padding: 10px 15px;
	width: auto;
	display: block;
}	
	
table.table_style td {
	padding: 20px 15px 20px 15px;
	width: auto;
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
}
 
table.table_style td:before {
	background: transparent;
} 
 
.google_map iframe {
	height: 300px;
} 
 
 }

/************* お知らせページ *******************************/

.newsList {
 display: flex;
 flex-wrap: wrap;
}

.newsList li {
 width: 33.333333333333%;
 margin: 0 0 0 0;
 padding: 50px 0 50px 0;
 box-sizing: border-box;
 border: solid #efefef;
 border-width: 1px 0 1px 0;
 position: relative;
}

.newsList li:nth-child(3n), .newsList li:last-child{
 margin: 0 0 0 0;
}

.newsList li:nth-child(n+4) {
 border-width: 0 0 1px 0;
}

.newsList li a {
 padding: 20px 30px;
 border: solid #efefef;
 border-width: 0 0 0 1px;
 display: block;
}

.newsList li:nth-child(3n) a {
 padding: 20px 30px;
 border: solid #efefef;
 border-width: 0 1px 0 1px;
 display: block;
}

.newsList li a:hover {
	text-decoration: none;
}

.newsList li a:hover .top_wtit {
    color: #329347;
}

.news_image{
 position: relative;
 overflow: hidden;
 height: 110px;
 display: flex;
 justify-content: center;
 align-items: center;
 border: 1px solid #EFEFEF;
 margin: 0 0 12px 0;
}

.news_image img{
 max-width: 247px;
 width: 100%;
 transition: .3s;
}

.newsList li a:hover .news_image img{
 transform: scale(1.1);
}

.news_image .no_imgLogo img {
    max-width: 60px;
    width: 100%;
}


@media only screen and (max-width: 767px){
 .newsList {
  display: block;
 }
 
.newsList li {
 width: 100%;
 padding: 20px 0 20px 0;
 border-width: 1px 0 1px 0;
} 
 
.newsList li a {
 padding: 0 20px 0 0;
 border: solid #efefef;
 border-width: 0 0 0 0;
 display: flex;
}
 
 .newsList li:nth-child(3n) a {
  padding: 0 20px 0 0;
 border: solid #efefef;
 border-width: 0 0 0 0;
 display: flex;
}
 
.newsList li .news_image {
 height: auto;
 max-width: 100px;
 width: 100%;
 border: none;
 margin: 0 0 0 0;
}
 
.news_image .no_imgLogo img {
 max-width: 40px;
 width: 100%;
} 

.newsList li a:hover .news_image img {
    transform: scale(1);
} 
 
.cate_txt {
    padding: 0px 15px;
} 
 
}


/************* 採用情報ページ *******************************/

.meritList {
 display: flex;
 justify-content: space-between;
 margin: 60px 0 0 0;
}

.meritList li {
 max-width: 320px;
 width: 100%;
 background: var(--bg-white);
 box-shadow: 3px 3px 10px 0px rgb(0 0 0 / 20%);
}


.m_num {
    position: absolute;
    left: 50%;
    top: -30px;
    width: 80%;
    background:var(--main-bg);
    border-radius: 10px;
    color: #fff;
    text-align: center;
    transform: translateX(-50%);
    padding: 10px 0 10px 0;
    box-sizing: border-box;
    font-size: 16px;
    letter-spacing: 2px;
}

.m_num span {
    display: inline-block;
    color: #fff;
    text-align: center;
    font-size: 28px;
    line-height: 1;
    font-weight: 900;
    font-family: 'Noto Serif JP', serif;
}


@media only screen and (max-width: 980px){

.meritList li {
    width: 31%;
} 
 

}

@media only screen and (max-width: 767px){

.meritList {
    display: block;
} 
 
.meritList li {
    max-width: 767px;
    width: 100%;
 margin: 0 0 60px 0;
} 
 
.meritList li:last-child {
 margin: 0 0 0 0;
} 
 
 
} 
 
 
.mContent {
 padding: 50px 20px 20px 20px;
 position: relative;
}

.recruit_name {
 font-size: 18px;
 text-align: right;
 font-family: 'Noto Serif JP', serif;
}

.recruit_name span{
 font-size: 15px;
}

.recruit_boxInner {
	margin: 0 0 40px 0;
}

.recruit_box {
 margin: 20px 0 60px 0;
}

.accordion_box{
 margin: 0 0 20px 0;
 border: 2px solid var(--color-main);
}

.accordion_box:last-child{
 margin: 0 0 0 0;
}


.accordion_box dt {
 color: var(--color-main);
 padding: 10px 20px;
 font-size: 18px;
 position: relative;
 text-align: center;
 cursor: pointer;
}

.accordion_box dd {
 padding: 0 20px;
 box-sizing: border-box;
}

.plus_btn {
position: absolute;
top: 50%;
right: 20px;
transform: translateY(-50%); 
display: block;
width: 24px;
height: 24px;
white-space: nowrap;
 
}
.plus_btn:before {
	display: block;
	content: '';
	background-color: var(--main-bg);
	position: absolute;
	width: 24px;
	height: 2px;
 top: 50%;
 transition: .3s; 
	transform: rotate(90deg) ;
	-webkit-transform: rotate(90deg); 
}

.plus_btn:after {
	display: block;
	content: '';
	background-color: var(--main-bg);
	position: absolute;
	width: 24px;
	height: 2px;
	top: 50%; 
 transition: .3s; 
}

.open .plus_btn:before {
	transform: rotate(0deg) ;
	-webkit-transform: rotate(0deg); 
}

.open .plus_btn:after {
	background-color: transparent;
}

/************* お問い合わせ Contact *******************************/

.white_box {
 padding: 40px;
 background: #fff;
}


.grecaptcha-badge {
    visibility: hidden;
}

table.table_contact {
 border-collapse: collapse;
 border-spacing: 0;
 margin: 0 0 50px 0;
 width: 100%;
}

table.table_contact th {
 padding: 20px;
 border: solid #efefef;
 border-width: 0 0 1px 0;
 vertical-align: top;
 width: 24%;
 font-size: 16px;
 font-size: 1.6rem;
 box-sizing: border-box;
}

table.table_contact td {
 padding: 20px 20px 20px 30px;
 vertical-align: top;
 border: solid #efefef;
 border-width: 0 0 1px 0;
 font-size: 16px;
 font-size: 1.6rem;
 box-sizing: border-box;
 position: relative;
}


.telList {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin: 0 0 40px 0;
}

.telList li{
 padding: 20px;
 background: #fff;
 width: 100%;
 margin: 0 0 20px 0;
 border: 1px solid #aaa;
 box-sizing: border-box;
}

.telList li:nth-child(2n){
 margin: 0 0 20px 0;
}

.conBox {
    display: flex;
    justify-content: center;
    background: #f7f7f7;
    padding: 40px;
    align-items: center;
}

.leftCon {
 
}

.rightCon {
    margin: 0 0 0 30px;
}

.contactBox01 {
	margin: 0 0 60px 0;
}

.contact_txt01 {
	margin: 0 0 0 0!important;
	font-size: 24px;
	font-size: 2.4rem;
 font-weight: 700;
}

.contact_number {
    font-size: 36px;
    font-size: 3.6rem;
    color: #000;
    background: url(../img/common/tel_ico02.png) 0 9px no-repeat;
    line-height: 1.1;
    padding: 0 0 0 30px;
    font-weight: bold;
    letter-spacing: 3px;
    margin: 0 0 0 0!important;
    background-size: 20px auto;
}

.address_txt01 {
    display: inline-block;
    margin: 0 10px 5px 0;
    font-size: 16px;
}

.address_txt02 {
    display: block;
    margin: 0 0 5px 0;
}

.thanks_txt {
	font-size: 20px;
	font-size: 2.0rem;
	text-align: center;
}


ul.c_name_list {
	display: flex;
	justify-content: space-between;
}


ul.c_name_list li{
	width: 48%;
}

ul.c_mail_list {
	
}

ul.c_mail_list li{
	margin: 0 0 15px 0;
}

ul.c_mail_list li:last-child{
	margin: 0 0 0 0;
}

.mail_confirm {
	font-size: 12px;
	color: var(--color-main);
	display: block;
	margin: 0 0 5px 0;
}


/* -------- お問い合わせ プライバシーポリシー -------- */
.pp_check {
        color: #333;
        font-weight: bold;
        margin: 20px 0 0;
 font-size: 13px;
}

.privacy_box {
        border: 1px solid #d6d8e0;
}

.privacy_inner {
    width: auto;
    height: 200px;
    overflow-y: scroll;
    padding: 22px;
 background: #fff;
}

h4.privacy_title {
    padding: 0 0 5px 0;
    margin-bottom: 12px;
    font-size: 15px;
	font-weight: bold;
	border-bottom: 1px dashed #bfbfbf;
}

.privacy_box p {
        margin: 0 0 20px 0!important;
        font-size: 13px;
}

ul.privacy_list {
        margin: 0 0 20px 0;
}

ul.privacy_list li{
        list-style: decimal;
        margin: 0 0 0 18px!important;
        font-size: 14px;
}
span.bold {
        font-weight: bold;
}

#contact_form h3.title_style01 {
    font-size: 18px;
        margin-bottom: 12px;
}

/* Let's get this party started */
.privacy_inner::-webkit-scrollbar {
    width: 5px;
}

/* Track */
.privacy_inner::-webkit-scrollbar-track {
    background:#fff; /* rgba fallback */
        background:rgba(190,190,190,0.4);
    -webkit-border-radius: 10px;
    border-radius: 10px;
}

/* Handle */
.privacy_inner::-webkit-scrollbar-thumb {
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background:#fff; /* rgba fallback */
        background:rgba(190,190,190,0.7);
}
.privacy_inner::-webkit-scrollbar-thumb:window-inactive {
        background:#fff; /* rgba fallback */
        background:rgba(190,190,190,0.7);
}



/* Let's get this party started */
textarea::-webkit-scrollbar {
    width: 5px;
}

/* Track */
textarea::-webkit-scrollbar-track {
    background:#fff; /* rgba fallback */
        background:rgba(190,190,190,0.4);
    -webkit-border-radius: 10px;
    border-radius: 10px;
}

/* Handle */
textarea::-webkit-scrollbar-thumb {
   -webkit-border-radius: 10px;
    border-radius: 10px;
    background:#fff; /* rgba fallback */
        background:rgba(190,190,190,0.7);
}
textarea::-webkit-scrollbar-thumb:window-inactive {
        background:#fff; /* rgba fallback */
        background:rgba(190,190,190,0.7);
}


/* -------- お問い合わせ ページ設定 -------- */

#contact_form{
        background: transparent;
        padding-bottom: 0px;
        margin-top: 0px;
        margin-bottom: 0px;

}

ul.contact_formList{
	padding: 0;
	margin: 0;
}


ul.contact_formList li {
    padding: 0 0 10px 0;
    margin: 0 0 10px 0;
    border-bottom: 1px dashed #ccc;
}

ul.contact_formList li:last-child{
	background:none;
	border-bottom: 0;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}

#contact_form small{
        line-height: 1.8em;
        font-size:12px;
        font-weight:normal;
}

#contact_form strong {
    color:#329347;
    display: inline-block;
    font-weight: bold;
    padding: 0 0px 0 9px;
    font-size: 11px;
}

/* -------- お問い合わせ フォーム設定 -------- */
:focus {
  outline: none;
}

/* Form fields, general styles first */
button,
input,
textarea, radio, select {
border: none;
font-family: inherit;
padding: 13px 15px;
margin:0;
background: #f9f9f9;
border-radius: 0;
box-sizing: border-box;
}

button,
input[type="text"],
input[type="tel"],
input[type="mail"],
textarea {
		-webkit-appearance: none;
}


#contact_form .wpcf7-list-item {
  margin-left: 0;
}
#contact_form label {
  display: inline-block;
  margin-right: 10px;
}
#contact_form input[type="radio"] {
  position: relative;
  top: -3px;
  -webkit-appearance: none;
  background-color: #fff;
  border: 2px solid #ccc;
  width: 17px;
  height: 17px;
  -moz-border-radius: 17px;
  -webkit-border-radius: 17px;
  border-radius: 17px;
  vertical-align:middle;
  outline: none;
}
#contact_form input[type="radio"]:checked {
  background-color: #000;
  border: 2px solid #000;
}
#contact_form input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin-right: 2px;
  border: 1px solid #bbb;
  border-radius: 0;
  background-color: #fff;
  vertical-align: middle;
  line-height: 1;
  outline: none;
  -webkit-appearance: none;
}
#contact_form input[type="checkbox"]:checked {
  background: #000 !important;
  border: 1px solid #000;
  outline: none;
}


/* Form fields, general styles first */

input:hover,
textarea:hover, #contact_form radio:hover, #contact_form select:hover {
        border: none;
}

button,
input {
    line-height: normal;
}
textarea {
        width:95%;
        overflow: auto;
        vertical-align: top;
}

/* Reset non-text input types */
input[type="checkbox"],
input[type="radio"],
input[type="hidden"],
input[type="image"],
input[type="color"] {
        border: solid 1px #dadada;
        border-radius: 3;
        background:#fff;
        padding: 5px;
        vertical-align:middle;
}


input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    color: #ccc;
    font-weight: normal;
}
input:-ms-input-placeholder, textarea::-webkit-input-placeholder  {
    color: #ccc;
    font-weight: normal;
}
input::-moz-placeholder, textarea::-webkit-input-placeholder  {
    color: #ccc;
    font-weight: normal;
}


/* Reset non-text input types */
input[type="file"]{
        border: 0;
        border-radius: 3;
        background:none;
        padding: 5px;
        vertical-align:middle;
}


/* Label, radio */

input[type="radio"] {
        margin-right: 1px;
}

label {
        display: inline-block;
        padding: 0 15px 0 0;

}


/* -------- Input タグの横幅設定 -------- */

.text_type01{
        width: 100%;
}
.text_type03{
        width: 150px;
}

.text_type02{
        width: 65%;
}

.text_type {
  width: 100%;
}

.contact_content {
        margin-bottom: 7px;
}


/* -------- Input autofill (Contact form 7 confirm page) -------- */

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
}
.wpcf7c-conf {
    background: none!important;
    color: #333;
    border: 0;
}

.wpcf7c-conf:hover  {
    background: none;
    color: #333;
    border: 0;
}

/* -------- お問い合わせフォーム エラー、送信完了 -------- */


span.wpcf7-not-valid-tip {
    color: #e5004f!important;
    font-size: 1em;
    display: block;
}

div.wpcf7-validation-errors {
	border: 0!important;
	color: #fff!important;
	padding: 10px;
	box-shadow: none;
	max-width: 1040px;
	width: 100%;
	box-sizing: border-box;
	margin: 0 auto;
	background: #5db7e8;
}

div.wpcf7-mail-sent-ok {
    border: 0!important;
    color: #fff!important;
    padding: 10px;
	background: #5db7e8;
    box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.01);
}


.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #e5004f!important;
}


/* Buttons */
#contact_form button, #contact_form input[type="button"] {
    padding: 9px 35px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    background: rgb(50,147,71);
    background: linear-gradient(90deg, rgba(50,147,71,1) 0%, rgba(88,234,127,1) 100%);
    border: none;
    border-radius: 25px;
	cursor: pointer;
	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
	-webkit-appearance: none;
}

#contact_form button:hover,
#contact_form input[type="button"]:hover,
#contact_form button:active,
#contact_form input[type="button"]:active{
	background: rgb(50,147,71);
    background: linear-gradient(90deg, rgba(50,147,71,1) 0%, rgba(88,234,127,1) 100%);
	color: #fff;
	opacity: 0.6;
}



/* -------- お問い合わせフォームボタン（確認、送信、戻る） -------- */


ul.contact_btns {
	
}
ul.contact_btns li{
	max-width: 260px;
	width: 100%;
	margin: 0 60px 0 0;
}
ul.contact_btns li:last-child{
	margin: 0 0 0 0;
}

ul.contact_btns li input, ul.contact_btns li input:active {
	display: block;
	cursor: pointer;
	width: 100%;
	margin: 0px auto 0;
	padding: 15px 0;
	border-radius: 25px;
	color: #fff;
	font-size: 14px!important;
	text-align: center;
	text-decoration: none;
	background: rgb(50,147,71);
 background: linear-gradient(90deg, rgba(50,147,71,1) 0%, rgba(88,234,127,1) 100%);
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	letter-spacing: 5px;
	-webkit-appearance: none;
 position: relative;

}

ul.contact_btns li input:hover, ul.contact_btns li input:active:hover{
	
	background: rgb(50,147,71);
    background: linear-gradient(90deg, rgba(50,147,71,1) 0%, rgba(88,234,127,1) 100%);
	opacity: 0.6;
}

ul.contact_btns li.send_btn input:before{
 content: '';
 width: 6px;
 height: 6px;
 border-top: solid 2px #fff;
 border-right: solid 2px #fff;
 transform: rotate(45deg);
 position: absolute;
 top: 20px;
 right: 30px;
 -webkit-transition: all 0.3s ease;
 -moz-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}

ul.contact_btns li.send_btn input:hover:before {
    right: 20px;
}


ul.contact_btns li.reset_btn input, ul.contact_btns li.reset_btn input:active {
	border: 1px solid #777;
	background: #777;
}

ul.contact_btns li.reset_btn input:hover {
	background: #fff;
	color: var(--color-main);
}


/* メインメニュー 980px以下から
------------------------------------------------------------*/
@media screen and (max-width: 980px) {
	
}


@media screen and (max-width: 980px) {

.conBox {
    padding: 30px 20px;
} 
 
 .contact_txt01 {
	font-size: 18px;
	font-size: 1.8rem;
}
 
 .uketsuke_time {
  font-size: 12px;
 } 

.contact_number {
    font-size: 30px;
    font-size: 3.0rem;
    padding: 5px 0 2px 30px;
    letter-spacing: 1px;
}

}

/* メインメニュー 767px以下から
------------------------------------------------------------*/
@media screen and (max-width: 767px) {

.conBox {
    display: block;
}

.contact_txt01 {
text-align: center;
 }	
	
p.uketsuke_time {
    text-align: center;
 margin: 0 0 10px 0!important;
}	

.rightCon {
    margin: 0 auto;
    max-width: 245px;
    width: 100%;
} 
 
.contactBox01 {
    margin: 0 0 30px 0;
}	
	
ul.contact_btns li {
    width: 48%;
    margin: 0 4% 0 0;
}	
	
table.table_contact {
    margin: 0 0 32px 0;
}

table.table_contact td {
  display: block;
  width: auto;
  border-width: 0 0 1px 0;
 padding: 12px 20px;
}

table.table_contact th {
    width: auto;
    display: block;
    border-width: 0 0px 1px 0px;
 padding: 12px 20px;
}


input.text_type {
  width: 100%;
}

textarea {
  width: 100%;
}
	
.address_txt01 {
    font-size: 14px;
}	
	input#zip, select {
		width: 120px;
	}
	
#contact_form button, #contact_form input[type="button"] {
    padding: 8px 20px;
    font-size: 12px;
}	

.thanks_txt {
    font-size: 14px;
    font-size: 1.4rem;
}	
 
.telList {
 display: block;
}

.telList li{
 width: 100%;
 margin: 0 0 20px 0;
} 
 
.white_box {
	padding: 40px 20px;
}	
	
.pp_check {
    font-size: 11px;
}	
	
	.recaptcha_txt {
		font-size: 12px;
	}

}


/* デフォルトスタイル（PC、スマホなど） */
.sub_tit01 .line-break {
  display: inline; /* デフォルトでは改行しない */
}

/* タブレット専用スタイル（768px～1024px幅） */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sub_tit01 .line-break {
    display: block; /* タブレットでは改行 */
  }
}





