@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@700&family=Zen+Antique&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto&family=Zen+Antique&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

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

	リセット

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

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, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: 500;
	vertical-align: baseline;
	background: transparent;
}
body { line-height: 1;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
ul { list-style: none;}
blockquote, q { quotes: none;}
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none;}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
table { border-collapse: collapse; border-spacing: 0;}
hr {
	display: block;
	height: 0px;
	border: 0;
	border-bottom: 1px solid #000;
	margin: 0;
	padding: 0;
}
input, select { 
/*	vertical-align: middle;*/
}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: top;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}
*, *:before, *:after { box-sizing: border-box;}


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

	グローバル

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

body {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	color: #333333;
	font-size: 1em;
	line-height: 1.8;
	position: relative;
	min-width: 1030px;
}

p { margin-bottom: 25px;}
p:last-child { margin-bottom: 0px;}

a { color: #333333; text-decoration: none;}
a:hover, a:active { color: #0074d6;}

/*table{
  text-align: center;
  margin: auto;
  width: 50%;
}*/

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo09 { font-size: 0.9em !important;}
.fo11 { font-size: 1.1em !important;}
.fo115 { font-size: 1.15em !important;}
.fo12 { font-size: 1.2em !important;}
.fo125 { font-size: 1.25em !important;}
.fo13 { font-size: 1.3em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo18 { font-size: 1.8em !important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh16 { line-height: 1.6;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}
.lh23 { line-height: 2.3;}

.ls01 { letter-spacing: 0.1em;}
.ls02 { letter-spacing: 0.2em;}

.fo_noto { font-family: 'Noto Sans JP', sans-serif;}
.fo_zen-antique-regular {
  font-family: "Zen Antique", serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.fo_white { color: #FFFFFF;}
.fo_blue { color: #1565C0;}
.fo_red { color: #ff0000;}

/* ボックス */
.container { max-width: 1100px; padding: 0px 15px; margin: 0px auto;}
.container2 { max-width: 1500px; padding: 0px 15px; margin: 0px auto;}
.ttl_container{ max-width: 1500px; padding: 0px 15px; margin: 0px auto;}

.width800 { max-width: 800px; margin: auto;}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}

.ta_center { text-align: center;}
.ta_right { text-align: right;}
.ta_left { text-align: left;}
.ta_right-s_center { text-align: right;}
.ta_left-s_center { text-align: left;}
.ta_center-s_left { text-align: center;}

.back_white { background-color: #fff !important;}

@media (min-width: 861px) {
	.hidden_l { display: none !important;}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

/* margin */
.mb00 { margin-bottom: 0px !important;}
.mb05 { 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;}
.mb80 { margin-bottom: 80px !important;}

.mb40-20 { margin-bottom: 40px !important;}
.mb60-30 { margin-bottom: 60px !important;}
.mb80-40 { margin-bottom: 80px !important;}
.mb100-60 { margin-bottom: 100px !important;}
.mb120-60 { margin-bottom: 120px !important;}
.mb160-80 { margin-bottom: 160px !important;}

/* clearFix */
.clearFix { zoom: 100%;}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

/* ------------------------
	ヘッダー
------------------------ */

.header { 
	display: flex; 
	align-items: center; 
	padding: 25px;
}

.header h1 img{width: 300px;}


.gn { display: flex; align-items: center;margin-left: auto;margin-right: 2em;}
.gn > li:not(:first-child) { margin-left: 2em;}
.gn > li a:hover{color: #0b983F;}

/* ドロップダウンメニュー */
.gn .dd {
	position: relative;
	z-index: 999999;
	cursor: pointer;
}
.gn .dd ul {
	width: 370px;
	background: #fff;
	position: absolute;
	display: none;
	padding: 1em 1.2em;
	left: 0px;
	font-size: 0.95rem;
	margin-left: -65px;
	text-align: left;
	line-height: 2.2;
}
.gn .dd a { text-decoration: none; color: #333333;}
.gn .dd a:hover { color: #0b983F;}

@media only screen and (max-width: 1200px) {
    .gn > li{font-size: 0.9em;}
    .gn > li:not(:first-child) { margin-left: 1em;}
}

/* ------------------------
	グローバルナビ
------------------------ */

/* ハンバーガーメニュー */
.humberger {
	background: #FFFFFF;
	cursor: pointer;
	display: block;
	position: fixed;
	top: 1.5em;
	right: 3em;
	width: 55px;
	height: 55px;
	z-index: 1000001;
	border-radius: 50px;
	border: 1px solid #0B983F;
}
.humberger span {
	background: #0B983F;
	border-radius: 15px;
	position: absolute;
	left: 16px;
	width: 21px;
	height: 2px;
	transition: 0.4s;
}
.humberger span:nth-of-type(1) { top: 19px;}
.humberger span:nth-of-type(2) { top: 27px;}
.humberger span:nth-of-type(3) { top: 35px;}
.humberger:after {
	color: #fff;
	content: '';
	display: block;
	font-size: 10px;
	text-decoration: none;
	text-align: center;
	transition: 0.4s;
	position: absolute;
	left: 0;
	bottom: 1px;
	width: 100%;
}
.is-open .humberger:after { content: '';}
.is-open .humberger span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
	  -ms-transform: translateY(6px) rotate(-45deg);
		  transform: translateY(6px) rotate(-45deg);
}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
	  -ms-transform: translateY(-10px) rotate(45deg);
		  transform: translateY(-10px) rotate(45deg);
}
/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%; display: none;}

.sp-navi.is-open{
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 999999;
    background: rgba(130, 170, 216,.5);
    display: block;
}

.sp-navi.is-open .sp-navi-inner {
	opacity: 1;
	visibility: visible;
	z-index: 1000000;
	display: flex;
	flex-flow: column;
	justify-content:space-between;
}
.sp-navi .sp-navi-inner {
	background: #FFFFFF;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	height: 100%;
	width: 100%;
	right: 0;
	max-width: 390px;
	transition: .5s;
	padding-bottom: 30px;
}

.sp-navi .sp-navi-inner .navi-main{
	margin-top: 200px;
}

.sp-navi .sp-navi-inner .navi-main > li {
	position: relative;
}

.sp-navi .sp-navi-inner .navi-main > li > a{
	font-size: 1.5em;
	font-weight: bold;
	color: #0B983F;
	display: block;
	padding: 20px 10px 20px 50px;
	overflow: hidden;
	line-height: 1.3em;
	text-decoration: none;
}

.sp-navi .sp-navi-inner .navi-main > li > span {
	display: block;
	padding: 13px 10px 13px 35px;
	overflow: hidden;
	line-height: 1.3em;
	text-decoration: none;
	cursor: pointer;
	font-weight: normal;
}
.sp-navi .sp-navi-inner .navi-main > li > ul > li { width: 100%;}
.sp-navi .sp-navi-inner .navi-main > li > ul > li > a {
	display: block;
	font-size: 1em;
	line-height: 1.3em;
	padding: 20px 10px 0px 60px;
	position: relative;
	text-decoration: none;
	color: #333333;
	font-weight: bold;
}
.sp-navi .sp-navi-inner .navi-main > li > ul > li > a:before {
	background: #333333;
	content: "";
	height: 1px;
	width: 5px;
	position: absolute;
	left: 3.5em;
	top: 2em;
}

.sp-navi-inner > div{
	width: 290px;
	margin-left: auto;
	margin-right: auto;
}

.sp-navi-inner > div > a{
	display: block;
}

.sp-navi-inner > div > a:nth-of-type(1){
	margin-bottom: 10px;
}

.sp-navi .sp-navi-inner .navi-main a:hover{
	text-decoration: underline;
}

.sp-navi .logo { padding: 0px 60px 0px 10px; line-height: 50px; display: flex; justify-content: space-between; align-items: center;}
.sp-navi .logo img { vertical-align: middle;}

html.is-fixed{position: fixed;width: 100%;overflow-y: auto;}
html.is-fixed body {height: 100%;overflow: hidden;}

/* ------------------------
	フッター
------------------------ */

.footer .bg02 { background: #484848; background-size: cover; padding: 50px 0px 0px;}
.footer .bg02 .container { display: flex; justify-content: space-between;}
.footer .bg02 a { color: #fff;}
.footer .bg02 a:hover { text-decoration: underline;}
.footer_nav { display: flex;}
.footer_nav ul:first-child { margin-right: 2em;}
.footer_nav ul ul li { position: relative; padding-left: 3em; margin: 5px auto;}
.footer_nav ul ul li:before { content: ""; position: absolute; width: 1em; height: 2px; background: #fff; left: 1em; top: 50%; transform: translateY(-50%);}

.footer .bg02 .box03 {background: #0B983F; justify-content: space-between; align-items: center; padding: 20px 15px;}
.footer .bg02 .box03 .container {display: flex;}
.footer .bg02 .box03 .copy {opacity: 0.5;}
.footer .bg02 .box03 ul { display: flex;}
.footer .bg02 .box03 li:last-child { margin-left: 2em;}

.footer .box04 a{display: block; transition: all 0.3s 0s ease-in-out;}
.footer .box04 a:hover{opacity: 0.7;}

.pagetop { position: fixed; right: 30px; bottom: 0px; padding-bottom: 50px; z-index: 9999;}
.pagetop a { display: flex; justify-content: center; align-items: center; border: solid 2px #0B983F; border-radius: 5px; background: #0B983F; width: 60px; height: 50px; padding-top: 7px; transition: 0.2s;}
.pagetop a:after {
	content: "";
    width: 15px;
    height: 15px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(-45deg);
	transition: 0.2s;
}
.pagetop a:hover { background: #fff;}
.pagetop a:hover:after { border-color: #0B983F;}


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

	トップページ

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

.viewer {
	line-height: 0px;
	margin: 0 auto;
	width: 100%;
	position: relative;
	overflow: hidden;
}
.viewer ul {
	width: 100%;
	overflow: hidden;
	position: relative;
}
.viewer ul li {
	top: 0;
	left: 0;
	width: 100%;
	position: absolute;
}
.viewer ul li img { width: 100%;}

.slider_wrap .pos_ab { width: 100%; left: 0px; top: 0px; z-index: 100;}

.top_sec01{
	position: relative;
	z-index: 99998;
	width: 100%;
	overflow: hidden;
	margin-bottom: 50px;
	/*padding-bottom: 200px;*/
    padding: 0 60px;
}

.top_sec01 figure:nth-of-type(1){
	margin-bottom: 20px;
}

.top_sec01 .box01{
    position: absolute;
    z-index: 99999;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    width: 65%;
    transform: translate(-50%, -50%);
    border-radius: 186px;
	left: 50%;
	top: 50%;
    padding: 50px 100px;
}

.top_sec01 .box01 p{font-size: 3.3em;color: #FFFFFF;text-shadow: 0px 0px 6px #00000099;line-height: 1.4em;}
.top_sec01 .box01 ul{display: flex;justify-content: center;}

.top_sec01 .box01 ul li{
    background-image: linear-gradient(180deg, rgba(11, 152, 63, 1), rgba(6, 190, 74, 1));
    padding: 5px 0.5em;
    border-radius: 10px;
    box-shadow: 0px 0px 10px #00000029;
    font-weight: bold;
    color: #FFFFFF;
    font-size: 2.25em;
}
.top_sec01 .box01 ul li:not(:first-child){margin-left: 20px;}

@media only screen and (max-width: 1500px) {
    .top_sec01 .box01 p{font-size: 2.5em;}
    .top_sec01 .box01 ul li{font-size: 1.5em;}
}

@media only screen and (max-width: 1200px) {
    .top_sec01 .box01 p{font-size: 2em;}
    .top_sec01 .box01 ul li{font-size: 1.2em;}
    .top_sec01 .box01 ul li:not(:first-child){margin-left: 10px;}
}


.top_sec02{
	background-color: #F0EFD3;
	margin-bottom: 110px;
    padding: 60px 0;
}

.top_sec02 h2{color: #0B983F;font-size: 2.625em;margin-bottom: 20px;}
.btn_green{
    display: block;
    padding: 15px 40px;
    color: white;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.25em;
    transition: all 0.3s 0s ease-in-out;
    width: 270px;
    background-image: linear-gradient(180deg, rgba(11, 152, 63, 1), rgba(6, 190, 74, 1));
    border-radius: 30px;
    position: relative;
}
.btn_green::after {
    content: "";
    position: absolute;
    right: 2rem; /* ボタンの右端から15pxの位置に矢印を配置 */
    top: 50%;
    transform: translateY(-50%); /* 矢印を垂直方向に中央揃え */
    width: 25px;
    height: 16px;
    background: url('../images/common/arrow_right.svg') no-repeat center center;
    background-size: contain; /* 矢印画像のサイズをボックスにフィットさせる */
}

.top_sec02 .btn_green{margin: 0 auto;}
.btn_green:hover{color: white;transform: translateX(10px);}

@media only screen and (max-width: 1200px) {
    .top_sec02 h2{font-size: 2em;}
}

.top_sec03{margin-bottom: 100px;}
.top_sec03 .container{background-color: white;}
.top_sec03 .container > h2 span:nth-of-type(1){color: #0B983F;font-size: 2.375em;}
.top_sec03 .container > h2 span:nth-of-type(2){color: #92D9C0;font-size: 2em;margin-left: 0.5em;}


.top_sec03 .container .box01{background-color: #E2F0E8;padding: 45px;}
.top_sec03 .container .box01 p{
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 40px;
}

.top_sec03 .container > p{
	font-size: 1.5em;
}

.top_sec03 .container ul{
	display: flex;
	justify-content: space-around;
	margin-bottom: 40px;
}

.top_sec03 .container ul li{
	width: 45%;
}
.top_sec03 .container ul li figcaption{
	margin-top: 20px;
	color: #333333;
}

.top_sec03 .container ul li a:hover figcaption{
	color: #1565C0;
	text-decoration-line: underline;
}

.top_sec03 .container .box02{
	max-width: 450px;
	margin-left: auto;
	margin-right: auto;
}

.top_sec03 .container .box02 a{
	transition: all 0.3s 0s ease-in-out;
}
.top_sec03 .container .box02 a:hover{
	opacity: 0.7;
}

.top_sec04 .container{
    display: flex;
}
.top_sec04 .container .box01{width: 20.9%}

.top_sec04 .container h2{margin-bottom: 40px;}
.top_sec04 .container h2 span:nth-of-type(1){color: #0B983F;font-size: 2.375em;}
.top_sec04 .container h2 span:nth-of-type(2){color: #92D9C0;font-size: 2em;margin-left: 0.5em;}

/*トップページお知らせ*/
.top_sec04 .container .news_dl{width: 65.8%;margin-left: auto;}
.top_sec04 .container .news_dl dl{padding-bottom: 30px;border-bottom: 1px solid #000000;margin-bottom: 30px;}
.top_sec04 .container .news_dl dl dt{color: #38B2FF;margin-bottom: 1em;font-size: 1.125em;font-weight: bold;}
.top_sec04 .container .news_dl dl dd{}



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

	下層ページ

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

/* 共通 */
.show_sp { display: none;}
.over_hidden { overflow: hidden;}

.more_btn a { display: inline-block; color: #fff; text-decoration: none; background-image: linear-gradient(180deg, rgba(11, 152, 63, 1), rgba(6, 190, 74, 1)); border-radius: 60px; line-height: 1.6; padding: 16px 2em 16px 3em; text-align: center; font-size: 1.15em; font-weight: bold;}
.more_btn a:after { content: ""; display: inline-block; background: url("../images/common/arrow_right.svg") no-repeat center center; background-size: 100% auto; width: 1em; height: 0.5em; vertical-align: middle; margin-left: 3em; transition: 0.3s;}
.more_btn a:hover:after { transform: translateX(0.5em);}

.more_btn02 a {
	background: linear-gradient(to right, rgba(5,163,151,0.8) 0%, rgba(0,116,214,0.8) 100%);
	display: inline-block;
	padding: 2px;
	border-radius: 60px;
	min-width: 235px;
	color: #001842;
	text-decoration: none;
	font-size: 1.1em;
	line-height: 1.6;
	letter-spacing: 0.1em;
	transition: 0.3s;
}
.more_btn02 a span {
	display: block;
	border-radius: 60px;
	background: #fff;
	padding: 0.6em 1.5em;
	position: relative;
}
.more_btn02 a span:after { content: ""; position: absolute; width: 0.91em; height: 1em; background: url("../images/common/ico_link.svg") no-repeat center center; background-size: 100% auto; right: 1.7em; top: 50%; transform: translateY(-50%);}
.more_btn02 a:hover { transform: translateX(5px);}

.pagettl {
    position: relative;
    overflow: hidden;
    font-size: 1.5em; 
    letter-spacing: 0.1em; 
    padding: 50px 0px;
}

.pagettl__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../images/common/headline.jpg") no-repeat center center;
    background-size: cover;
    filter: blur(10px); /* ここが重要 */
    z-index: 0;
}

.pagettl h2 {
    position: relative;
    z-index: 1;
}

.heading_btmline {letter-spacing: 0.1em; font-size: 1.75em; line-height: 1.4; padding-bottom: 8px; color: #0B983F;}
/*.heading_btmline:after { content: ""; position: absolute; left: 0px; width: 100%; height: 2px; bottom: 0px; background: #0074d6;}*/

.heading_middle { font-size: 1.8em;}


/* ------------------------
	company
------------------------ */

.com_sec01 table { width: 100%;  margin: auto;}
.com_sec01 th, .com_sec01 td { border-bottom: 1px solid #707070; padding: 0.8em 0px;}
.com_sec01 th { width: 10em; font-weight: bold;}
.com_sec01 table ul{
    padding-left: 1em;
}
.com_sec01 table ul li{
    list-style: disc;
}

.com_sec02 .box01{display: flex;justify-content: center;}
.com_sec02 .box01 figure{width: 20%;}
.com_sec02 .box01 p{width: 48%;margin-left: 60px;line-height: 1.7em;}

.com_sec03 section {}
.com_sec03 section .map { width: 30%;}
.com_sec03 iframe { width: 100%; height: 200px; vertical-align: top;}

.com_sec04 table {}
.com_sec04 th, .com_sec04 td { vertical-align: top; padding-bottom: 1.2em; text-align: left;}
.com_sec04 th { width: 10em; font-weight: bold;}

.com_sec06 .box01 { display: flex; justify-content: space-between;}
.com_sec06 .box01 figure { width: 45%;}


/* ------------------------
	voice
------------------------ */
.voice_sec01 h2,.voice_sec02 h2{font-size: 1.75em; margin-bottom: 70px;position: relative;}
.voice_sec01 h2::after,.voice_sec02 h2::after{
	content: '';
	width: 50px;
	height: 3px;
	display: inline-block;
	background-color: #1565C0;
	position: absolute;
	bottom: -10px;
	left: calc(50% - 25px);
}
.voice_sec01 .box01 {border: 3px solid #1565C0; border-radius: 113px; padding: 33px 40px;display: flex;}
.voice_sec01 .box01 figure{min-width: 160px;width: 16.1%;}
.voice_sec01 .box02 {max-width: 820px; width: 80%;margin-left: auto;}
.voice_sec01 .box02 p {margin-bottom: 0px;}
.voice_sec01 .box02 h3{font-weight: bold;font-size: 1.25em;}
.voice_sec01 .box02 > div {border-bottom: 1px solid #707070;}
.voice_sec01 .box02 > p{padding-top:10px;}

.accordion {width: 100%;margin: 0 auto;}
.accordion-item {
  border: 1px solid #D8EBFF;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 20px;
}

.accordion-header {
  background-color: #D8EBFF;
  padding: 15px 20px;
  font-weight: bold;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 10px;
  position: relative;
}

.accordion-header.open {
  border-radius: 20px 20px 0 0;
}

.accordion-content {
  display: none;
  padding: 15px 20px;
  background-color: white;
  border-top: none;
}

.toggle-button {
  width: 50px;
  height: 50px;
  border-radius: 50%; 
  background-color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.toggle-button::before,
.toggle-button::after {
  content: "";
  position: absolute;
  background-color: #1565C0;
  transition: transform 0.3s ease;
}

.toggle-button::before {
  width: 20px;
  height: 3px;
}

.toggle-button::after {
  width: 3px;
  height: 20px;
}

.open .toggle-button::after {
  transform: rotate(90deg);
}



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

.con_sec01 .list01 { display: flex; justify-content: center;}
.con_sec01 .list01 li:first-child { margin-right: 10%;}
.con_sec01 .list01 .tel { font-size: 2.3em;}

.con_sec02 a:hover { text-decoration: underline;}

.contact_sec dl { display: table; width: 100%; border-bottom: solid 1px #808080; padding: 1.3em 0px;}
.contact_sec dl:first-of-type { border-top: solid 1px #808080;}
.contact_sec dl > * { display: table-cell; vertical-align: middle;}
.contact_sec dt { width: 15em; padding-right: 1em; font-size: 1.1em;}
.contact_sec dt .hissu { float: right; margin-top: 0.4em; font-size: 0.8em;}
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], textarea, select {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 17px;
	padding: 0.5em 0.7em;
	background-color: #f2f2f2;
	border: none;
	vertical-align: bottom;
	max-width: 100%;
}
.contact_sec input[type="text"], .contact_sec input[type="email"], .contact_sec textarea { width: 100%;}
.contact_sec .width_auto input[type="text"] { width: auto;}

.contact_sec .btn_area input {
	display: inline-block;
	width: 270px;
	font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: bold;
	color: #fff;
	font-size: 1.25em;
	text-decoration: none;
	text-align: center;
    background: url("../images/common/arrow_right.svg") no-repeat calc(100% - 20px) center, linear-gradient(180deg, rgba(11, 152, 63, 1), rgba(6, 190, 74, 1));
	background-size: 20px auto, auto;
	border: none;
	border-radius: 30px;
	padding: 0.8em 3em 0.8em 1em;
	outline: none;
	cursor: pointer;
	margin: 0px 10px 15px;
	-webkit-appearance: none;
	transition: 0.3s;
}
.contact_sec .btn_area input:hover { transform: translateX(5px);}
.contact_sec .btn_area input:focus { outline: 0;}

.wpcf7-spinner { display: block; margin: auto;}
.wpcf7-list-item { 
/*	margin: 0px; display: block;*/
}

/* ------------------------
	products
------------------------ */
.pro_sec01 h3{
	background-color: #E2F2EC;
	font-size: 2em;
	color: #0B983F;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 20px;
    border-left: 4px solid #0B983F;
}
.pro_sec01 ul{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.pro_sec01 ul li{box-sizing: border-box;}
.pro_sec01 ul li figcaption h4{font-weight: bold;}

/* ------------------------
	各種提案・メンテナンス
------------------------ */
.maintenance_sec01 .box01,.maintenance_sec02 .box01,.maintenance_sec03 .box01,.maintenance_sec04 .box01{background-color: #E2F2EC;padding: 30px 40px;}
.maintenance_sec01 .box01 h3,.maintenance_sec02 .box01 h3,.maintenance_sec03 .box01 h3,.maintenance_sec04 .box01 h3{color: #0B983F;font-size: 2em;}
.maintenance_sec01 .box02,.maintenance_sec02 .box02,.maintenance_sec03 .box02{background-color: white; padding:10px 0;}
.maintenance_sec01 ul,.maintenance_sec02 ul{display: flex;flex-wrap: wrap;justify-content: space-between;}
.maintenance_sec01 ul li{width: 48%;}
.maintenance_sec01 ul li figure{border-bottom: 1px solid #707070;padding-bottom: 10px;}
.maintenance_sec01 ul li a{background-color: #0B983F;border-radius: 5px;color: #FFFFFF; padding: 0.2em 3em 0.1em 0.5em;font-size: 1.1em}
.maintenance_sec01 ul li a.arrow_s{position: relative;display: inline-block;}
.maintenance_sec01 ul li a.arrow_s::after{
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent #FFFFFF;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    margin-left: 1em;
}

.maintenance_sec01 ul li a:hover{text-decoration: underline;}
.maintenance_sec01 .box01 .text_under_line{border-bottom: 1px solid #707070;padding-bottom: 10px;}
.maintenance_sec02 ul li{width: 50%;}

.sp_hidden{display: none;}
.owned-instruments-table_wrap{overflow-x: auto;}
.owned-instruments-table {width: 100%;border-collapse: collapse;margin: 0 auto;background-color: #ffffff;border: 3px solid #707070;}
.owned-instruments-table th,.owned-instruments-table td {padding: 12px 15px; text-align: left;white-space: nowrap;}
.owned-instruments-table th {font-weight: bold; font-size: 1.125em;}
.owned-instruments-table thead tr{border-bottom: 3px solid #707070;}
.owned-instruments-table th:nth-of-type(1),.owned-instruments-table th:nth-of-type(2),
.owned-instruments-table td:nth-of-type(1),.owned-instruments-table td:nth-of-type(2){border-right: 3px solid #707070;}
.owned-instruments-table tbody tr:not(:last-of-type){border-bottom: 1px solid #707070;}

.iframe_wrap { position: relative; width: 100%; padding-top: 56.25%;}
.iframe_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/* ------------------------
	投稿
------------------------ */
.topics_pagettl {
    position: relative;
    overflow: hidden;
    font-size: 1.75em; 
    letter-spacing: 0.1em; 
    padding: 0px 0px;
}

.topics_pagettl h2{
    position: relative;
    padding: 10px;
}

.topics_pagettl h2::after{
  content: '';
  width: 35px;
  height: 3px;
  display: inline-block;
  background-color: #0B983F;
  position: absolute;
  bottom: 7px;
  left: calc(50% - 17.5px);
}

/* ページャー(アーカイブ) */
.pagination .number {
	margin-left: 0.5em;
	display: inline-block;
	vertical-align: middle;
    font-size: 1.125em;
    font-weight: bold;
}
.pagination span.current, .pagination a {
	margin: 0px 0.5em 0px;
	display: inline-block;
	vertical-align: middle;
	color: #333333;
	text-decoration: none;
	font-weight: bold;
	font-size: 1.125em;
    padding: 0.1em 0.3em;
    line-height: 1em;
}
.pagination span.current, .pagination a:hover {
    background-color: #0B983F;
    color: #FFFFFF;
}

.news_list { display: flex; margin: 0px -1.5% auto; flex-wrap: wrap;}
.news_list p{margin-bottom: 0}
.news_list > li { width: 25%; padding: 0px 1.5% 60px;}
.news_list a { text-decoration: none; color: #231815;}
.news_list a:hover { color: #2ea6df;}
.news_list h3 {}

.news_list .cat{color: white;margin-top: 10px; margin-bottom: 10px;padding: 0.3em;}
.cat-news {background-color: #0B983F; width: 4.6em;}
.cat-blog {background-color: #002CA2; width: 3.6em;}
.cat-default {color: #999;}

/* ------------------------
	よくある質問
------------------------ */
.faq_sec01 h3{font-size: 2.25em;color: #0B983F;font-family: "Zen Antique", serif;font-weight: 400;margin-bottom: 20px;}
.faq_sec01 .box_green{background-color: #E2F2EC;border-radius: 10px;padding: 60px 50px;}
.faq_sec01 .faq_box{background-color: white;padding: 30px 40px;border-radius: 10px;}
.faq_sec01 .faq_box:not(:last-of-type){margin-bottom: 20px;}

.faq_sec01 .faq_box .faq_q{
    position: relative;
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: #000000;
    border-bottom: 1px solid #707070;
    padding-bottom: 20px;
    margin-bottom: 0;
    display: flex;
    align-items: flex-start;
    gap: 1.5em;
}
.faq_sec01 .faq_box .faq_q span{font-size: 1.375em; font-weight: 700;}
.faq_sec01 .faq_box .faq_q::before{
    content: 'Q';
    color: #0B983F;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 1.75em;
    line-height: 1.375em;
    flex-shrink: 0;
}

.faq_sec01 .faq_box .faq_a{
    margin-top: 20px;
    display: flex;
    align-items: flex-start;
    gap: 1.5em;
}
.faq_sec01 .faq_box .faq_a::before{
    content: 'A';
    color: #0B983F;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 1.75em;
    line-height: 1;
    flex-shrink: 0;
}

.grecaptcha-badge { visibility: hidden; }