@charset "UTF-8";
/*-----------------------------------------------------------------------------
basic
-----------------------------------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	list-style: none;
}



html {
	overflow-y: scroll;
	overflow-x: hidden;
	background-color: #fff;
	scroll-behavior: smooth;
}


nav ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
/* 共通項目 */
* {box-sizing: border-box;}
*:focus {outline: none!important;}

a {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	text-decoration: none;
}

ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}

del {text-decoration: line-through;}

abbr[title], dfn[title] {
	border-bottom:1px dotted #000;
	cursor:help;
}

table {border-collapse:collapse;}

hr {
    display:block;
    height:4px;
    border:0;
    border-top:4px solid #e1edf6;
    margin: 0;
    padding:0;
}

input, select {outline: none;vertical-align:middle;}

/* IBMPlexSansJP-Regular */
@font-face {
    font-family: ' IBMPlexSansJP-Regular ';
    src: url('../fonts/IBMPlexSansJP-Regular.woff2') format('woff2'),
             url('../fonts/IBMPlexSansJP-Regular.ttf') format('truetype');
    font-weight: 400;
}

/* IBMPlexSansJP-SemiBold */
@font-face {
    font-family: ' IBMPlexSansJP-SemiBold ';
    src: url('../fonts/IBMPlexSansJP-SemiBold.woff2') format('woff2'),
             url('../fonts/IBMPlexSansJP-SemiBold.ttf') format('truetype');
    font-weight: 600;
}

/* TextMeOne */
@font-face {
    font-family: ' TextMeOne ';
    src: url('../fonts/TextMeOne-Regular.woff2') format('woff2'),
             url('../fonts/TextMeOne-Regular.ttf') format('truetype');
    font-weight: 400;
}




body {
color: #000;
font-size: 93%;
line-height: 1.4;
font-weight:400;
letter-spacing: 0.08rem;
padding-top: 60px;
position: relative;
background:#fff;}

body.home {overflow: hidden;}

@media (min-width: 768px) {
body {
font-size: 92%;
letter-spacing: 0.08rem;
}
}

@media (min-width: 992px) {
body {
font-size: 94%;
line-height: 1.6;
padding-top: 0px;
letter-spacing: 0.08rem;
}
}
@media (min-width: 1280px) {
body {
font-size: 99%;
letter-spacing: 0.1rem;
}
}



body {
    position: relative;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
}
body:after {
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: rgba(0,0,0,0.4);
    content: '';
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
}
body.overlay:after {
    z-index: 30;
    opacity: 1;
}

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

/* 共通
---------------------------------------------------- */

.fluid {position: relative;
	max-width: 1140px;
	margin: 0 auto;
}



.clearfix:after {
  content: "";
  clear: both;
	display: table;
}
.clear {clear: both;}

a{outline:none;}

*:focus {
  outline: none;
}

.f-right {float: right;}
.f-left {float: left;}
.pointer {cursor: pointer;}
ul.decimal li{list-style: decimal;margin-left: 25px;line-height: 1.7;}
ul.dot li{list-style:disc;margin-left: 25px;line-height: 1.7;text-align: left;}
ul.square {margin-left: 30px;}
ul.square li{list-style:disc;line-height: 1.7;}

.mb0  { margin-bottom: 0 !important; }
.mb5  { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }
.pad10 { padding: 10px; }
.pad20 { padding: 20px; }
.pr05 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pl10 { padding-left: 10px !important; }
.pt5 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt20 { padding-top: 20px !important; }
.pt30 { padding-top: 30px !important; }
.pt40 { padding-top: 40px !important; }
.pt50 { padding-top: 50px !important; }
.pb5 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb50 { padding-bottom: 50px !important; }
.w20 { width: 20%; }
.w25 { width: 25%; }
.w33 { width: 33.33333333%; }
.w50 { width: 50%; }
.w60 { width: 60%; }
.w70 { width: 70%; }
.w80 { width: 80%; }
.mb150mb100{margin-bottom: 150px;}
.mb120mb80{margin-bottom: 90px;}
.mb80mb50{margin-bottom: 50px;}
.mb50mb30{margin-bottom: 50px;}
.mb30mb10{margin-bottom: 30px;}

@media (max-width: 1140px) {
.mb120mb80{margin-bottom: 70px;}
.mb150mb100{margin-bottom: 100px;}

}


@media (max-width: 991px) {
.mb150mb100{margin-bottom: 90px;}
.mb120mb80{margin-bottom: 60px;}

.mb30-md{margin-bottom: 30px;}
}

@media (max-width: 767px) {
.space15{margin-bottom: 15px;}
.mb150mb100{margin-bottom: 80px;}
.mb80mb50{margin-bottom: 30px;}
.mb50mb30{margin-bottom: 30px;}
.mb20-xs{margin-bottom: 20px;}
.mb30-xs{margin-bottom: 30px;}
}
@media (max-width: 568px) {
.mb30-xs2{margin-bottom: 30px;}
.mb20-xs2{margin-bottom: 20px;}
.mb10-xs{margin-bottom: 10px;}
.mb30mb10{margin-bottom: 10px;}

}


@media (min-width: 1200px) {

.mb30-xl { margin-bottom: 30px !important; }
}

.indent {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.3;
}

.indent2 {
  padding-left: 2.1em;
  text-indent: -2.1em;
  line-height: 1.4;
}
.flexbox{display: flex;align-items: center;}
.flexbox-between{display: flex;align-items: center;justify-content: space-between;}

.flexbox3{display: flex;align-items: flex-end;}
.flexbox4{display: flex;justify-content: flex-end;}


@media (max-width: 767px) {
.flexbox4{display:block;}


}


.bg-gray{background: rgba(0,0,0,.01);}
.bg-blue{background:url("../images/bg-gaiyo.jpg");background-position: center;background-size: cover;}
.bg-border-top{border-top: 1px solid #ddd;}
._bg-blue{background: rgba(221,235,250,.5);}





/*btn
------------------------------ */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

img{vertical-align: bottom;}




/* アニメーション
---------------------------------------------------- */
.delayed-image {
	/* じわっと画像が表示される */
 	animation: fadeIn 3s ease 0s 1 normal;
    -webkit-animation: fadeIn 3s ease 0s 1 normal;
}

/* じわっと画像が表示される ---------　一度追加していたら不要*/
@keyframes fadeIn { /*上のbody内で呼び出しているアニメーションと名前をそろえる*/
    0% {opacity: 0} /* 始め */
    100% {opacity: 1} /* 終わり */
}

/*古いブラウザ用　---------　一度追加していたら不要*/
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

.vertical {
  animation: vertical_6392 2.44s ease infinite;
  transform-origin: 50% 50%;
}

@keyframes vertical_6392 {
  0% { transform:translate(0,-3px) }
  3.27869% { transform:translate(0,3px) }
  6.55738% { transform:translate(0,-3px) }
  9.83606% { transform:translate(0,3px) }
  13.11475% { transform:translate(0,-3px) }
  16.39344% { transform:translate(0,3px) }
  18.03279% { transform:translate(0,0) }
  100% { transform:translate(0,0) }
}

.fluffy {
	-webkit-animation: fluffy 0.8s linear 0s 1;
	animation: fluffy 0.8s linear 0s 1;
}
@-webkit-keyframes fluffy {
	0%   { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
	15%  { -webkit-transform: scale(0.9, 0.9) translate(0%, 5%); }
	30%  { -webkit-transform: scale(1.3, 0.8) translate(0%, 10%); }
	50%  { -webkit-transform: scale(0.8, 1.3) translate(0%, -10%); }
	70%  { -webkit-transform: scale(1.1, 0.9) translate(0%, 5%); }
	100% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@keyframes fluffy {
	0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
	15%  { transform: scale(0.9, 0.9) translate(0%, 5%); }
	30%  { transform: scale(1.3, 0.8) translate(0%, 10%); }
	50%  { transform: scale(0.8, 1.3) translate(0%, -10%); }
	70%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
	100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

.horizontal {
  animation: horizontal_5801 5s ease infinite;
  transform-origin: 50% 50%;
}

@keyframes horizontal_5801 {
  0% { transform:translate(0,0) }
  4.41177% { transform:translate(5px,0) }
  8.82353% { transform:translate(0,0) }
  13.23529% { transform:translate(5px,0) }
  17.64706% { transform:translate(0,0) }
  22.05882% { transform:translate(5px,0) }
  26.47059% { transform:translate(0,0) }
  100% { transform:translate(0,0) }
}

.passing-reverse {
  animation: passing-reverse_1059 4s linear infinite;
  transform-origin: 50% 50%;
}

@keyframes passing-reverse_1059 {
  0% { transform:translateX(50%); opacity:0 }
  50% { transform:translateX(35%); opacity:.5 }
  100% { transform:translateX(0%); opacity:1 }
}

.float {
  animation: float_1 4s linear infinite;
  transform-origin: 50% 50%;
}
@keyframes float_1 {
  0% { transform: translateY(0) }
  50% { transform: translateY(-10px) }
  100% { transform: translateY(0) }
}

.float2 {
  animation: float_2 2s linear infinite;
  transform-origin: 50% 50%;
}
@keyframes float_2 {
  0% { transform: translateY(0) }
  60% { transform: translateY(-5px) }
  100% { transform: translateY(0) }
}


/* link
---------------------------------------------------- */
a:link,a:visited{text-decoration:none;}
a:hover,a:active{text-decoration:none;}
a.opacity {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
a.opacity:hover {
	-webkit-opacity: 0.6;
	-moz-opacity: 0.6;
	opacity: 0.6;
}
a:focus{
  outline: none;
}
a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
[data-action="call"]  {text-decoration: none;}

/* font-size color
---------------------------------------------------- */
.x-small { font-size: 10px; line-height: 1.6; }
.small { font-size: 12px; line-height: 1.6; }
.middle { font-size: 14px; }
.large { font-size: 16px; }
.x-large { font-size: 18px; }
.x2-large { font-size: 20px; }
.x3-large { font-size: 22px; }
.x4-large { font-size: 24px; }
.max-large { font-size: 32px; }
.italic {font-style: italic;}
.bold{font-family: ' IBMPlexSansJP-SemiBold ';font-weight: 600;}

.white { color: #ffffff; }
.red { color: #f00; }
.blue { color:#0000FF; }
.green { color: #079a3e; }
.orange { color: #f60; }
.kiiro { color: yellow!important; }
.black{color: #000;}

/* スクロールでナビ表示
---------------------------------------------------- */
.cb-header {
    position: fixed;
    top: 0;
    left: 0;
	right:0;
    display: none;
    background: #fff;
	border-bottom: 1px solid #ddd;
}



@media (max-width: 767px) {
.cb-header {display: none!important;}
#navibar {display: none;border-bottom:none;}
}


.visuallyhidden {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
    clip-path: inset(0px 0px 99.9% 99.9%);
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0;
    border: 0;
}


/* header
---------------------------------------------------- */
#header{display: none;}
.cb-header2 {
    position: fixed;
    /* 固定 */
    top: 0;
    /* 上から0の位置に固定 */
    left: 0;
    /* 左から0の位置に固定 */
    display: block;
    /* 表示 */
	z-index: 1200;
	width: 100%;
	box-sizing: border-box;
	background:#fff;
}

.sc {
display: flex;
align-items: center;
    width: 100%;
    margin: 0 auto;
	height: 60px;
background:	#fff;}
.sc img{vertical-align: bottom;}
.sc .logo{padding-left: 15px;width: 220px;}

.site-header{display: none;}
.header{display: none;}
.top-logo {display: none;}



@media (min-width: 667px) {
.sc {
display: flex;
align-items: center;
    width: 100%;
    margin: 0 auto;}
	
.sc .logo{padding-left: 15px;width: 250px;}

}



@media (min-width: 992px) {
.cb-header2 {display: none!important;}

.site-header{
display:block;
position:fixed;
	width: 100%;
	z-index: 100;
	top:0;
	left:0;
	right:0;
	height: 120px;
	transition: .5s;
}
.header{width: auto; position: relative;z-index: 10;display: block;}
.logo {position:absolute;z-index: 50; width: 220px;left: 20px;top:38px;}
.logo.color {display: none;}

}

/* スクロールでヘッダー背景色表示 */
.hide {transition: .8s;background-color:rgba(255,255,255,.7); backdrop-filter: blur(10px);top: 0px;left:0;right:0;}
.hide .logo {display: none;}
.hide .logo.color {display: block;}

.hide2 {display: none;}
.open {overflow: hidden;}

@media (min-width: 1280px) {
.logo { width: 280px;left: 40px;top:38px;}



}

@media (min-width: 1680px) {
.logo {width:360px;left: 50px;top:35px;}



}



.gnav-wrapper {width: 100%;}

.gnav {width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 30px;
}

.gnav li { 
  text-align: center;
  transition: all .3s ease-in-out;
  font-size: 1em;
}
.gnav li.contact {padding-left: 15px; }

.gnav a {position: relative;
text-align: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: ' TextMeOne ';
  height: 120px;
  line-height: 1.4;
  font-size: 14px;margin: 0 15px;
}
.gnav a .ja{display: block;font-family: ' IBMPlexSansJP-Regular ';font-size: 1.1em;}

.gnav a.active {color: #090;}
.gnav a.drop {margin: 0 20px 0 30px;}
.gnav a.drop::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0d7";
font-weight: 900;
position: absolute;
right: -1em;
top:50%;
transform: translateY(-50%);
  color: #fff;
}
.gnav a.drop.active {color: #090;position: relative;}
.gnav li a:hover { color: #090;}
.gnav li a.drop:hover::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0d7";
font-weight: 900;
position: absolute;
right:-1em;
top:50%;
transform: translateY(-50%);
  color: #9c6;
}
.gnav a:hover::after {color: #9c6;}
.gnav li.contact a{}
.gnav li.contact a::before {
content:"";
position:absolute;
left:-20px;
top:30%;/*縦位置の指定*/
background:#fff;/*線の色指定*/
width:1px;/*線の幅指定*/
height:40%;}

.gnav > li:hover .megamenu {
	max-height: 9999px;
  display: block;
  padding: 0px 0;
}
.megamenu {
	margin: 0;
	width: 100%;
  background:#fff;
  max-height: 0;
  display: none;
  overflow: hidden;
  position: absolute;
  top: 120px;
  left: 0;
  right:0;
  z-index: 100;
}

.megamenu-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0px auto;
  padding: 50px 15px;
}
.megamenu-inner .mega-index{ font-family: ' TextMeOne ';line-height: 1.3;font-size: 1.1em;width: 18%;}
.megamenu-inner .mega-index .ja{display: block;font-family: ' IBMPlexSansJP-SemiBold ';font-weight: 600;font-size: 1.2em;}
.megamenu-inner ul {width: 80%;display: flex;flex-wrap: wrap;}
.megamenu-inner li {margin-bottom: 30px;width: 25%;padding: .1em;}
.megamenu-inner a {
  border-left: none;
  border:none;
  height: auto;
  width: 100%;
  display:flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  padding: 0;
  transition: .5s;
}
.megamenu-inner a .pic{margin-bottom: 15px;overflow: hidden;display: block;}
.megamenu-inner a .pic img {
  height: auto;
  transition: transform .6s ease;/* ゆっくり変化させる */
  width: 100%;
}
.megamenu-inner a:hover .pic img {transform: scale(1.1);}
.megamenu-inner a .index{color: #000;line-height: 1.5;font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';padding: 0;}
.megamenu-inner a:hover .index {color: #9c6;}
 
.megamenu-inner ul.about {width: 80%;display: flex;flex-wrap: wrap;}
.megamenu-inner ul.about li {margin-bottom: 30px;width: 50%;padding: .1em;display: flex;align-items: center;justify-content: center;}
.megamenu-inner ul.about li .pic2{margin-bottom: 0px;width:50%;padding: 0;}
.megamenu-inner ul.about li .box{margin-bottom: 0px;width:50%;padding: 0;padding-left:15px;}
.megamenu-inner ul.about li .box a{display: flex;flex-direction: row; align-items: center;justify-content:flex-start; text-align: left;padding: .3em 0;position: relative;height:auto;margin: 0;}
.megamenu-inner ul.about li .box a .arrow {
  position: relative;
  display: inline-block;
  margin-left: 1.5em;
  width: 15px;
  height: 1px;
  border-radius: 9999px;
  background-color: #000000;
}
.megamenu-inner ul.about li .box a .arrow::before,
.megamenu-inner ul.about li .box a .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 7px;
  height: 1px;
  border-radius: 9999px;
  background-color: #000000;
  transform-origin: calc(100% - 0.5px) 50%;
}
.megamenu-inner ul.about li .box a .arrow::before {transform: rotate(45deg);}
.megamenu-inner ul.about li .box a .arrow::after {transform: rotate(-45deg);}
.megamenu-inner ul.about li .box a:hover .arrow {background-color: #9c6;margin-left: 2em;}
.megamenu-inner ul.about li .box a:hover .arrow::before,
.megamenu-inner ul.about li .box a:hover .arrow::after {background-color: #9c6;}

.hide .gnav a {color: #000;}
.hide .gnav a.drop::before {color: #000;}
.hide .gnav li.contact a::before {background:#555;}



@media (min-width: 1280px) {
.gnav {padding-right: 30px;}

.gnav a { margin: 0 40px;  font-size: 16px;}
.gnav a.drop {margin: 0 30px 0 40px}
.gnav li.contact a::before {left:-35px;}

.megamenu-inner {padding: 50px 20px 50px;}

.megamenu-inner .mega-index{ font-size: 1.2em;width: 20%;}
.megamenu-inner .mega-index .ja{font-size: 1.6em;}
.megamenu-inner ul {width: 78%;display: flex;flex-wrap: wrap;}

.megamenu-inner a {font-size: 15px;}
.megamenu-inner ul.about {width: 78%;display: flex;flex-wrap: wrap;}


}


@media (min-width: 1680px) {
.gnav {padding-right: 50px;}
.gnav a { margin: 0 50px;}
.gnav a.drop {margin: 0 30px 0 50px;}
.megamenu-inner {padding: 50px 30px;}
.megamenu-inner .mega-index{ font-size: 1.2em;width: 25%;}
.megamenu-inner .mega-index .ja{font-size: 1.8em;}
.megamenu-inner ul {width: 73%;display: flex;flex-wrap: wrap;}

}






/*main
------------------------------------------------------------------*/

#moviearea{
position: relative;
width:100%;
height: 100vh;
}
#moviearea .box{position: absolute;z-index: 20;left:20px;right:20px;bottom:60px;}
#moviearea h2{position:relative; display: flex;align-items: center;}
#moviearea h2:before,
#moviearea h2:after {
    flex-grow: 1;
    background-image: repeating-linear-gradient(0deg, #4dd038, #4dd038 10px, transparent 10px, transparent 20px);
	height: 30px;
	margin-top: 50px;
    content: '';
}

#moviearea h2:before {margin-right: 30px;}
#moviearea h2:after {margin-left: 30px;}


#main-video-area{
    position: absolute;
    z-index: 10;
	border-radius: 15px;
    top: 20px;
    left:20px;
    bottom:20px;
	right:20px;
	height: calc(100vh - 40px);
    overflow: hidden;
}
#main-video-area::before {
  content: '';
  position: absolute;
  z-index: 15;
  	border-radius: 15px;
  top: 0;
  left: 0px;
  right: 0;
  bottom: 0;
  background-color:rgba(9,107,24,0.30);
}
#main-video {
    /*天地中央配置*/
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}






@media (max-width: 1680px){

#moviearea .box{position: absolute;z-index: 20;left:20px;right:20px;bottom:60px;}
#moviearea h2{position:relative; display: flex;align-items: center;}
#moviearea h2 img{width: 600px;height: auto;}
#moviearea h2:before,
#moviearea h2:after {
    flex-grow: 1;
    background-image: repeating-linear-gradient(0deg, #4dd038, #4dd038 10px, transparent 10px, transparent 20px);
	height: 30px;
	margin-top: 40px;
    content: '';
}



}



@media (max-width: 1366px){
#moviearea .box{position: absolute;z-index: 20;left:20px;right:20px;bottom:50px;}
#moviearea h2{position:relative; display: flex;align-items: center;}
#moviearea h2 img{width: 500px;height: auto;}
#moviearea h2:before,
#moviearea h2:after {
    flex-grow: 1;
    background-image: repeating-linear-gradient(0deg, #4dd038, #4dd038 10px, transparent 10px, transparent 20px);
	height: 30px;
	margin-top: 35px;
    content: '';
}


}


@media (max-width: 1199px){
#moviearea .box{position: absolute;z-index: 20;left:20px;right:20px;bottom:40px;}
#moviearea h2{position:relative; display: flex;align-items: center;}
#moviearea h2 img{width: 400px;height: auto;}
#moviearea h2:before,
#moviearea h2:after {
    flex-grow: 1;
    background-image: repeating-linear-gradient(0deg, #4dd038, #4dd038 10px, transparent 10px, transparent 20px);
	height: 30px;
	margin-top: 23px;
    content: '';
}


}


@media only screen and (max-width: 991px) {
#moviearea{height: 500px;}

#main-video-area{
    position: absolute;
    z-index: 10;
	border-radius: 0;
    top: 0px;
    left:0px;
    bottom:0px;
	right:0px;
	height: 500px;
    overflow: hidden;
}
#main-video-area::before {
  content: '';
  position: absolute;
  z-index: 15;
  border-radius: 0;
  top: 0;
  left: 0px;
  right: 0;
  bottom: 0;
  background-color:rgba(9,107,24,0.30);
}
#main-video {
    /*天地中央配置*/
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}
#moviearea h2{position:relative; display: flex;align-items: center;}
#moviearea h2:before,
#moviearea h2:after {
    flex-grow: 1;
    background-image: repeating-linear-gradient(0deg, #4dd038, #4dd038 10px, transparent 10px, transparent 20px);
	height: 30px;
	margin-top: 20px;
    content: '';
}
#moviearea h2:before {margin-right: 20px;}
#moviearea h2:after {margin-left: 20px;}
#moviearea h2 img{width: 400px;height: auto;}

#moviearea .box{position: absolute;z-index: 20;left:0px;right:0px;bottom:50px;}




}

@media only screen and (max-width: 767px) {
#moviearea{height: 360px;}

#main-video-area{
    position: absolute;
    z-index: 10;
	border-radius: 0;
    top: 0px;
    left:0px;
    bottom:0px;
	right:0px;
	height: 360px;
    overflow: hidden;
}
#main-video-area::before {
  content: '';
  position: absolute;
  z-index: 15;
  border-radius: 0;
  top: 0;
  left: 0px;
  right: 0;
  bottom: 0;
  background-color:rgba(9,107,24,0.30);
}
#main-video {
    /*天地中央配置*/
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}
}


@media only screen and (max-width: 450px) {
#moviearea{height: calc(100vh - 60px);}
#moviearea h2 img{width: 280px;height: auto;}
#moviearea h2:before,
#moviearea h2:after {
    flex-grow: 1;
    background-image: repeating-linear-gradient(0deg, #4dd038, #4dd038 10px, transparent 10px, transparent 18px);
	height: 28px;
	margin-top: 5px;
    content: '';
}

#main-video-area{height: calc(100vh - 60px);}


}








@keyframes fade-in {
    from {
        opacity: 0;
        transform: translateX(50px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}



/*　topCont
------------------------------------------------------------------*/






/* index.html 
---------------------------------------------------- */

.home #section01{padding: 50px 0;position: relative;}
.home #section01 ul li{margin-bottom: 10px;}
.home #section01 ul li:last-child{margin-bottom: 0px;}
.home #section01 ul li a{background: white;border:1px solid #555;display: flex;align-items: center;justify-content: center;height: 54px;border-radius: .5em;padding: 1em 4em;}

.home #section02{padding:0px;position: relative;border-top: 1px solid #ccc;}
.home #section02 ul li{padding: 20px 0;}
.main-news{padding-bottom: 20px;border-bottom: 1px solid #ccc;margin-bottom: 20px;}
.main-news .thumb{margin-bottom: 15px;}
.main-news .txtbox{}
.main-news .txtbox .date{font-family: ' TextMeOne ';margin-bottom: 1em;}
.main-news .txtbox .date .new{color: red;}
.main-news .txtbox .title{font-weight: 600;margin-bottom: 10px;font-size: 1.1em;}
.main-news .txtbox .txt{  height: calc(1.5em * 2);
  line-height: 1.5em;
  overflow: hidden;
  position: relative;
  word-wrap: break-word;
  }
.main-news .txtbox .txt::before {
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 30% /* 背景色 */
  );
  bottom: 0;
  content: "…";
  padding-left: 1em;
  position: absolute;
  right: 0;
}
.main-news .txtbox .txt::after {
  background: #fff; /* 背景色 */
  content: "";
  height: 100%;
  position: absolute;
  width: 100%;
}
.btn-news{margin-top: 15px;}
.btn-news a{width: 200px;margin: 0 auto; display: flex;align-items: center;justify-content:space-around;color: black; height: 40px;border:1px solid #ccc;border-radius: 20px;background: white;transition: .4s;}
.btn-news .arrow {
  position: relative;
  display: inline-block;
  width: 15px;
  height: 1px;
  border-radius: 9999px;
  background-color: #000000;
}
.btn-news .arrow::before,
.btn-news .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 7px;
  height: 1px;
  border-radius: 9999px;
  background-color: #000000;
  transform-origin: calc(100% - 0.5px) 50%;
}
.btn-news .arrow::before {transform: rotate(45deg);}
.btn-news .arrow::after {transform: rotate(-45deg);}
.btn-news a:hover{background:#5C9D26;color: white;}
.btn-news a:hover .arrow {
  position: relative;
  display: inline-block;
  width: 15px;
  height: 1px;
  border-radius: 9999px;
  background-color: #fff;
}

.btn-news a:hover .arrow::before,
.btn-news a:hover .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 7px;
  height: 1px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: calc(100% - 0.5px) 50%;
}

.news-item{display: flex;justify-content: space-between;margin-bottom: 25px;}
.news-item:last-child{margin-bottom: 15px;}

.news-item .thumb{width: 40%;}
.news-item .txtbox{width: 56%;}
.news-item .txtbox .date{font-family: ' TextMeOne ';margin-bottom: 1em;}
.news-item .txtbox .date .new{color: red;}
.news-item .txtbox .title{font-weight: 600;margin-bottom: 10px;line-height: 1.3;}
.news-item .txtbox .title{  height: calc(1.5em * 2);
  line-height: 1.5em;
  overflow: hidden;
  position: relative;
  word-wrap: break-word;
  }
.news-item .txtbox .title::before {
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 30% /* 背景色 */
  );
  bottom: 0;
  content: "…";
  padding-left: 1em;
  position: absolute;
  right: 0;
}
.news-item .txtbox .title::after {
  background: #fff; /* 背景色 */
  content: "";
  height: 100%;
  position: absolute;
  width: 100%;
}

.news-item .btn-news {display: flex;justify-content: flex-end;}
.news-item .btn-news a{width: 140px;margin-right: 0; display: flex;align-items: center;justify-content:space-around;color: black; height: 36px;border:1px solid #ccc;border-radius: 20px;background: white;transition: .4s;font-size: 14px;letter-spacing: .05rem;}
.news-item .btn-news a:hover{background: #f6f6f6;}
.btn-allnews{display: flex;justify-content: center;}
.btn-allnews a{position: relative;display: flex;align-items: center;justify-content: center;border-radius: 25px;height: 50px;background: #079a3e;color: white;padding: 0 45px 0 1.5em;letter-spacing: .05rem;transition: .4s;}

.btn-allnews a .arrow {
  position: absolute;
  right:18px;
  display: inline-block;
  width: 15px;
  height: 1px;
  border-radius: 9999px;
  background-color: #fff;
}
.btn-allnews a .arrow::before,
.btn-allnews a .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 7px;
  height: 1px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: calc(100% - 0.5px) 50%;
}
.btn-allnews a .arrow::before {transform: rotate(45deg);}
.btn-allnews a .arrow::after {transform: rotate(-45deg);}

.home #section03{padding: 50px 0 50px;position: relative;background: url("../images/top-about.jpg"), #079a3e;background-position: center top;background-repeat: no-repeat;background-size: 100% auto;color: white;}
.home #section03 .h3-shadow.white{color:rgba(255,255,255,.3);top:-15px;left:auto;right:-20px;}
.home #section03 .txt{font-weight: 600;margin-bottom: 30px;font-size: 1.1em;}
.home #section03 .wrap{margin-bottom: 15px;}
.home #section03 .num{font-family: ' TextMeOne '; display: flex; align-items: center;font-size: 26px;line-height: 1;margin-bottom: 10px;}
.home #section03 .num::after {
  background-color: #fff;
  content: "";
  flex-grow: 1;
  height: 1px;
}
.home #section03 .num::after {margin-left: 15px;}
.home #section03 h4{font-weight: 600;font-size: 1.2em;margin-bottom: 10px;}
.home #section03 .txt2{text-align: justify;}

.home #section04{padding: 50px 0 50px;position: relative;}
.home #section04 .h3-shadow{font-family: ' TextMeOne ';position: absolute;color:#f7f7f7;font-size: 46px;letter-spacing: .2rem;top:-10px;left:50%;transform: translateX(-50%);margin-right: -50%;}
.home #section04 .index{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';color: #093;margin-bottom: 10px;font-size: 1.1em;}
.home #section04 .txt{text-align: justify;}
.home #section04 .thumb{margin-bottom: 10px;}
.home #section04 .title{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';color: #093;margin-bottom: 5px;text-align: center;font-size: 1.1em;}
.home #section04 .txt2{text-align: justify;}

.home #section05{padding: 0px 0 50px;position: relative;}
.home #section05 .box{display: block;width: 100%;height: 210px;position: relative;padding: 2em;}
.home #section05 .box.contactbox{display: block;width: 100%;height: auto;position: relative;padding: 2em;}
.home #section05 .box::before {
  content: '';
  background-color: rgba(0,0,0,.2);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}


.home #section05 .box.top-company{background: url("../images/top-company.jpg");background-position: center;background-size: cover;position: relative;}
.home #section05 .box.top-rinen{background: url("../images/top-rinen.jpg");background-position: center;background-size: cover;position: relative;}
.home #section05 .box.top-contact{background: url("../images/top-contact.jpg");background-position: center;background-size: cover;position: relative;color: white;}
.home #section05 .box.top-contact .index{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';margin-bottom: .5em;line-height: 1;}
.home #section05 .box.top-contact .tel{line-height: 1;font-family: ' TextMeOne ';font-size: 30px;}
.home #section05 .box.top-contact .tel .call{color: white;}
.home #section05 .box.top-contact .time{font-size: .9em;letter-spacing: 0;}
.home #section05 .box.top-contact a.form{display: flex;align-items: center;justify-content: center;color: white;border: 1px solid white;border-radius: 15px;height: 30px;margin-bottom: 9px;}

.home #section05 .box.top-contact .deco{position: absolute;right:15px;top:15px;width: 180px;}
.maru{width: 40px;height: 40px;border-radius: 50%;border: 1px solid white;display: flex;align-items: center;justify-content: center;position: absolute;right:20px;bottom:20px;}
.maru .arrow {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 1px;
  border-radius: 9999px;
  background-color: #fff;
}
.maru .arrow::before,
.maru .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 7px;
  height: 1px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: calc(100% - 0.5px) 50%;
}
.maru .arrow::before {transform: rotate(45deg);}
.maru .arrow::after {transform: rotate(-45deg);}

.home #section06{padding: 30px 0 80px;position: relative;}
.home #section06 .h3-shadow{top:-15px;left:50px;}
.home #section06 .wrap{position: relative;padding: 0 48px;margin-bottom: 30px;}
.swiper{}
.swiper-wrapper{}
.swiper-slide{padding: 0 15px;}
.swiper-slide .item{display: block;}
.swiper-slide a.item{color: black;}
.swiper-slide .thumb{margin-bottom: 15px;position: relative;}
.swiper-slide .thumb .photo-ofi img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  position: absolute;
  left: 0;
  top: 0;
}
.swiper-slide a.item .thumb .photo-ofi img {transition: .4s;}
.swiper-slide a.item:hover .thumb .photo-ofi img {filter: brightness(50%);}

.swiper-slide .item .maru{width: 40px;height: 40px;border-radius: 50%;border: 1px solid white;display: none;}
.swiper-slide a.item .maru{width: 40px;height: 40px;border-radius: 50%;border: 1px solid white;display: flex;align-items: center;justify-content: center;position: absolute;z-index: 10; right:auto;bottom:auto;top:50%;left: 50%;transform: translate(-50%,-50%);}

.swiper-slide .date{font-family: ' TextMeOne ';margin-bottom: .5em;}
.swiper-slide .date .new{color: red;margin-left: .5em;}
.swiper-slide .title{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';margin-bottom: 10px;line-height: 1.3;}
.swiper-slide .title{  height: calc(1.5em * 2);
  line-height: 1.5em;
  overflow: hidden;
  position: relative;
  word-wrap: break-word;
  }
.swiper-slide .title::before {
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 30% /* 背景色 */
  );
  bottom: 0;
  content: "…";
  padding-left: 1em;
  position: absolute;
  right: 0;
}
.swiper-slide .title::after {
  background: #fff; /* 背景色 */
  content: "";
  height: 100%;
  position: absolute;
  width: 100%;
}
.swiper-button-prev {
top:40%;
  left: 0;
}
/* 次への矢印 */
.swiper-button-next {
top:40%;
  right:0;
}

/* スライド矢印 */
/* 矢印画像の高さと幅 */
.swiper-button-prev,
.swiper-button-next {
  height: 44px;
  width: 44px;
}
/* 矢印を消して画像に変更する */
.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  height: 44px;
  width: 44px;
  margin: auto;
}
/* 前に戻る矢印の画像パス */
.swiper-button-prev::after {
  background-image: url(../images/swiper-nav-left.png);
}
/* 次に進む矢印の画像パス */
.swiper-button-next::after {
  background-image: url(../images/swiper-nav-right.png);
}
.home #section06 .btn-allnews{display: flex;justify-content: center;padding-right: 0px;}
.home #section06 .btn-allnews a{border-radius: 30px;height: 60px;padding: 0 60px 0 2em;letter-spacing: .05rem;}
.home #section06 .btn-allnews a:hover{background: #555;color: white;}


.home #section07{padding: 50px 0 0px;position: relative;background: #079a3e;color: white;}
.home #section07 .h3-shadow{color:rgba(255,255,255,.3);top:-5px;left:auto;right:20px;}
.home #section07 .index{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';margin-bottom: 10px;font-size: 1.7em;}
.home #section07 .txt{text-align: justify;margin-bottom: 20px;}
.home #section07 .staff{width: 280px;margin: 0 auto;}
.home #section07 .staff img{width: 100%;height: auto;}
.home #section07 .btn-allnews{display: flex;justify-content:center;padding-right: 0px;margin-bottom: 30px;}
.home #section07 .btn-allnews a{background: white;color: black; border-radius: 30px;height: 60px;padding: 0 60px 0 2em;letter-spacing: .05rem;}
.home #section07 .btn-allnews a:hover{background:rgba(255,255,255,.7);color: black;}
.home #section07 .btn-allnews a .arrow {
  position: absolute;
  right:18px;
  display: inline-block;
  width: 15px;
  height: 1px;
  border-radius: 9999px;
  background-color: #000;
}
.home #section07 .btn-allnews a .arrow::before,
.home #section07 .btn-allnews a .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 7px;
  height: 1px;
  border-radius: 9999px;
  background-color: #000;
  transform-origin: calc(100% - 0.5px) 50%;
}

.gmap{margin-bottom: 0em;}
.gmap iframe{width: 100%;height: 200px;}


#target1{position: absolute;left:0;top:-60px;}
#target2{position: absolute;left:0;top:-60px;}
#target3{position: absolute;left:0;top:-60px;}
#target4{position: absolute;left:0;top:-60px;}
#target5{position: absolute;left:0;top:-60px;}




@media (min-width: 667px) {
.home #section01 ul li{margin-bottom: 0px;}
.home #section01 ul li:last-child{margin-bottom: 0px;}
.home #section01 ul li a{background: white;display: flex;align-items: center;justify-content: center;height: 54px;border-radius: .5em;padding: 1em 2em;transition: .4s;}

.home #section03 .h3-shadow.white{color:rgba(255,255,255,.3);top:10px;left:40%;right:auto;}
.home #section04 .h3-shadow{font-size: 60px;letter-spacing: .2rem;top:-5px;left:50%;transform: translateX(-50%);margin-right: -50%;}
.home #section05 .box.top-contact .deco{position: absolute;right:15px;top:15px;width: 250px;}
.home #section07 .btn-allnews{display: flex;justify-content:flex-start;padding-right: 0px;margin-bottom: 30px;}
.home #section07 .staff{width: 320px;margin: 0 auto;}


}




@media (min-width: 768px) {
.home #section01{padding: 70px 0;}
.home #section01 ul li a{height: 70px;border-radius: .5em;padding: 1em 3em;}


.home #section02{}

.home #section03{padding: 70px 0 70px;}
.home #section03 .wrap{margin-bottom: 0px;}
.home #section03 .txt2{text-align: justify;padding: 0 15px 0 0;}
.home #section03 .wrap.hidari{margin-bottom: 0px;padding-left: 35px;}
.home #section03 .txt2.hidari{text-align: justify;padding: 0 ;}
.home #section03 .num.hidari{display: flex; align-items: center;margin-left: -35px;}
.home #section03 .num.hidari::before {
  background-color: #fff;
  content: "";
  flex-grow:0;width: 35px;
  height: 1px;
}
.home #section03 .num.hidari::before {margin-right: 15px;}
.home #section03 .num.hidari:after{display:none;}

.home #section04{padding: 70px 0 70px;}
.home #section04 .h3-shadow{font-size: 86px;letter-spacing: .2rem;top:10px;left:50%;transform: translateX(-50%);margin-right: -50%;}
.home #section04 .index{margin-bottom: 15px;font-size: 1.3em;}

.home #section05{padding: 0px 0 70px;}
.home #section05 .box.top-contact .index{margin-bottom: .8em;line-height: 1;}

.home #section06{padding: 50px 0 110px;}
.home #section06 .h3-shadow{top:-15px;left:100px;}


.home #section07{padding: 70px 0 0px;}
.home #section07 .staff{width: 360px;margin: 0 auto;}


.gmap{margin-bottom: 0em;}
.gmap iframe{width: 100%;height: 250px;}

}



@media (min-width: 992px) {
.home #section01 ul li a{height: 90px;padding: 1em 3em;width: 95%;margin: 0 auto;}
.home #section01 ul li a:hover{background: rgba(230,242,234,1.00);}

.home #section02 .container{max-width: 98%;}

.home #section02 ul li{padding: 40px 0px 40px 0;}
.home #section02 ul li.kugiri{border-left: 1px solid #ccc;padding: 40px 10px 40px 40px;}
.main-news{display: flex;justify-content: space-between;padding-bottom: 40px;padding-right: 40px;margin-bottom: 40px;}
.main-news .thumb{margin-bottom: 0px;width: 47%;}
.main-news .txtbox{width: 50%;}
.btn-news{margin-top: 15px;display: flex;justify-content: flex-end;}
.btn-news a{width: 200px;margin-right: 0;}
.news-item .thumb{width: 49%;}
.news-item .txtbox{width: 47%;}
.btn-allnews{display: flex;justify-content: flex-end;padding-right: 40px;}
.btn-allnews a{border-radius: 30px;height: 60px;padding: 0 50px 0 2em;letter-spacing: .05rem;}
.btn-allnews a:hover{background: #555;color: white;}

.home #section03 .container{max-width: 98%;}
.home #section03 .num{font-size: 30px;line-height: 1;margin-bottom: 10px;}
.home #section03 h4{font-size: 1.4em;margin-bottom: 20px;}
.home #section03 .txt2{text-align: left;padding: 0 25px 0 0;}

.home #section04 .btn-allnews{display: flex;justify-content: flex-end;padding-right:0;}
.home #section04 .thumb{margin-bottom: 15px;}
.home #section04 .title{margin-bottom: 5px;text-align: center;font-size: 1.2em;}

.home #section05 .box{display: block;width: 100%;height: 240px;transition: .4s;padding: 2em;}
.home #section05 .box::before {transition: .4s;}
.home #section05 .box:hover::before {
  content: '';
  background-color: rgba(0,0,0,.4);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.home #section05 .box.contactbox:hover::before {
  content: '';
  background-color: rgba(0,0,0,.2);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.home #section05 .box.top-contact .deco{right:20px;top:20px;width: 300px;}
.home #section05 .box.top-contact .tel{line-height: 1;font-family: ' TextMeOne ';font-size: 35px;letter-spacing: .2rem;margin-bottom: 10px;}
.home #section05 .box.top-contact a.form{border-radius: 20px;height: 40px;margin-bottom: 9px;transition: .4s;}
.home #section05 .box.top-contact a.form:hover{background: rgba(0,157,46,1.00);}

.home #section06 .h3-shadow{top:-15px;left:130px;}
.home #section06 .btn-allnews{display: flex;justify-content: center;padding-right: 0px;}
.home #section06 .btn-allnews a{border-radius: 35px;height: 70px;padding: 0 70px 0 4em;letter-spacing: .05rem;}
.home #section06 .btn-allnews a:hover{background: #555;color: white;}

.home #section07 .h3-shadow{color:rgba(255,255,255,.3);top:-5px;left:40%;letter-spacing: .2em;}
.home #section07 .index{margin-bottom: 10px;font-size: 2em;}
.home #section07 .txt{margin-bottom: 40px;}

.home #section07 .staff{width: 100%;margin: 0 auto;position: absolute;right:0;bottom:0;}
.home #section07 .btn-allnews{display: flex;justify-content:flex-start;padding-right: 0px;margin-bottom: 50px;}

.d-btwn{display: flex;flex-direction: column;justify-content: space-between;}
.gmap iframe{width: 100%;height: 300px;}

#target1{top:-100px;}
#target2{top:-100px;}
#target3{top:-100px;}
#target4{top:-100px;}
#target5{top:-100px;}
#target6{top:-100px;}


}




@media (min-width: 1200px) {
.home #section01{padding: 100px 0;}

.home #section02{}
.news-item{display: flex;justify-content: space-between;margin-bottom: 30px;}
.news-item .btn-news a{width: 150px;margin-right: 0; display: flex;align-items: center;justify-content:space-around;color: black; height: 36px;border:1px solid #ccc;border-radius: 20px;background: white;transition: .4s;padding: 0 .6em;}

.home #section03{padding: 150px 0 100px;}
.home #section03 .h3-shadow.white{color:rgba(255,255,255,.3);top:-5px;left:50%;right:auto;}
.home #section03 .txt{font-weight: 600;margin-bottom: 50px;font-size: 1.2em;}
.home #section03 .num{font-size: 42px;line-height: 1;margin-bottom: 10px;}

.home #section03{padding: 100px 0;}

.home #section04{padding: 100px 0;}
.home #section04 .h3-shadow{font-size:120px;letter-spacing: .2rem;top:10px;left:50%;transform: translateX(-50%);margin-right: -50%;}


.home #section05{padding: 0px 0 100px;}
.maru{right:40px;bottom:40px;}
.home #section05 .box.top-contact .index{margin-bottom: .8em;font-size: 1.1em;}

.home #section06{padding: 60px 0 150px;}
.home #section06 .h3-shadow{top:-15px;left:200px;}
.home #section06 .btn-allnews a{border-radius: 40px;height: 80px;padding: 0 100px 0 6em;letter-spacing: .05rem;}

.home #section07{padding: 70px 0 0px;}
.home #section07 .index{margin-bottom: 20px;font-size: 2em;}
.home #section07 .txt{margin-bottom: 50px;line-height: 2;}
.home #section07 .staff{width: 660px;}


.gmap{}
.gmap iframe{width: 100%;}



}

@media (min-width: 1440px) {
.home #section02 .container{max-width: 1370px;}
.home #section02 ul li{padding: 70px 0px 50px 0;}
.home #section02 ul li.kugiri{padding: 70px 10px 50px 40px;}

.main-news{padding-bottom:70px;}

.home #section03 .container{max-width: 1370px;}
.home #section03 .wrap{margin-bottom: 0px;padding-left: 40px;}
.home #section03 .num{font-size: 48px;line-height: 1;margin-bottom: 10px;}
.home #section03 h4{font-size:30px;margin-bottom: 40px;}
.home #section03 .txt2{text-align: left;padding: 0;}

.home #section03 .wrap.hidari{margin-bottom: 0px;padding-left: 50px;}
.home #section03 .wrap.hidari h4{padding-left: 15px;}

.home #section03 .txt2.hidari{text-align: justify;padding: 0 ;padding-left: 15px;}
.home #section03 .num.hidari{display: flex; align-items: center;margin-left: -50px;}
.home #section03 .num.hidari::before {
  background-color: #fff;
  content: "";
  flex-grow:0;width: 50px;
  height: 1px;
}

.home #section04 .container{max-width: 1370px;}
.home #section04 .index{margin-bottom: 15px;font-size: 1.5em;}
.home #section04 .thumb{margin-bottom: 20px;}
.home #section04 .title{margin-bottom: 5px;text-align: center;font-size: 1.6em;}


.home #section05 .container{max-width: 1370px;}
.home #section05 .box{height: 280px;padding: 3em;}
.home #section05 .box.top-contact .deco{right:50px;top:40px;width: 350px;}
.home #section05 .box.contactbox{padding: 3em;}
.home #section05 .box.top-contact .tel{font-size: 39px;letter-spacing: .2rem;margin-bottom: 10px;}

.home #section06 .container{max-width: 1370px;position: relative;}
.home #section06 .h3-shadow{top:-90px;left:150px;}

.home #section07 .container{max-width: 1370px;position: relative;}
.home #section07 .h3-shadow{top:-110px;left:45%;}
.home #section07 .index{margin-bottom: 25px;font-size: 2.5em;}
.home #section07 .txt{margin-bottom: 40px;line-height: 2;font-size: 1.1em;}
.home #section07 .staff{width: 850px;right: -30px;}
.home #section07 .btn-allnews{display: flex;justify-content:flex-start;padding-right: 0px;margin-bottom: 70px;}
.home #section07 .btn-allnews a{ border-radius: 40px;height: 70px;padding: 0 75px 0 4em;letter-spacing: .05rem;}


}


@media (min-width: 1680px) {
.home #section01{padding:120px 0;}
.home #section01 ul li a{height: 110px;padding: 1em 3em;width: 92%;margin: 0 auto;}

.home #section02{}
.home #section02 ul li{padding: 100px 0px 80px 0;}
.home #section02 ul li.kugiri{padding: 100px 0px 80px 50px;}
.main-news{padding-bottom: 40px;padding-right: 50px;margin-bottom: 40px;}
.btn-allnews{display: flex;justify-content: flex-end;padding-right:50px;}
.btn-allnews a{border-radius: 40px;height: 74px;padding: 0 75px 0 2.5em;letter-spacing: .05rem;}

.home #section03{padding: 180px 0 120px;}
.home #section03 .txt{font-weight: 600;margin-bottom: 50px;font-size: 1.4em;}

.home #section03{padding:120px 0;}

.home #section04{padding:120px 0;}
.home #section04 .h3-shadow{font-size:170px;letter-spacing: .2rem;top:10px;left:50%;transform: translateX(-50%);margin-right: -50%;}

.home #section05{padding:0px 0 120px;}
.home #section05 .box{height: 320px;padding: 3em;}

.home #section06{padding:60px 0 180px;}
.home #section06 .h3-shadow{top:-100px;left:150px;}

.home #section07{padding:80px 0 0px;}
.home #section07 .h3-shadow{top:-130px;left:35%;}

.home #section07 .index{margin-bottom: 25px;font-size: 50px;}
.home #section07 .staff{width: 939px;right: -120px;}
.home #section07 .btn-allnews{margin-bottom: 80px;}




}


.btn-link2{display: flex;justify-content: flex-end;padding-right: 10px;}

.link {
	color: #fff;
	cursor: pointer;
	font-family: ' IBMPlexSansJP-SemiBold ';
	font-weight:600;
	text-decoration: none;
}
.link:hover {color: #fff;text-decoration: none;}

.link--arrowed {
	display: inline-block;
	height: 2rem;
	line-height: 2rem;
}
.link--arrowed .arrow-icon {
	position: relative;
	top: -1px;
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
	vertical-align: middle;
}
.link--arrowed .arrow-icon--circle {
	-webkit-transition: stroke-dashoffset .3s ease;
	transition: stroke-dashoffset .3s ease;
	stroke-dasharray: 95;
	stroke-dashoffset: 95;
}
.link--arrowed:hover .arrow-icon {
	-webkit-transform: translate3d(5px, 0, 0);
          transform: translate3d(5px, 0, 0);
}
.link--arrowed:hover .arrow-icon--circle {stroke-dashoffset: 0;}

@media (min-width:768px) {


}

@media (min-width: 992px) {
.btn-link2{padding-right: 30px;}


}


@media (min-width: 1200px) {
.btn-link2{padding-right: 40px;}
.link {font-size: 1.1em;}


}

@media (min-width: 1440px) {
.btn-link2{padding-right: 50px;}

}

/* pagetop 
---------------------------------------------------- */
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 1000;
}
 #pagetop img{vertical-align: bottom;border-radius: 50%; border:1px solid rgba(255,255,255,.5);}

#pagetop a {
    display: block;
    width: auto;
    text-align: center;
}
 
#pagetop a:hover {
    opacity: 1;
    text-decoration: none;
	-webkit-animation: float 0.8s linear 0s 1;
	animation: float 0.8s linear 0s 1;

}


.contact #pagetop {
    position: fixed;
    bottom: 15px;
    right: 85px;

}

@media (max-width: 568px) {
#pagetop {
    position: fixed;
    bottom: 10px;
    right: 10px;
}
.contact #pagetop {
    position: fixed;
    bottom: 10px;
    right: 85px;

}

 #pagetop img{width: 45px;height: auto;}


}




/* -----  footer ------- */
.common{padding: 50px 0;border-top:2px solid #eee;}
.common .container{}
.common .container .wrap{background: #7d967b;padding: 0;}
.common .container .wrap .box{padding: 2.4em 1em 1.5em;color: white;}
.common .container .wrap .box h3{text-align: center;position: relative;width: 70%;margin: 0 auto; margin-bottom: 25px;}
.common .container .wrap .box h3 .ja{font-size: 1.3em;font-weight: 600;position: relative;z-index: 5;}
.common .container .wrap .box h3 .en{position: absolute;z-index: 2;width: 150px;left:-25px;top:-25px;}
.common .container .wrap .box h3 .en img{transform: rotate(-12deg);}
.common .container .wrap .box .txt{text-align: justify;font-feature-settings: "palt";margin-bottom: 25px;}
.common .container .wrap .box ul li{margin-bottom: 20px;}
.common .container .wrap .box ul li .tel{border-bottom:1px solid #BFCBBF;padding-bottom: 15px;}
.common .container .wrap .box ul li:last-child{margin-bottom: 0;}
.common .container .wrap .box ul li:last-child .tel{margin-bottom: 0;border-bottom: none;padding-bottom: 0;}

.common .container .wrap .box .index{font-size: 1.15em;font-weight: 600;margin-bottom: .5em;}
.common .container .wrap .box .tel-call{}
.common .container .wrap .box .tel-call .call{color: white;font-size: 20px;}
.common .container .wrap .box .time{font-size: .9em;letter-spacing: 0;}
.common .container .wrap .box .mail{margin-bottom: 10px;}
.common .container .wrap .box .mail a{background: none;border:1px solid #BFCBBF;color: white;text-align: center;display: inline-block;width: 100%; line-height: 40px;border-radius: 20px;transition: .4s;}
.common .container .wrap .box .mail a:hover{background: #009C00;color: white;}
.common .container .wrap .pic-xs{}
.common .container .wrap li.pic{}

footer{ padding: 50px 0px 50px;position: relative;z-index: 2; background:#f6f6f6; color: black;}
footer ul{position: relative;z-index: 5;}
footer .logoblock{position: relative;text-align: center;width: 260px;margin: 0 auto;  margin-bottom: 30px;}

.logo-txt{text-align: center;margin-bottom: 15px;font-weight: 600;}
.logo-txt span{display: block;font-size: 20px;}
footer .address{font-size: .95em;letter-spacing: 0;margin-bottom: .5em;}
footer .address a{color:#079a3e;transition: .4s;}
footer .address a:hover{color:#555;}
footer .tel{font-size: 1em;margin-bottom: 1.5em;line-height: 1.4;letter-spacing: .04rem;}
footer .tel span.call{color: #000!important;}
footer .tel span.call:last-child{}



.footer-menu{width: 100%;margin: 0 auto; margin-bottom: 1.5em;padding: 0 0px;}
.footer-menu ul{display: block;}
.footer-menu li{width:100%;text-align: left;background:none;}
.footer-menu li .index{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';color: black;margin-bottom: 5px;}
.footer-menu li a.index{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';color: black;padding-bottom: .6em;display: block;transition: .4s;}
.footer-menu li a.index.kaso{padding-bottom: 0px;}

.footer-menu li a.index:hover{color:#079a3e;}
.footer-menu li a.sub{color: #000;text-decoration: none; text-align:left;padding-bottom: .3em;padding-left: .5em; line-height: 1.4;display: block;transition: .3s;}
.footer-menu li a.sub:hover{color:#079a3e;}

.copy{text-align: center;color: #fff; font-size: 1em;letter-spacing: 0;background: #005e23;padding: .6em 0;font-family: ' TextMeOne ';}

@media (min-width: 667px) {

footer .container{max-width: 100%;position: relative;}
footer .address{font-size: 1em;}
footer .tel{}

.footer-menu{width: 100%;margin: 0 auto; margin-bottom: 1.5em;display: flex;justify-content: space-around;}

.footer-menu ul{border-top: none;border-left:none;margin-left: 0;width: 32%;}
.footer-menu li {width: auto;padding-bottom: 0px;position: relative;background: none;text-align: left;}



}



@media (min-width: 768px) {
footer {padding: 70px 0;}
footer .container{max-width: 85%;}

footer .logoblock{width: 280px; margin-bottom: 30px;}
footer .address{font-size:1em;}
footer .tel{font-size:1em;}

.footer-menu{width: 100%;margin: 0 auto; margin-bottom:0;display: flex;justify-content: space-around;}

.footer-menu ul{border-top: none;border-left:none;margin-left: 0;width: 32%;}




.copy{font-size: 12px;}


}


@media (min-width: 992px) {

footer .container{max-width: 95%;}

footer .logoblock{position: relative;margin-left: 0;width: 300px;}
footer .tel:last-child{margin-bottom: 0;}
.footer-menu{width: 100%;margin: 0 auto; display: flex;justify-content: flex-end;}
.footer-menu ul{border-top: none;border-left:none;margin-left: 20px;width: auto;}



.btwn{display: flex;flex-direction: column;justify-content: space-between;}
.btwn2{display: flex;flex-direction: column;justify-content: center;}

.copy{font-size: 14px;text-align: center;padding: 1em;letter-spacing: .1rem;}


}




@media (min-width: 1200px) {

footer{padding: 100px 0;}
footer .container{max-width: 100%;}
footer .logoblock{position: relative;margin-left: 0;width: 360px;}

.footer-menu{width: 100%;margin: 0 auto; display: flex;justify-content: flex-end;}
.footer-menu ul{border-top: none;border-left:none;margin-left: 50px;width: auto;}



.copy{font-size: 14px;padding: 1.5em 1em;}



}


@media (min-width: 1440px) {

footer{padding: 100px 0;}
footer .container{max-width: 1370px;}



}




/*------------------------------　　下層ページ style　　------------------------------------------*/
.h2area{width: 100%; position: relative;height: 200px;display: flex;align-items: center;}
.h2-inner{
    position: absolute;
    z-index: 10;
    top: 0px;
    left:0px;
    bottom:0px;
	right:0px;
	height: 200px;
    overflow: hidden;
}

.h2-inner::after {
  content: "";
  position: absolute;
  z-index: 5;
  left:0;right: 0;
  top:0;
  bottom:0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0,0.4);
}
.h2-inner.h2-business{background: url("../images/h2-business.jpg");background-position: center;background-size: cover;}
.h2-inner.h2-feature{background: url("../images/h2-feature.jpg");background-position: center;background-size: cover;}
.h2-inner.h2-works{background: url("../images/h2-works.jpg");background-position: center;background-size: cover;}
.h2-inner.h2-news{background: url("../images/h2-news.jpg");background-position: center;background-size: cover;}
.h2-inner.h2-blog{background: url("../images/h2-blog.jpg");background-position: center;background-size: cover;}
.h2-inner.h2-rinen{background: url("../images/h2-rinen.jpg");background-position: center;background-size: cover;}
.h2-inner.h2-company{background: url("../images/h2-company.jpg");background-position: center;background-size: cover;}
.h2-inner.h2-recruit{background: url("../images/h2-recruit.jpg");background-position: center;background-size: cover;}
.h2-inner.h2-contact{background: url("../images/h2-contact.jpg");background-position: center;background-size: cover;}

.h2-txt {font-size: 16px;letter-spacing: 0.1em; color: #fff;text-shadow: 1px 1px #333;font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';position: absolute;left:20px;top:50%;transform: translateY(-50%);z-index: 10;}
.h2-txt span.en{display: block;font-family: ' TextMeOne ';font-weight: 400;margin-bottom: 10px;font-size: 30px;letter-spacing: .2rem;}

.h2area .wrap p{text-align: justify;font-feature-settings: "palt";}

.h3-shadow{font-family: ' TextMeOne ';position: absolute;color:#f7f7f7;font-size: 60px;letter-spacing: .2rem;top:-15px;left:-10px;}
.headline {
font-weight:600;
font-family: ' IBMPlexSansJP-SemiBold ';
color: #000;
font-size: 16px;
 position: relative;
 z-index: 10;
 text-align:left;
  margin-bottom: 1.2em;
  letter-spacing: .1rem;
  padding-left: 10px;
}
.headline span.en {display: block;font-weight: 400;font-family: ' TextMeOne ';font-size: 35px;margin-bottom: 5px;}
.headline:before {
  content: '';/*何も入れない*/
  position: absolute;
  left:0;
  top:12px;
  display: inline-block;
  width: 5px;/*画像の幅*/
  height: 19px;/*画像の高さ*/
  background-image: url(../images/title-deco.png);
  background-size: contain;
  vertical-align: middle;
}
.headline.white {color:white;}

.headline-h3 {
  position: relative;
  margin-bottom: 30px;
  font-size:20px;
  padding-left: 15px;
  letter-spacing: 0;
  color:#111;
  font-weight:600;
font-family: ' IBMPlexSansJP-SemiBold ';
  }
.headline-h3::before{
   content:"";
   display:inline-block;
   width:5px;
   height:97%;
   background-color:#393;
   position:absolute;
   top:1.5%;
   left:0;
   bottom: 1.5%;
   border-radius: 5px;
}

.headline-h4 {
text-align: center;
   font-size: 16px;
 position: relative;
font-weight:600;
font-family: ' IBMPlexSansJP-SemiBold ';
  padding: 1rem .5rem;
  margin-bottom: 1.8em;
}

.headline-h4:before {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  content: '';
  background: #393;
}



@media (min-width: 667px) {

.h2-txt {font-size: 18px;letter-spacing: 0.1em; left:40px;}
.h2-txt span.en{margin-bottom: 10px;font-size: 40px;letter-spacing: .2rem;}


}



@media (min-width: 768px) {



.h3-shadow{font-size: 70px;letter-spacing: .2rem;top:-15px;left:-10px;}


.headline {margin-bottom:30px;font-size: 16px;}


.headline-h3 {font-size: 26px;padding-left: 20px;}


.headline-h4 {  font-size: 20px;}


}


@media (min-width: 992px) {
.h2area{width: 100%; position: relative;height: 320px;}
.h2-inner{
    position: absolute;
    z-index: 10;
	border-radius: 15px;
    top: 20px;
    left:20px;
    bottom:0px;
	right:20px;
	height: calc(320px - 20px);
    overflow: hidden;
}

.h2-txt {font-size: 22px;letter-spacing: 0.1em; left:80px;padding-top: 80px;}
.h2-txt span.en{margin-bottom: 10px;font-size: 50px;letter-spacing: .2rem;}


.h3-shadow{font-size: 80px;letter-spacing: .2rem;top:-15px;left:-20px;}
.headline {margin-bottom:40px;padding-left: 15px;}
.headline span.en {font-size: 40px;margin-bottom: 5px;}

.headline:before {
  content: '';/*何も入れない*/
  position: absolute;
  left:0;
  top:9px;
  display: inline-block;
  width: 8px;/*画像の幅*/
  height: 30px;/*画像の高さ*/
  background-image: url(../images/title-deco.png);
  background-size: contain;
  vertical-align: middle;
}

.headline-h3 {font-size: 28px;margin-bottom: 40px;}


.headline-h4 {  font-size: 24px;}



}


@media (min-width: 1200px) {
.h2area{}


.headline {margin-bottom:50px;font-size:18px;padding-left: 15px;}
.headline span.en {font-size:52px;margin-bottom: 10px;letter-spacing: .2rem;}
.headline:before {
  content: '';/*何も入れない*/
  position: absolute;
  left:0;
  top:11px;
  display: inline-block;
  width: 10px;/*画像の幅*/
  height: 37px;/*画像の高さ*/
  background-image: url(../images/title-deco.png);
  background-size: contain;
  vertical-align: middle;
}

.headline-h3 {font-size: 30px;margin-bottom: 50px;padding-left: .5em;}


.headline-h4 { font-size: 26px;}

}

@media (min-width: 1440px) {

.h2area{width: 100%; position: relative;height: 450px;}
.h2-inner{height: calc(450px - 20px);}

.h2-txt {font-size: 22px;letter-spacing: 0.1em; left:10%;padding-top: 80px;}
.h2-txt span.en{margin-bottom: 10px;font-size: 60px;letter-spacing: .2rem;}


.headline-h3 {font-size: 36px;margin-bottom: 60px;padding-left: .5em;}

.h3-shadow{font-size: 120px;letter-spacing: .2rem;top:-25px;left:-20px;}


}

@media (min-width: 1680px) {
.h2-txt {font-size: 22px;letter-spacing: 0.1em; left:10%;padding-top: 80px;}
.h2-txt span.en{margin-bottom: 10px;font-size: 75px;letter-spacing: .2rem;}


.headline {margin-bottom:50px;font-size:20px;}
.headline span.en {font-size:60px;margin-bottom: 10px;letter-spacing: .3rem;}
.headline:before {
  content: '';/*何も入れない*/
  position: absolute;
  left:0;
  top:16px;
  display: inline-block;
  width: 10px;/*画像の幅*/
  height: 37px;/*画像の高さ*/
  background-image: url(../images/title-deco.png);
  background-size: contain;
  vertical-align: middle;
}


}

@media (min-width: 1920px) {
.h2area{width: 100%; position: relative;height: 550px;}
.h2-inner{height: calc(550px - 20px);}
.h2-txt {font-size: 24px;letter-spacing: 0.1em; left:13%;padding-top: 80px;}
.h2-txt span.en{margin-bottom: 10px;font-size: 90px;letter-spacing: .2rem;}

.h3-shadow{font-size: 180px;letter-spacing: .2rem;top:-45px;left:-100px;}


}


#pankuzu{background: #fff;position: relative;z-index: 10;max-width: 1200px;margin: 0 auto;padding: 0 15px;}





.marker {
  background: linear-gradient(transparent 70%, #f6e200 50%);
}
.marker2 {
  background: linear-gradient(transparent 50%, rgba(204,255,102,.8) 0%);
}

.btn-center {text-align: center !important;}

a.btn-more{background: #fff;color:#9ad460;border: 2px solid #9ad460;box-sizing: border-box; display: inline-block;transition: .3s;width: 300px;line-height: 60px;text-align: center;border-radius: 30px;font-family: ' BIZUDPGothic-Bold ';}
a.btn-more:hover{background: #9ad460;color: white; animation: vertical 2s linear infinite;}

@media (max-width: 767px) {
a.btn-more{width: 200px;line-height: 46px;font-size: 14px;}


}



.viewmore{
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
	overflow: hidden;
    /*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
   	border: 1px solid #555;/* ボーダーの色と太さ */
    padding: 15px 30px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/   
    transition: ease .2s;
}

/*ボタン内spanの形状*/
.viewmore span {
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color:#333;
}

.viewmore:hover span{
	color:#fff;
}

/*== 背景が流れる（中央から横全体） */
.bgcenterx:before {
	content: '';
    /*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
    /*色や形状*/
	background:#339933;
	width: 100%;
	height: 100%;
    /*アニメーション*/
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: top;
}
/*hoverした際の形状*/
.bgcenterx:hover:before{transform:scale(1, 1);}

.btn-posi-center{display: flex;justify-content: center;}
.btn-back {
  display: inline-block;
  padding:10px 10px;
  text-align: center;
  width:240px;
  text-decoration: none;
  background:#34894D;
  color: #fff;/*文字色*/
  font-size: 15px;
  letter-spacing: 0;border-radius: 10px;
  transition: .6s;
  position: relative;
}

.btn-back:hover{
  color: #fff!important;
  background: #555;
}





.btn-pdf {
  display: inline-block;
  padding:10px 15px 10px 50px;
  text-align: left;
  text-decoration: none;
  background:url("../images/ico-pdf.png"),#fff;
  background-position: center left 10px;background-repeat: no-repeat;background-size: 26px auto;
  color: #222!important;/*文字色*/
  border:1px solid #ddd;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-size: 13px;
  letter-spacing: 0;
  line-height: 1.5;
}
.btn-pdf:hover{
  color: #222;/*文字色*/
  background:url("../images/ico-pdf.png"),#f7f7f7;
  background-position: center left 10px;background-repeat: no-repeat;background-size: 26px auto;
}

.i-pdf{margin-top: 7px;display: block;}

@media (min-width: 768px) {
.btn-back {
  padding:18px 5px;
  width:340px;
  font-size: 16px;
}

}

@media (min-width: 1024px) {
.viewmore{padding: 20px 40px;font-size: 1.2em;}


.btn-back {
  padding:22px 5px;
  width:360px;
  font-size: 16px;
}

}

@media (min-width: 1200px) {
.viewmore{padding: 20px 60px;font-size: 1.2em;}


.btn-back {
  padding:22px 5px;
  width:360px;
  font-size: 16px;
}

}




.photo-ofi {
  height: 0;
  display: block;
  background: none;
  overflow: hidden;
  position: relative;
  padding-bottom: 65%;
  /* 高さを指定（ボックスの横幅を基準） */
}
.photo-ofi img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  object-fit: scale-down;
  font-family: 'object-fit: scale-down;';
  position: absolute;
  left: 0;
  top: 0;
}

/* paging */
.paging {
	padding:20px 10px 0px;
	line-height: 1.4;
	font-size: 14px;
}
.paging .page{text-align: center;margin-bottom: 5px;font-size: 13px;}
.paging span.current,
.paging  span.paging-text a{
	padding:5px 10px;
	color:#333;
	display:inline-block;
	margin:3px 0;
	background: #fff;
	border: 1px solid #ddd;
	text-decoration: none;
}
.paging span.current {
	background:#06A4AD;
	color:#fff;
}
.paging span.paging-text a:hover {
	background:#06A4AD;
	color:#fff;
}



/* shadow */
.box-shadow {box-shadow: 4px 4px #cdeaf8;}
.box-shadow2 {box-shadow: 2px 2px 10px rgba(0,0,0,.5)}
.drop-shadow { -webkit-filter: drop-shadow(2px 2px 10px rgba(0,0,0,.5));
        filter: drop-shadow(2px 2px 10px rgba(0,0,0,.5)); }
.drop-shadow2 { -webkit-filter: drop-shadow(0px 0px 10px rgba(0,0,0,.08));
        filter: drop-shadow(0px 0px 10px rgba(0,0,0,.08));}


.table-responsive {position: relative;z-index: 10;
border:none;
}


@media screen and (max-width: 767px) {
.table-responsive {
border:none;
}
.table-responsive::after {
font-size: 12px;
display: block;
padding: 0px 5px 5px 5px;
content: "表は左右にスクロールできます";
color: #999;
}
.table-responsive::-webkit-scrollbar {
height: 5px;
}

.table-responsive::-webkit-scrollbar-track {
border-radius: 5px;
background: #eee;
}

.table-responsive::-webkit-scrollbar-thumb {
border-radius: 5px;
background:#4ba4bc;
}
}

/*サムネ付きスライダー start*/
.slickwrap {
max-width: auto;
width: 100%;
margin: 0px auto;
  background-color: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.slickwrap .slider {
border:1px solid #ddd;
  width: 100%;
  margin: 0 0 10px 0;
  overflow:hidden;
  padding: 0;
}
.slickwrap .slide-item img {width: 100%;}


.slickwrap .thumbnail-list {
  width: 100%;
  margin: 0;
  padding:0 0px;
}
.slickwrap .thumbnail-list .slick-track {
  transform: unset !important;
  width: 100% !important;
  display: flex!important;
  flex-wrap: wrap;
  flex-flow:wrap;
}
.slickwrap .thumbnail-item {
  transition: .3s;
  padding: 0 2px;
  width:25%!important;
  box-sizing: border-box;
  position: relative;
  list-style:none;
  cursor: pointer;
}
.slickwrap .thumbnail-item .photo-ofi img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  position: absolute;
  left: 0;
  top: 0;
}
.slickwrap .thumbnail-item img{opacity: .5;}
.slickwrap .thumbnail-item.slick-current img{
border: 2px solid orange;
opacity: 1;
}
.slickwrap .thumbnail-item:hover img{opacity: 1;}
.slickwrap .thumbnail-item img {
  width: 100%;
  margin: 0 auto;
}
.slickwrap .thumbnail-item .title{padding-top: 8px;letter-spacing: 0;text-align: center;font-weight: 600;line-height: 1.3;font-size: .95em;}

@media screen and (max-width:991px) {
.slickwrap .thumbnail-item .title{padding-top: 5px;letter-spacing: 0;font-size: .9em;}

}

@media only screen and (max-width:767px){
.slickwrap .slider {margin: 0 0 10px 0;}

}

@media only screen and (max-width:500px){
.slickwrap{width:100%;margin: 0 auto;}

}
/*サムネ付きスライダー end*/






/* -----  business.html  -----*/
.business #section01{padding: 60px 0px;position: relative;}
.business #section01 .index{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';text-align: center;margin-bottom: 30px;font-size: 1.6em;font-style: oblique;}
.business #section01 .sub{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';text-align: center;margin-bottom:25px;font-size: 1.5em;color: #079a3e;}
.business #section01 .sub span{padding-bottom: .2em;border-bottom: 2px solid #079a3e;}

.business #section02{padding: 60px 0px;position: relative;background: #fafafa;}
/* タブコンテナ */
.tab-container {
  max-width: 100%;
  margin: 0 auto;
  padding: 0px;
}

/* タブボタン */
.tab-buttons {
  display: flex;
  border-bottom: 2px solid #e0e0e0;
  margin-bottom: 20px;
}

.tab-btn {
  background: none;
  width: 100%;
  padding-bottom: .3em;
  font-size: 20px;
  color:#000;
  font-family: ' TextMeOne ';
  transition: all 0.3s ease;
  position: relative;
  margin-bottom: 15px;
    border-bottom: 2px solid #009D2E;

}
.tab-btn span{margin-left: 5px;font-size: 1.4em;color:#009D2E;}


.tab-btn.active {color:#009D2E;}

.tab-btn.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: #009D2E;
  animation: fadeIn 0.3s ease;
}

/* スライドダウンコンテンツ */
.slide-down-content {
  overflow: hidden;
  position: relative;
  min-height: 350px;
  height: 100%;
}

.slide-down-panel {
  padding: 20px 0 0;
}

.slide-down-panel.active {
  top: 0;
  opacity: 1;
}

.slide-down-panel.prev {
  top: 100%;
  opacity: 0;
}

.slide-down-panel.next {
  top: -100%;
  opacity: 0;
}

.slide-down-panel h4{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';font-size: 1.4em;margin-bottom: 15px;color: #009D2E;}

.slide-down-panel p {
  color: #000;
  line-height: 1.5;
  text-align: justify;
  margin-bottom: 15px;
}

.slide-down-panel .pic {width: 280px;margin: 0 auto;}



/* スライドダウンアニメーション */
@keyframes slideDownIn {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes slideDownOut {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(100%);
    opacity: 0;
  }
}

/* フェードアニメーション */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.business #section03{padding: 60px 0px;position: relative;}
.business #section03 h4{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';background:#009D2E; color: white;padding: .5em;text-align: center;border-radius: 15px 15px 0 0;font-size: 1.3em;line-height: 1.4;margin-bottom: 30px;}
.business #section03 h4 span{display: block;font-size:14px;}
.business #section03 .facibox{display: flex;justify-content: space-between;}
.business #section03 .facibox .thumb{width: 120px;}
.business #section03 .facibox .txtbox{width: calc(100% - 135px);}
.business #section03 .facibox .txtbox .title{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';font-size: 1.2em;margin-bottom: 6px;}
.business #section03 .facibox .txtbox .title span{font-size: .9em;display: block;}

 .video-frame {
    border: 3px solid #b4f323;
    border-radius: 15px;
    transition: 0.3s;
    max-width: 100%;
  }


.business #section04{padding: 60px 0px;position: relative;background: rgba(57,158,87,.08);}
.business #section04 h4{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';text-align: center;font-size: 1.7em;line-height: 1.4;margin-bottom: 10px;padding-top: 10px;}
.business #section04 .sub{margin-bottom: 30px;text-align: justify;}

.business #section04 h5{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';font-size: 1.2em;line-height: 1.4;margin-bottom: 12px;}
.business #section04 .txt{text-align: justify;margin-bottom: 15px;}


.business #section05{padding: 60px 0px;position: relative;}





@media (min-width:667px) {
.slide-down-panel .pic {width: 100%;margin: 0 auto;}
.slide-down-panel p { margin-bottom: 0;}
.business #section03 .facibox .thumb{width: 150px;}
.business #section03 .facibox .txtbox{width: calc(100% - 175px);}

}




@media (min-width:768px) {

.business #section01{padding: 80px 0px;}
.business #section01 .index{margin-bottom: 40px;font-size: 2em;font-style: oblique;}


.business #section02{padding: 80px 0px;}
.tab-btn {
  padding-bottom: .3em;
  font-size: 26px;
  color:#000;
  font-family: ' TextMeOne ';
  letter-spacing: .2rem;
  position: relative;
  margin-bottom: 30px;
}
.tab-btn span{margin-left: 5px;font-size: 1.4em;color:#009D2E;}



.business #section03{padding: 80px 0px;}
.business #section03 .facibox .thumb{width: 120px;}
.business #section03 .facibox .txtbox{width: calc(100% - 135px);}

.business #section04{padding: 80px 0px;}
.business #section04 h4{font-size: 2em;line-height: 1.4;margin-bottom: 10px;padding-top: 10px;}
.business #section04 .sub{margin-bottom: 40px;text-align: justify;}

.business #section04 h5{font-size: 1.4em;line-height: 1.4;margin-bottom: 12px;}
.business #section04 .txt{text-align: justify;margin-bottom: 0;}

}


@media (min-width:992px) {
.business #section01 .sub{margin-bottom: 45px;font-size: 1.8em;}
.tab-btn {
  padding-bottom: .3em;
  font-size:30px;
  color:#000;
  font-family: ' TextMeOne ';
  letter-spacing: .2rem;
  position: relative;
  margin-bottom: 30px;
}
.tab-btn span{margin-left: 5px;font-size: 1.6em;color:#009D2E;}

.business #section03 h4{padding: .8em;text-align: center;border-radius: 15px 15px 0 0;font-size: 1.8em;line-height: 1.4;margin-bottom: 40px;}
.business #section03 h4 span{display: inline-block;font-size:16px;margin-left: 15px;}
.business #section03 .facibox .thumb{width: 140px;}
.business #section03 .facibox .txtbox{width: calc(100% - 150px);}
.business #section03 .facibox .txtbox .title span{font-size: .9em;display:inline;margin-left: .5em;margin-right: 1em;}
.business #section03 .facibox .txtbox .title span:last-child{margin-right: 0;}
.business #section04 .sub{margin-bottom: 50px;text-align: center;}
.business #section04 .btn-allnews{display: flex;justify-content: flex-end;padding-right: 0px;}
}

@media (min-width:1200px) {
.business #section01{padding: 100px 0px;}
.business #section01 .index{margin-bottom: 55px;font-size: 3em;}

.business #section02{padding:100px 0px;}

.slide-down-panel {padding: 40px 0 0;}

.business #section03{padding:100px 0px;}
.business #section03 .facibox .thumb{width: 160px;}
.business #section03 .facibox .txtbox{width: calc(100% - 175px);}

.business #section04{padding:100px 0px;}

}


@media (min-width:1440px) {
.business #section01 .container{max-width: 1370px;}
.business #section01 .sub{margin-bottom: 45px;font-size: 2.2em;}


.business #section02 .container{max-width: 1370px;}
.tab-btn {
  padding-bottom: .2em;
  font-size:34px;
  letter-spacing: .2rem;
  position: relative;
  margin-bottom: 40px;
}
.tab-btn span{margin-left: 5px;font-size: 1.6em;color:#009D2E;}

.slide-down-panel {padding: 50px 0 0;}
.slide-down-panel h4{font-size: 2em;margin-bottom: 30px;}

.business #section03 .container{max-width: 1370px;}
.business #section03 .facibox .thumb{width: 200px;}
.business #section03 .facibox .txtbox{width: calc(100% - 215px);}

.business #section04 .container{max-width: 1370px;}
.business #section04 h4{font-size: 2.4em;line-height: 1.4;margin-bottom: 10px;padding-top: 0px;}
.business #section04 .sub{margin-bottom: 70px;}

.business #section04 h5{font-size: 1.8em;line-height: 1.4;margin-bottom: 15px;}
.business #section04 .txt{}

}



@media (min-width:1680px) {
.business #section01{padding:120px 0px;}
.business #section01 .index{margin-bottom: 70px;font-size: 4em;}

.business #section02{padding:120px 0px;}
.slide-down-panel h4{font-size: 2.5em;margin-bottom: 30px;}

.business #section03{padding:120px 0px;}

.business #section04{padding:120px 0px;}


}


/* -----  feature.html  -----*/
.feature #section01{padding: 50px 0px;position: relative;}
.feature #section01 .index{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';text-align: center;margin-bottom: 30px;font-size: 1.6em;}
.feature #section01 .wrap{background: #f7f7f7;padding: 1.5em;border-radius: 15px;}
.feature #section01 .logo-pic{width: 200px;margin: 0 auto;margin-bottom: 15px;height: 50px;display: flex;align-items: center;justify-content: center;}
.feature #section01 .wrap p{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';text-align: center;padding-top: 1em;border-top: 2px solid #ddd;line-height: 1.5;}
.feature #section01 .index2{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';text-align: center;margin-bottom: 30px;font-size: 1.6em;}
.feature #section01 .pic{width: 260px;margin: 0 auto;}
.feature #section01 .wrap2{background:rgba(49,139,76,.08);padding: 1.5em;border-radius: 15px;}
.feature #section01 .wrap2 .ico{width: 80px;margin: 0 auto;margin-bottom: 10px;}
.feature #section01 .index3{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';text-align: center;margin-bottom: 10px;font-size: 1.6em;}
.feature #section01 .txt{text-align: justify;}

.feature #section02{padding: 50px 0px;position: relative;background: #fafafa;}
.feature #section02 .box{margin-bottom: 15px;}
.feature #section02 .box h4{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';margin-bottom: 10px;font-size: 1.15em;color: #009D2E;}
.feature #section02 .box p{text-align: justify;}


.feature #section03{padding: 50px 0px;position: relative;}
.feature #section03 .index{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';text-align: center;margin-bottom: 30px;font-size: 1.6em;}
.feature #section03 .pic{margin-bottom: 20px;}
.feature #section03 h4{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';margin-bottom: 10px;font-size: 1.15em;color: #009D2E;text-align: center;}
.feature #section03 .txt{text-align: justify;}



.feature #section04{padding: 50px 0px;position: relative;}


@media (min-width: 667px) {

.feature #section01 .pic{width: 360px;margin: 0 auto;}


}

@media (min-width: 768px) {
.feature #section01{padding: 70px 0px;}
.feature #section01 .pic{width: 95%;margin-left: 0;}
.feature #section01 .index2{text-align: left;}

.feature #section02{padding: 70px 0px;}
.feature #section02 .box{margin-bottom: 0;padding: 0 1em;}
.feature #section02 .box h4{margin-bottom: 15px;font-size: 1.2em;}
.feature #section02 .box p{text-align: justify;}


.feature #section03{padding: 70px 0px;}
.feature #section03 h4{margin-bottom: 10px;font-size: 1.25em;}


.feature #section04{padding: 70px 0px;}



}



@media (min-width: 992px) {
.feature #section01 .index{margin-bottom: 40px;font-size: 1.8em;}
.feature #section01 .wrap{background: #f7f7f7;padding: 2.5em;border-radius: 15px;}
.feature #section01 .logo-pic{width: 250px;height: 70px;display: flex;align-items: center;justify-content: center;margin: 0 auto;margin-bottom: 5px;}
.feature #section01 .wrap p{padding-top: 1.5em;border-top: 2px solid #ddd;line-height: 1.5;}
.feature #section01 .index2{margin-bottom: 40px;font-size: 1.8em;text-align: left;}

.feature #section03 .index{margin-bottom: 40px;font-size: 1.8em;}
.feature #section03 .txt{text-align: center;}


}

@media (min-width: 1200px) {
.feature #section01{padding: 100px 0px;}
.feature #section01 .index{margin-bottom: 40px;font-size: 2em;}
.feature #section01 .index2{margin-bottom: 40px;font-size: 2em;}

.feature #section02{padding: 100px 0px;}
.feature #section03{padding: 100px 0px;}
.feature #section03 .index{margin-bottom: 40px;font-size: 2em;}
.feature #section03 h4{margin-bottom: 10px;font-size: 1.4em;}

.feature #section04{padding: 100px 0px;}



}



@media (min-width: 1440px) {
.feature #section01 .container{max-width: 1370px;}
.feature #section01 .wrap{padding: 2.5em 3.5em;}
.feature #section01 .logo-pic{width: 280px;height: 76px;display: flex;align-items: center;justify-content: center;margin: 0 auto;margin-bottom: 5px;}
.feature #section01 .wrap p{padding-top: 1.5em;border-top: 2px solid #ddd;line-height: 1.5;font-size: 1.1em;}

.feature #section02 .container{max-width: 1370px;}
.feature #section02 .box h4{margin-bottom: 20px;font-size: 1.6em;}
.feature #section02 .box p{text-align: justify;font-size: 1.1em;line-height: 2;}


.feature #section03 .container{max-width: 1370px;}
.feature #section03 h4{margin-bottom: 10px;font-size: 1.6em;}

.feature #section04 .container{max-width: 1370px;}

}

@media (min-width: 1680px) {
.feature #section01{padding: 120px 0px;}
.feature #section01 .index{margin-bottom: 50px;font-size: 2.8em;}
.feature #section01 .index2{margin-bottom: 50px;font-size: 2.8em;}


.feature #section02{padding: 120px 0px;}
.feature #section03{padding: 120px 0px;}
.feature #section03 .index{margin-bottom: 50px;font-size: 2.8em;}


.feature #section04{padding: 120px 0px;}



}





/* -----  works.html  -----*/

.works #section01{padding: 50px 0px;position: relative;}
.works #section01 .pic{margin-bottom: 12px;}
.works #section01 .title{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';text-align: center;font-size: 18px;line-height: 1.2;}
.works #section01 .title span{display: block;font-size: 14px;letter-spacing: .03rem;}


.works #section02{padding: 50px 0px;position: relative;background: rgba(0,157,46,.06);}
.works #section02 .table{margin-bottom: 0;}
.works #section02 .table thead{background: rgba(83,151,95,1.00)!important;color: white;font-weight: 400;text-align: center;white-space: nowrap;}
.works #section02 .table thead th{background: rgba(83,151,95,1.00)!important;}
.works #section02 .table tbody{background: white!important;white-space: nowrap;}


@media (min-width: 667px) {



}

@media (min-width: 768px) {
.works #section01{padding: 70px 0px;}
.works #section01 .title{font-size: 22px;line-height: 1.2;}
.works #section01 .title span{display: block;font-size: 14px;letter-spacing: .03rem;}

.works #section02{padding: 70px 0px;}



}



@media (min-width: 992px) {



}

@media (min-width: 1200px) {
.works #section01{padding: 100px 0px;}
.works #section01 .title{font-size:25px;line-height: 1.2;}
.works #section01 .title span{margin-top: 5px;}

.works #section02{padding: 100px 0px;}
.works #section02 .table thead th{padding: 20px;}
.works #section02 .table tbody td{padding: 20px;}



}


/* -----  news.html  -----*/

.news #section01{padding: 50px 0px;position: relative;}
.narrowbox{display: flex;flex-direction: column;align-items: flex-end}
.narrowbox p{margin-bottom: 5px;}
.news-header{margin-bottom: 30px;padding-bottom: 1.5em; border-bottom: 1px solid #999;}
.news-header .date{margin-bottom: 10px;line-height: 1;font-family: ' TextMeOne ';display: flex;align-items: center;}
.news-header .date span{margin-left: 10px;background: red;color: white;padding:.3em .4em;font-size: .9em;border-radius: 4px;}
.news-header .title{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';margin-bottom: 0px;}

.newsitem{margin-bottom: 30px;border-bottom: 1px dashed #ccc;padding-bottom: 30px;}
.newsitem .thumb{margin-bottom: 13px;}
.newsitem .date{margin-bottom: 10px;line-height: 1;font-family: ' TextMeOne ';display: flex;align-items: center;}
.newsitem .date span{margin-left: 10px;background: red;color: white;padding:.3em .4em;font-size: .9em;border-radius: 4px;}
.newsitem .title{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';margin-bottom: 10px;}
.newsitem .txt{}
.newsitem .txt{  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* 制限したい行数が3の場合 */
  overflow: hidden;
  }
.newsitem .txt.blog{}
.newsitem .txt.blog{  }
 
  

.news #section01 .thumb2{margin-bottom: 13px;}
.news #section01 .exp{line-height: 1.4;text-align: justify;}
.news #section01 .box{padding: 1.5em;border:1px solid #ccc;border-radius: 10px;}


@media (min-width: 667px) {
.news-header .headline-h3{margin-bottom: 0;}
.newsitem .thumb{margin-bottom: 0px;}


}

@media (min-width: 768px) {
.news #section01{padding: 70px 0px;}
.news-header{margin-bottom: 50px;}
.news-header .title{font-size: 18px;}

.newsitem .title{font-size: 1.2em;margin-bottom: 10px;}
.newsitem .txt{  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5; 
  overflow: hidden;
  }

.news #section01 .thumb2{margin-bottom: 15px;}


}

@media (min-width: 992px) {

.newsitem .txt{  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6; 
  overflow: hidden;
  }


}

@media (min-width: 1200px) {
.news #section01{padding: 100px 0px;}
.news-header{margin-bottom: 60px;padding-bottom: 2em;}
.news-header .title{font-size: 25px;}

.newsitem{margin-bottom: 50px;padding-bottom:50px;}
.newsitem .btn-news{margin-top: 25px;display: flex;justify-content: flex-end;}
.newsitem .title{font-size: 1.5em;margin-bottom: 15px;}
.newsitem .txt{  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 8; 
  overflow: hidden;
  }

}
@media (min-width: 1440px) {

}



/* -----  blog.html  -----*/

.blog #section01{padding: 50px 0px;position: relative;}
.blog .wrapper {
  width: 100%;
  margin: 0 auto;
  display:block;
}
.blog .main {background-color: #fff;margin-bottom: 50px;}
.blog .sidebar {}
.blog .widget {margin-bottom: 0px;}


.blog #section01 .wrap{}
.blog #section01 .wrap article{margin-bottom: 50px;}
.blog #section01 .wrap .side{}
.blog #section01 .wrap .side .sidebar-inner{}
.blog #section01 .side-title{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';margin-bottom: 20px;font-size: 17px;}
.blog #section01 .list{margin-bottom: 30px;}
.blog #section01 .list a{display: block;color: black;line-height: 1.4;padding: .6em 0;border-bottom: 1px solid #ddd;position: relative;padding-right: 1.5em;}
.blog #section01 .list a::after {
font-family: "Font Awesome 5 Free";
content: "\f054";
font-weight: 900;
font-size: 12px;
position: absolute;right:0;top:50%;transform: translateY(-50%);
}
.blog #section01 .list a:first-child{border-top: 1px solid #ddd;}

/*カレンダー*/
.calendar{border-collapse:collapse;width:100%;margin-bottom: 30px;}
.calendar caption{padding-bottom:6px;font-size:18px;font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';}
.calendar caption a{font-weight: 400;font-family: ' IBMPlexSansJP-Regular ';font-size: 14px;margin-right: 1em;color: #666;}
.calendar caption a:last-child{margin-right: auto;margin-left: 1em;}
.calendar th,.calendar td{font-size:15px;border:1px solid #bbb;text-align:center;line-height:30px}
.calendar th{background:#ddedf8;font-weight: 400;}
.calendar th:first-child{color:#f30;}
.calendar th:last-child{color:#03c;}
.calendar td div{text-align:center}

.today{background:#fffbcc}
.saturday{background:#f3f9fd;}
.sunday{background:#fff5f2;}
.holiday{background:#fff5f2;}

.calendar td a{text-decoration:underline;display:block;width:100%;}
.calendar td a:hover{background:#fe814d;color:#fff;text-decoration:none}
.calendar td a:active{background:#f30;}

/*検索ー*/
.search-form {
  display: flex;
  width: 100%;
  margin: 0 auto 30px;
  flex-direction: row-reverse;
  align-items: center;
  overflow: hidden;
  border: 1px solid #777777;
  border-radius: 25px;
}
.search-form input {
  width: 100%;
  height: 45px;
  padding: 5px 15px 5px 0;
  border: none;
  box-sizing: border-box;
  font-size: 1em;
  outline: none;
  background-color: transparent;
}
.search-form input::placeholder {color: #777777;}
.search-form button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 45px;
  border: none;
  background-color: transparent;
  cursor: pointer;
}
.search-form button::before {
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23777777'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  content: '';
}


@media (min-width: 667px) {



}

@media (min-width: 768px) {
.blog #section01{padding: 70px 0px;}



}


@media (min-width: 992px) {
.blog #section01 .wrap{display: flex;justify-content: space-between;flex-flow: row-reverse;}
.blog #section01 .wrap article{width: calc(100% - 270px);margin-bottom: 0;}
.blog #section01 .wrap .side{width: 250px;}
.blog #section01 .side-title{margin-bottom: 20px;font-size: 20px;}
.calendar{margin-bottom: 40px;}
.search-form {margin: 0 auto 40px;}
.blog #section01 .list{margin-bottom: 40px;}

.blog .wrapper {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.blog .main {
  width: calc(100% - 270px);
  height: auto;
}
.blog .sidebar {width: 250px;  padding-bottom: 30px;}
.blog .widget {}
.blog .widget:last-child {margin-bottom: 0;}
.blog .widget--sticky {
  position: sticky;
  top: 120px;
}


}

@media (min-width: 1200px) {
.blog #section01{padding: 100px 0px;}
.blog #section01 .wrap article{width: calc(100% - 350px);}
.blog #section01 .wrap .side{width: 300px;}
.blog #section01 .list a{transition: .4s;}
.blog #section01 .list a:hover{color: #009D2E;}

.blog .main {width: calc(100% - 350px);}
.blog .sidebar {width: 300px;}
.blog .widget:last-child {margin-bottom: 0;}



}

@media (min-width: 1440px) {
.blog #section01 .container{max-width: 1370px;}
.blog #section01 .wrap article{width: calc(100% - 400px);}

.blog #section01 .side-title{margin-bottom: 20px;font-size: 24px;}
.calendar{margin-bottom: 40px;}
.blog #section01 .list{margin-bottom: 40px;}
.blog #section01 .list a{padding: 1em 0;padding-right: 1.5em;}

.blog .main {width: calc(100% - 400px);}


}



/* -----  rinen.html  -----*/
.rinen #section01{padding: 50px 0px;position: relative;}
.rinen #section01 a{display: block;background: #3EBA54;color: white;padding: .6em;border-radius: 10px;text-align: center;font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';}

.rinen #section02{padding: 50px 0px;position: relative;background: #fafafa;}
.rinen #section02 .pic{margin-bottom: 30px;}
.rinen #section02 .box{}
.rinen #section02 .box .index{font-weight: 600;font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";margin-bottom: 15px;font-size: 1.3em;}
.rinen #section02 .box .txt{text-align: justify;margin-bottom: 15px;font-feature-settings: "palt";}
.rinen #section02 .box .day{margin-bottom: 10px;}
.rinen #section02 .box .sign{display: flex;align-items: center;justify-content: flex-end;}
.rinen #section02 .box .sign span{margin-right: 1em;font-weight: 600;font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";}
.rinen #section02 .box .sign img{width: 180px;height: auto;}

.rinen #section02 .table{margin-bottom: 0;border-bottom: 1px solid #ddd;}
.rinen #section02 .table th{font-weight: 400;width: 100%;display: block;background: #eee;}
.rinen #section02 .table td{width: 100%;display: block;}
.rinen #section02 .table td .call{color: black;}



.rinen #section03{padding: 50px 0px;position: relative;}
.rinen #section03 .txtbox{background:rgba(125,199,64,.07);padding: 1.5em;border-radius: 10px;font-weight: 600;font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";text-align: justify;line-height: 1.6;font-size: 1.1em;margin-bottom: 40px;}
.rinen #section03 ul li{margin-bottom: 30px;}
.rinen #section03 ul li .box2{background: rgba(125,199,64,.07);padding: 1.5em;border-radius: 10px;}
.rinen #section03 ul li:last-child{margin-bottom: 0px;}
.rinen #section03 ul li h4{font-weight: 600;font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";text-align: center;font-size: 1.5em;margin-bottom: 15px;}
.rinen #section03 ul li p{text-align: justify;}
.rinen #section03 ul li .dot li{margin-bottom: 5px;line-height: 1.4;text-align: justify;font-feature-settings: "palt";}
.rinen #section03 ul li .dot li:last-child{margin-bottom: 0;}
.palt{font-feature-settings: "palt";}
.rinen #section03 .box{}
.rinen #section03 .box .index{margin-bottom: 10px;font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';color: rgba(0,157,46,1.00);}
.rinen #section03 .box .address{margin-bottom: 25px;}
.rinen #section03 .box .btn-allnews{display: flex;justify-content: center;}
.rinen #section03 .box .btn-allnews a{position: relative;display: flex;align-items: center;justify-content: center;border-radius: 25px;height: 42px;background: #079a3e;color: white;padding: 0 45px 0 1.5em;letter-spacing: .05rem;transition: .4s;}

.rinen #section04{padding: 50px 0px;position: relative;background: rgba(125,199,64,.07);}


@media (min-width: 667px) {



}
@media (min-width: 768px) {
.rinen #section01{padding: 70px 0px;}
.rinen #section01 a{padding:1em .6em;font-size: 1.1em;}

.rinen #section02{padding: 70px 0px;}
.rinen #section02 .pic{width: 380px;margin: 0 auto; margin-bottom: 30px;}

.rinen #section03{padding: 70px 0px;}
.rinen #section03 ul li .dot li{margin-bottom: 8px;}
.rinen #section03 .box{margin-bottom: 0px;}
.rinen #section03 .box .index{margin-bottom: 10px;font-size: 1.2em;}
.rinen #section03 .box .address{margin-bottom: 25px;}
.rinen #section03 .box .btn-allnews{display: flex;justify-content: flex-start;}
.rinen #section03 .box .btn-allnews a{position: relative;display: flex;align-items: center;justify-content: center;border-radius: 25px;height: 42px;background: #079a3e;color: white;padding: 0 45px 0 1.5em;letter-spacing: .05rem;transition: .4s;}
.rinen #section03 .box .btn-allnews a:hover{background: #555;color: white;}

.rinen #section04{padding: 70px 0px;}

}

@media (min-width: 992px) {
.rinen #section01 a{padding:1em .6em;border-radius: 10px;transition: .4s;}
.rinen #section01 a:hover{background: #008630;}
.rinen #section02 .pic{width: 100%;margin: 0 auto; margin-bottom: 0px;}
.rinen #section02 .box{padding-right: 2em;}
.rinen #section02 .box .index{margin-bottom: 15px;font-size: 1.7em;}

.rinen #section02 .table th{width: 200px;display:table-cell;background: #fafafa!important;}
.rinen #section02 .table td{width: auto;display: table-cell;}


.rinen #section03 .txtbox{padding: 2em;line-height: 1.8;font-size: 1.1em;margin-bottom: 50px;}


}
@media (min-width: 1200px) {
.rinen #section01{padding: 100px 0px;}
.rinen #section01 a{padding:1.3em .6em;border-radius: 10px;transition: .4s;font-size: 1.4em;}

.rinen #section02{padding: 100px 0px;}
.rinen #section02 .box .index{margin-bottom: 15px;font-size: 2.2em;}
.rinen #section02 .table th{width: 240px;padding: 20px 10px;}
.rinen #section02 .table td{padding: 20px 10px;}

.rinen #section03{padding: 100px 0px;}
.rinen #section03 .txtbox{padding: 3em 3.5em;line-height: 2;font-size: 1.2em;margin-bottom:70px;}
.rinen #section03 ul li .dot li{margin-bottom: 10px;}
.rinen #section03 ul li h4{font-size: 1.9em;margin-bottom: 20px;}
.rinen #section03 ul li .box2{padding: 2em;border-radius: 13px;}
.rinen #section03 .box{padding-right: 30px;}
.rinen #section03 .box .index{margin-bottom: 15px;font-size: 1.3em;}
.rinen #section03 .box .address{margin-bottom: 30px;}
.rinen #section03 .box .btn-allnews a{position: relative;display: flex;align-items: center;justify-content: center;border-radius: 25px;height: 42px;background: #079a3e;color: white;padding: 0 55px 0 2em;letter-spacing: .05rem;}

.rinen #section04{padding: 100px 0px;}

}


@media (min-width: 1440px) {
.rinen #section02 .container{max-width: 85%;}
.rinen #section02 .box .txt{line-height: 1.8;}


}


.timeline {list-style: none;}
.timeline > li {margin-bottom: 30px;}
.timeline-date {margin-bottom: 10px; }
.timeline-content {}
.timeline-content .emp {background: #eee;padding: .7em;}

.timeline-content .index{font-weight: 600;font-family: ' IBMPlexSansJP-SemiBold ';}
.timeline-content .pic{width:250px;}
.his-wrap{padding-top: 10px;}
.his-wrap .pic{margin-bottom: 10px;}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}


@media ( min-width : 667px ){
.his-wrap{padding-top: 10px;display: flex;justify-content: space-between;}
.his-wrap .pic{margin-bottom: 0px;}

.youtube {
  width: 250px;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
}

/* for Desktop */
@media ( min-width : 992px ){
  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
	display: flex;
  }
  .timeline-date {
    width: 180px;
	margin-bottom: 0;
  }
  .timeline-content {
    width: calc(100% - 180px);
    border-left: 3px #e5e5d1 solid;
    padding-left: 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-bottom: 50px;
  }
  .timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #6fc173;
    position: absolute;
    left: 176px;
    top: 5px;
    border-radius: 100%;
  }
  .timeline-content .emp {padding: 1.5em;}

  
}

@media ( min-width : 1200px ){

.timeline-content .index{font-size: 1.2em}

}




/* -----  recruit.html  -----*/


.recruit #section01{padding: 50px 0px;position: relative;}
.recruit #section01 p.index{margin-bottom: 2.5em;font-family: ' IBMPlexSansJP-SemiBold ';font-weight: 600;font-size: 1.1em;text-align: center;line-height: 1.6;}
.recruit #section01 p.index span{font-size: 1.3em;color: #009C00;}
.recruit #section01 p.txt{margin-bottom: 2em;text-align: justify;}



.daihyoname{text-align: right;}

.recruit #section02{padding: 50px 0px 50px;position: relative;background: rgba(122,172,137,.09);}
.recruit #section02 h4{display: flex;align-items: center;margin-bottom: 20px;}
.recruit #section02 h4 .num{width: 40px;height: 40px;background:rgba(0,157,46,1.00);border-radius:50%;display: flex;align-items: center;justify-content: center;color: white;margin-right: 10px;font-size: 1.3em;}
.recruit #section02 h4 .txt{font-family: ' IBMPlexSansJP-SemiBold ';font-weight: 600;font-size: 1.2em;}
.recruit #section02 .txt2{font-size: 1.1em;}



.recruit #section03{padding: 50px 0px;position: relative;}
.recruit #section03 .wrap{border: 1px solid #ddd;border-radius: 13px;padding: .5em;background: rgba(156,217,102,.09);}
.recruit #section03 .wrap .pic{margin-bottom: 15px;}
.recruit #section03 .wrap h4{font-family: ' IBMPlexSansJP-SemiBold ';font-weight: 600;font-size: 1.2em;text-align: center;margin-bottom: 8px;}
.recruit #section03 .wrap .txt{text-align: center;}

.recruit #section04{padding: 50px 0px 50px;position: relative;background: rgba(122,172,137,.09);}
.recruit #section04 p.index{margin-bottom: 1.7em;font-family: ' IBMPlexSansJP-SemiBold ';font-weight: 600;font-size: 1.5em;text-align: center;line-height: 1.4;}
.recruit #section04 p.index span{font-size: 1.3em;color: #009C00;}
.fukidashi-01-08 {
  position: relative;
  width: fit-content;
  isolation: isolate;
  margin-bottom: 25px;
}
.fukidashi-01-08  .text {
    position: relative;
    z-index: 1;
    border: 2px solid #333333;
    background-color: #ffffff;
    padding: 15px 16px;
	text-align: justify;
	border-radius: 10px;
  }
  
.fukidashi-01-08 ::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 6px;
    z-index: -2;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 2px solid #333333;
    background-color: #ffffff;	border-radius: 10px;

  }

.fukidashi-01-08 ::after {
    content: "";
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    z-index: -1;
    width: 20px;
    height: 2px;
    box-sizing: border-box;
    background-color: #333333;
    box-shadow:
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff;
    rotate: 50deg;
  }
.recruit #section04 .name{display: flex;align-items: center;justify-content: center;}
.recruit #section04 .name span{font-family: ' IBMPlexSansJP-SemiBold ';font-weight: 600;}
.recruit #section04 .name .ico{width: 80px;height: 80px;border-radius: 50%;overflow: hidden;border:3px solid white;}
.recruit #section04 p.index.second{margin-bottom: 10px;}
.recruit #section04 p.sub{text-align: center;margin-bottom: 30px;font-family: ' IBMPlexSansJP-SemiBold ';font-weight: 600;}

.recruit #section05{padding: 50px 0px 50px;position: relative;}
.recruit #section05 a img{transition: .4s;}
.recruit #section05 a:hover img{opacity: .8;}


@media (min-width: 667px) {



}



@media (min-width: 768px) {
.recruit #section01{padding: 70px 0px;}

.recruit #section01 p.index{margin-bottom: 2.5em;font-size: 1.6em;text-align: center;line-height: 1.6;}
.recruit #section01 p.txt{margin-bottom: 0em;text-align: justify;}


.recruit #section02{padding: 70px 0px;}
.recruit #section02 .table th{width: 200px;display: table-cell;border-bottom:1px solid #c0ccfa;padding: 15px 10px;}
.recruit #section02 .table td{width: auto;display: table-cell;border-bottom:1px solid #c0ccfa;}

.recruit #section03{padding: 70px 0px;}
.recruit #section03 .wrap .pic{margin-bottom: 15px;}
.recruit #section03 .wrap h4{font-size: 1.4em;text-align: center;margin-bottom: 10px;}

.recruit #section04{padding: 70px 0px;}
.recruit #section04 p.index{margin-bottom: 2em;font-size: 1.8em;text-align: center;line-height: 1.4;}
.recruit #section04 p.sub{text-align: center;margin-bottom: 40px;font-size: 18px;}


}

@media (min-width: 992px) {

.recruit #section02 h4{display: flex;align-items: center;margin-bottom: 20px;}
.recruit #section02 h4 .num{width: 50px;height: 50px;font-size: 1.3em;}
.recruit #section02 h4 .txt{font-size: 1.6em;}
.recruit #section02 .txt2{font-size: 1.2em;}

.daihyoname{text-align: right;}

.recruit #section03 .index{margin-bottom: 0.5em;font-size: 25px;}
.recruit #section03 .gmap{margin-bottom: 0em;width: 95%;}
.recruit #section03 .gmap iframe{width: 100%;height: 280px;}

}



@media (min-width: 1200px) {
.recruit #section01{padding: 100px 0px;}
.recruit #section01 p.index{margin-bottom: 2em;font-size: 30px;}
.recruit #section01 p.txt{font-size: 1.1em;letter-spacing: .15em;}
.recruit #section02 h4{display: flex;align-items: center;margin-bottom: 20px;}
.recruit #section02 h4 .num{width: 60px;height: 60px;font-size: 1.5em;}
.recruit #section02 h4 .txt{font-size: 1.8em;}

.recruit #section02{padding: 100px 0px;}
.recruit #section02 .table th{width: 220px;padding: 22px 10px;}
.recruit #section02 .table td{padding: 22px 10px;}

.recruit #section03{padding: 100px 0px;}
.recruit #section03 .wrap{border: 1px solid #ddd;border-radius: 16px;padding: 1em;}

.recruit #section03 .wrap .pic{margin-bottom: 20px;}
.recruit #section03 .wrap h4{font-size: 1.7em;text-align: center;margin-bottom: 15px;}

.recruit #section04{padding: 100px 0px;}
.recruit #section04 p.index{margin-bottom: 2em;font-size: 2em;text-align: center;line-height: 1.4;}
.fukidashi-01-08  .text {
    position: relative;
    z-index: 1;
    border: 2px solid #333333;
    background-color: #ffffff;
    padding: 25px 20px 20px 25px;
	text-align: justify;
  }
.recruit #section04 .name .ico{width: 90px;height: 90px;border:3px solid white;}
.recruit #section04 p.sub{text-align: center;margin-bottom: 60px;font-size: 20px;}

.recruit #section05{padding: 80px 0px;}

}


@media (min-width: 1440px) {

.recruit #section01 p.index{}
.recruit #section01 p.txt{font-size: 1.1em;}


}


@media (min-width: 1680px) {
.recruit #section01{padding: 120px 0px;}
.recruit #section01 p.index{margin-bottom: 2.3em;font-size:36px;}

.recruit #section02{padding: 120px 0px;}
.recruit #section02 h4{display: flex;align-items: center;margin-bottom: 40px;}

.recruit #section03{padding: 120px 0px;}

.recruit #section04{padding: 120px 0px;}
.recruit #section04 p.index{margin-bottom: 2em;font-size: 2.3em;text-align: center;line-height: 1.4;}


}


/* =========================================
   共通の枠組み・PC表示（横並び）の基本設定
========================================= */
.cs-resp-wrapper {
    width: 100%;
    margin: 0 auto ;
	margin-bottom: 50px;
    padding: 0px 0;
}

.cs-resp-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* =========================================
   各ステップの項目（PC：横並び設定）
========================================= */
.cs-resp-item {
    flex: 1; /* 均等幅に割り付け */
    text-align: center;
    position: relative;
    padding: 0 12px; /* PC表示時のテキストの左右余白 */
}

/* ▼ 魔法のコード（PC用）：横に伸びる繋ぎ線 ▼ */
.cs-resp-item::after {
    content: '';
    position: absolute;
    top: 25px; /* 丸（40px）の中央の高さ */
    left: 50%; /* 自分の丸の中央からスタート */
    width: 100%; /* 次の丸の中央まで伸ばす */
    height: 3px;
    background-color: #ccc; /* 未完了のグレー */
    z-index: 1;
}

.cs-resp-item:last-child::after {
    display: none; /* 最後のステップには線を引かない */
}

/* =========================================
   丸いアイコンとテキスト
========================================= */
.cs-resp-circle {
    position: relative;
    z-index: 2; /* 繋ぎ線より上に配置 */
    width: 50px;
    height: 50px;
    margin: 0 auto 16px; /* PCでは丸を中央揃えにして下に余白を空ける */
    background-color: #6c0;
    border: 2px solid #390; /* 隙間を作るための白枠 */
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5em;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.cs-resp-title {
    display: block;
    font-size: 1.4em;
	font-family: ' IBMPlexSansJP-SemiBold ';
    font-weight: 600;
    color: #000;
    margin-bottom: 8px;
}

.cs-resp-desc {
    font-size: 0.9em;
    color: #000;
    line-height: 1.5;
    margin: 0;
	text-align: justify;
}
@media screen and (max-width: 1200px) {
.cs-resp-title {
    display: block;
    font-size: 1.2em;
    margin-bottom: 8px;
}

}


/* =========================================
   ステータス別のスタイル変化（完了・現在地）
========================================= */
.cs-resp-item.is-completed .cs-resp-circle {
    background-color: #2589d0;
    color: #ffffff;
}
.cs-resp-item.is-completed::after {
    background-color: #2589d0;
}

.cs-resp-item.is-active .cs-resp-circle {
    background-color: #ffffff;
    border-color: #2589d0;
    color: #2589d0;
    box-shadow: 0 4px 12px rgba(37, 137, 208, 0.2);
}
.cs-resp-item.is-active .cs-resp-title {
    color: #2589d0;
}

/* =========================================
   レスポンシブ対応（スマホ表示：縦並びに変形）
========================================= */
@media screen and (max-width: 991px) {
.cs-resp-wrapper {margin-bottom: 30px;}

    /* 1. リスト全体を縦積みにする */
    .cs-resp-list {
        display: block;
    }
    
    /* 2. 各項目を横並び（丸アイコンが左、テキストが右）に変形 */
    .cs-resp-item {
        display: flex;
        align-items: flex-start;
        text-align: left; /* テキストを左寄せに戻す */
        padding: 0 0 32px 0; /* 左右の余白を消し、下部に次のステップへの余白を作る */
    }
    
    /* 3. 丸アイコンの配置調整 */
    .cs-resp-circle {
        flex-shrink: 0; /* テキストが増えても丸を潰さない */
        margin: 0 16px 0 0; /* 下余白を消し、右側に余白を作る */
    }
    
    /* 4. ▼ 線を「横」から「縦」に切り替える ▼ */
    .cs-resp-item::after {
        top: 40px; /* 丸の真下からスタート */
        left: 25px; /* 丸の中央（40pxの半分）の位置 */
        transform: translateX(-50%); /* 完璧に中央に合わせる */
        width: 3px; /* 線の太さ */
        height: calc(100% - 40px); /* 次のステップまでの距離だけ縦に伸ばす */
    }
}



/* -----  contact-box ------- */

.contact #section01{padding: 50px 0px ;position: relative;border-bottom: 1px solid #999;}
.contact #section01 .index{text-align: center;font-family: ' IBMPlexSansJP-SemiBold ';font-weight: 600;margin-bottom: 1em;font-size: 1.1em;color: #009D2E;}
.contact #section01 .tel{text-align: center;font-size: 23px;}
.contact #section01 .tel span{font-weight:400;font-family: ' TextMeOne ';color: #000;font-size: 30px;margin-left: 5px;}

.contact #section01 .time{text-align: center;letter-spacing: 0;}
.contact #section01 .time span{display: block;}

.contact #section02{padding: 50px 0px 50px;position: relative;}

.pre-scrollable{word-break: break-all;}
.contact #section02 .txt{margin-bottom: 40px}
span.hissu{color: white;background:red; padding: 4px 8px;border-radius: 3px;font-size: 12px;line-height: 1;}
.pre-scrollable p{text-align: justify;font-feature-settings: "palt";}


.contact .table{border-bottom: 1px solid #ddd;color: #000;margin-bottom: 40px;}
.contact .table th{width: 100%;display: block;background:rgba(0,157,45,.08)!important;font-weight: normal;padding: 15px 5px;}
.contact .table td{width: 100%;display: block;background: none!important;padding-left: 30px;vertical-align: middle;}
.table th span.hissu{olor: white;background:red; padding: 4px 8px;border-radius: 3px;float: right;font-size: 12px;}


.contact h4{margin-bottom: 1.5em;font-size: 20px;}
.contact h5{margin-bottom: 1.5em;font-size: 16px;padding-bottom: .5em;border-bottom: 1px solid #ddd;font-weight: 600;}
.h5-policy{font-size: 16px;font-weight: 600; margin-bottom: 1em;border-left:5px solid rgba(6,164,173,1.00);padding-left: 10px;line-height: 1;}
.txt-privacy{font-size: 14px;line-height: 1.5;padding-left: 20px;}




@media (min-width: 768px) {

.contact #section01{padding: 70px 0px;}
.contact #section01 .tel{font-size:35px;}
.contact #section01 .tel span{font-size:43px;}

.contact #section01 .time{text-align: center;}


.contact #section02{padding: 40px 0px 80px;}


.contact .table{margin-bottom: 60px;}
.contact .table th{width: 220px;display:table-cell;vertical-align: middle;padding: 15px 10px;text-align: left;}
.contact .table td{width: auto;display:table-cell;padding: 15px;}
.table th span.hissu{olor: white;background:red; padding: 4px 8px;border-radius: 3px;float: right;font-size: 12px;margin-left: 10px;}

.h5-policy{font-size: 18px;margin-bottom: 1em;}



}


@media (min-width: 992px) {
.contact #section01 .index{margin-bottom: 1em;font-size: 1.3em;}


.contact #section02 .txt{margin-bottom:50px}
.contact h4{margin-bottom: 1.5em;font-size: 24px;}
.contact h5{margin-bottom: 1.5em;font-size: 18px;}


}




@media (min-width: 1280px) {

.contact #section01{padding: 100px 0px;}
.contact #section01 .tel{font-size: 40px;}
.contact #section01 .tel span{font-size:50px;}

.contact #section02{padding: 40px 0px 100px;}
.contact #section02 .txt{margin-bottom:50px;line-height: 1.8;}

.contact .table{margin-bottom:100px;}
.contact .table th{width: 250px;}

.pre-scrollable {
  max-height: 450px;
}

}



@media (min-width: 1680px) {

.contact #section01{padding: 120px 0px;}
.contact #section01 .index{margin-bottom: .7em;font-size: 1.6em;}
.contact #section02{padding: 120px 0px 120px;}




}










.doi-box{padding: 0px 15px;}
.doi-box label{font-size: 13px;margin-bottom: 15px;}

.contact #section02 .btn-lg{font-size: 13px;padding: 7px 5px;}

@media (min-width: 768px) {
.doi-box label{font-size: 14px;margin-bottom: 20px;}
.contact #section02 .btn-lg{font-size: 14px;padding: 7px 10px;}
}

@media (min-width: 1140px) {
.doi-box label{font-size: 16px;margin-bottom: 20px;}

.contact #section02 .btn-lg{font-size: 16px;padding: 15px 50px;}
}




.form-4{width:5em}
.form-s{width:70px}
.form-m{width:150px}
.form-name{width:99%;}
.form100{width:99%}
.form-post{width: 8.5em;}
.form-h{ height:15em;}
.needinput{background-color:#fff;border:1px solid #c00!important;}
.selectbox {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.selectbox::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.selectbox select {
    appearance: none;
    min-width: 180px;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #d0d0d0;
    border-radius: 7px;
    background-color: #fff;
	background: white;
    color: #333333;
    font-size: 1em;
    cursor: pointer;
}
.auto{background: #eee;margin-left: 1em;padding: .5em .5em;border-radius: .4em;font-size: .9em;}

input[type="checkbox"], input[type="radio"] {vertical-align:middle;position: relative;top:-2px;}
input{font-size:100%;vertical-align:middle; padding:12px;}
.contact input[type="text"], select{border:1px solid #ddd;}

input,textarea { outline: none; padding:12px;border-radius: 7px; }
textarea{border:1px solid #ccc;width:99%;color: #111;font-size: medium;}

input::placeholder {
	color: #ccc;font-size: 13px;letter-spacing: 0.08rem;
}
input::-webkit-input-placeholder {
	color: #ccc;font-size: 13px;letter-spacing: 0.08rem;
}
input:-ms-input-placeholder {
	color: #ccc;font-size: 13px;letter-spacing: 0.08rem;
}
input::-moz-placeholder {
	color: #ccc;font-size: 13px;letter-spacing: 0.08rem;
}
textarea::placeholder {
	color: #ccc;font-size: 13px;letter-spacing: 0.08rem;
}
textarea::-webkit-input-placeholder {
	color: #ccc;font-size: 13px;letter-spacing: 0.08rem;
}
textarea:-ms-input-placeholder {
	color: #ccc;font-size: 13px;letter-spacing: 0.08rem;
}
textarea::-moz-placeholder {
	color: #ccc;font-size: 13px;letter-spacing: 0.08rem;
}


@media (min-width: 768px) {
.form-name{width:350px;}

}



/*-----------------------------------------------------------------------------
print css
-----------------------------------------------------------------------------*/
@media print {
body {padding-top:0px;}
.aos-init { opacity: 1 !important; transform: none !important; }
.cb-header2 {display: none!important;}
header{display: block;}
.cb-header2 {display: none;}
.header{width: auto; position: relative;z-index: 10;display: block;}
.site-header{
display:block;
position:absolute;
width: 100%;
z-index: 200;
top:0;
left:0;
right:0;
height: 100px;
transition: .5s;
}
.logo {position:absolute;z-index: 50; width: 220px;left: 30px;top:36px;}
.logo.color {display: none;}


.gnav-wrapper {width: 100%;}

.gnav {width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.gnav li { 
  text-align: center;
  transition: all .3s ease-in-out;
  font-size: 1em;
}

.gnav li.contact {padding-left: 15px; }

.gnav a {position: relative;
text-align: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: ' TextMeOne ';
  height: 120px;
  line-height: 1.4;
  font-size: 14px;margin: 0 15px;
}
.gnav a .ja{display: block;font-family: ' IBMPlexSansJP-Regular ';font-size: 1.1em;}

.gnav a.active {color: #090;}
.gnav a.drop {margin: 0 20px 0 30px;}
.gnav a.drop::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0d7";
font-weight: 900;
position: absolute;
right: -1em;
top:50%;
transform: translateY(-50%);
  color: #fff;
}
.gnav a.drop.active {color: #090;position: relative;}
.gnav li a:hover { color: #090;}
.gnav li a.drop:hover::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0d7";
font-weight: 900;
position: absolute;
right:-1em;
top:50%;
transform: translateY(-50%);
  color: #9c6;
}
.gnav a:hover::after {color: #9c6;}
.gnav li.contact a{}
.gnav li.contact a::before {
content:"";
position:absolute;
left:-20px;
top:30%;/*縦位置の指定*/
background:#fff;/*線の色指定*/
width:1px;/*線の幅指定*/
height:40%;}

.gnav a.drop::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0d7";
font-weight: 900;
position: absolute;
right: -1em;
top:50%;
transform: translateY(-50%);
  color: #555;
}
.gnav a.drop.active {color: #090;position: relative;}
.gnav > li:hover .megamenu {
	max-height: 9999px;
  display: none;
  padding: 0px 0;
}
.megamenu {display: none;}

#moviearea{height: 650px;}

#main-video-area{
    position: absolute;
    z-index: 10;
	border-radius: 0;
    top: 0px;
    left:0px;
    bottom:0px;
	right:0px;
	height: 650px;
    overflow: hidden;
}
#main-video-area::before {
  content: '';
  position: absolute;
  z-index: 15;
  border-radius: 0;
  top: 0;
  left: 0px;
  right: 0;
  bottom: 0;
  background-color:rgba(9,107,24,0.30);
}
#main-video {
    /*天地中央配置*/
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}
#moviearea h2{position:relative; display: flex;align-items: center;}
#moviearea h2:before,
#moviearea h2:after {
    flex-grow: 1;
    background-image: repeating-linear-gradient(0deg, #4dd038, #4dd038 10px, transparent 10px, transparent 20px);
	height: 30px;
	margin-top: 50px;
    content: '';
}
#moviearea h2:before {margin-right: 20px;}
#moviearea h2:after {margin-left: 20px;}
#moviearea h2 img{width: 400px;height: auto;}
#moviearea .box{position: absolute;z-index: 20;left:0px;right:0px;bottom:50px;}

.h2area{width: 100%; position: relative;height: 320px;}
.h2-inner{
    position: absolute;
    z-index: 10;
	border-radius: 15px;
    top: 20px;
    left:20px;
    bottom:0px;
	right:20px;
	height: calc(320px - 20px);
    overflow: hidden;
}

.h2-txt {font-size: 22px;letter-spacing: 0.1em; left:80px;padding-top: 80px;}
.h2-txt span.en{margin-bottom: 10px;font-size: 50px;letter-spacing: .2rem;}


.blog .wrapper {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.blog .main {
  width: calc(100% - 270px);
  height: 3000px;
}
.blog .sidebar {width: 250px;}
.rinen #section02 .table th{width: 230px;display:table-cell;background: #fafafa!important;}
.rinen #section02 .table td{width: auto;display: table-cell;}

.contact .table{margin-bottom: 60px;}
.contact .table th{width: 220px;display:table-cell;vertical-align: middle;padding: 15px 15px;text-align: left;}
.contact .table td{width: auto;display:table-cell;padding: 15px;}

footer .logoblock{position: relative;margin-left: 0;width: 300px;}
footer .tel:last-child{margin-bottom: 0;}


.drawer_menu{display: none;}

.no-print{display: none!important;}
.gmap iframe{width: 100%;height: 360px;}
#pagetop {display: none!important;}

}
