@charset "utf-8";



/*------------------------------------------------------------------------
◆共通
------------------------------------------------------------------------*/
*{
	margin: 0;
	padding: 0;
	font-size: 100%;
	color: #333333;
	box-sizing: border-box;
    word-break: break-all;
}

html{
	-webkit-text-size-adjust:100%;
	height: 100%;
	scroll-behavior: smooth;
}

body{
	width: auto;
	font: 100%/1.618 'Noto Sans JP', "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Verdana, Geneva, Arial, Helvetica, sans-serif;
	margin: 0 auto;
	word-break: normal;
	overflow-wrap: break-word;
    overflow-x: hidden;
}

html.text-size-small{
	font-size: 93.75%;
}

html.text-size-large{
	font-size: 120%;
}

a{
	color: #066fc7;
	outline: none;
	text-decoration: underline;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}

a *{
	color: inherit;
}

a:hover{
	text-decoration: none;
}

img{
	border: none;
	max-width: 100%;
	vertical-align: bottom;
}

a:hover img{
	opacity: 0.8;
}

h1,h2,h3,h4,h5,h6,p,ol,hr{
}

main,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{
	display: block;
}

ol li{
	margin-left: 2em;
	margin-bottom: 0;
}

ul li{
	list-style-type: none;
}

table{
	border-collapse: collapse;
	text-align: center;
}

small{
	display: block;
	text-align: center;
}

details{
	margin-bottom: 16px;
    transition: .5s;
    padding: 24px;
}

details:hover{
	opacity: 0.8;
}

summary{
	cursor: pointer;
}

details[open] summary{
	font-weight: bold;
	margin-bottom: 8px;
}

input,
select,
textarea{
	font: 90%/1.618 'Noto Sans JP', Verdana, sans-serif;
	border: 1px solid #ddd;
	color: #333333;
	outline: 0;
	font-size: 100%;
}

input{
	padding: 2px;
	box-sizing: border-box;
}

select,
textarea{
	padding: 4px;
	box-sizing: border-box;
}

input:focus,
textarea:focus,
select:focus{
	/*border: 1px solid #0073B6;*/
	margin: 0;
}

input[type="submit"],
input[type="radio"],
input[type="range"]{
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-o-box-shadow: none;
	-ms-box-shadow: none;
	margin: 1px;
	background-color: #eeee22;
}

input[type="submit"]:focus,
input[type="radio"]:focus,
input[type="range"]:focus{
	border: 1px solid #efefef;
}

input[type="file"]{
	border:none !important;
}

strong {
    font-weight: bold;
}

abbr{
	color: inherit;
	font-weight: bold;
}

hr{
	border:none;
	border-bottom-style: dotted;
	border-bottom-width: 1px;
	border-color: #999999;
}

i{
	color: #FFFFFF;
}

em{
    font-style: normal;
}

.lead{
	margin-top: 2em !important;
}

.endelement{
	margin-bottom:0 !important;
}

::-webkit-input-placeholder { /* WebKit browsers */
    color:    #999;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:    #999;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:    #999;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
    color:    #999;
}

.overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.5);
	opacity: 0;
	transition: opacity 200ms ease;
	z-index: 1000000;
}

body.nav_active .overlay {
	opacity: 1;
}



#main_wrap h2:not(.home #main_wrap h2){
    font-size: 160%;
    border-bottom: 2px solid #CCC;
    padding-bottom: 8px;
}

#main_wrap h2:not(.home #main_wrap h2)::before {
    content: "";
    display: inline-block;
    height: 16px;
    width: 5px;
    background: #008a17;
    border-radius: 40px;
    margin-right: 16px;
    padding: 4px 0;
    position: relative;
    top: 1px;
}

#main_wrap h2:not(.home #main_wrap h2)::after {
    width: 24%;
    bottom: -2px;
    border-bottom-width: 2px !important;
	border-bottom: 1px solid #008a17;
}

#main_wrap .h3_style:not(.home #main_wrap h3_style),
#main_wrap h3:not(.home #main_wrap h3){
	font-size: 144%;
    padding: 8px 0;
	border-bottom: none;
}

#main_wrap .h3_style:not(.home #main_wrap .h3_style)::before,
#main_wrap h3:not(.home #main_wrap h3)::before {
    content: "";
    display: inline-block;
    height: 8px;
    width: 8px;
    line-height: 1;
    background: #008a17;
    border-radius: 40px;
    margin-right: 12px;
    padding: 0;
    position: relative;
    top: -5px;
}

#main_wrap .h3_style:not(.home #main_wrap .h3_style)::after{
	display: none;
}

#main_wrap .h4_style:not(.home #main_wrap .h4_style),
#main_wrap h4:not(.home #main_wrap h4){
	font-size: 128%;
    background: #f4f4f4;
    border-radius: 4px;
    padding: 8px 16px;
}

#main_wrap .h4_style:not(.home #main_wrap .h4_style)::before{
	display: none;
}

#main_wrap .h5_style:not(.home #main_wrap .h5_style){
    font-size: 108%;
    margin-bottom: 0.5em;
    font-weight: bold !important;
    background: none;
    padding: 0;
}


#main_wrap #content .envg-block-file +.h3_style:not(.home #main_wrap h3_style),
#main_wrap #content .envg-block-file + h3:not(.home #main_wrap h3){
	margin-top: 40px;
}

.envg-block-button__link {
    background-color: #008a17;
}

#header_container.header_right_nav.header_fix,
body.nav_active #header_container.header_right_nav.header_fix{ /* ホーム以外はヘッダーを追従させない */
	position: static !important;
}

body.page #main_wrap:not(.page-template-page-no-sidebar #main_wrap, .page-template-page-no-sidebar-bottom #main_wrap){ /* 左側にサイドナビ 1/3 */
    float: right;
}

body.page #sub_wrap:not(.page-template-page-no-sidebar #sub_wrap, .page-template-page-no-sidebar-bottom #sub_wrap){ /* 左側にサイドナビ 2/3 */
    float: left;
}



#mainimage .section_wrap { /* ページメインイメージ中央寄せ */
    justify-content: center;
}

ul#contents_bottom_menu { /* ページ下部ナビの非表示 */
    background-color: #f4f4f4;
    display: none;
}

.envg-block-details { /* 要約 1/2 */
    background: #f4f4f4;
}

.envg-block-details summary { /* 要約 2/2 */
    font-weight: bold;
}



/* キーボード操作でフォーカスが当たったときの見た目 */
#nav-mega-switch:focus-visible,
a[href]:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[tabindex]:focus-visible {
  outline: none;
  position: relative;
  z-index: 10000000;
  box-shadow: 0 0 0 3px #e7ca44;
}

#nav-mega-switch:focus-visible{
	  position: absolute;
}

/* 本文へ移動 */
#skip_link {
    position: relative;
    left: auto;
    top: auto;
    z-index: 1000;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 20px;
    background: #fff;
    border-right: 1px solid #000000;
    border-radius: 0;
    color: #333;
    font-weight: 700;
    font-size: 88%;
    text-decoration: none;
    white-space: nowrap;
}

#skip_link::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 1.44em;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 0.4em solid rgb(0 138 23);
    border-top: 0.28em solid transparent;
    border-bottom: 0.28em solid transparent;
}

#skip_link:hover {
  text-decoration: underline;
}



/*------------------------------------------------------------------------
◆デフォルト調整
------------------------------------------------------------------------*/
.envg-block-file:not(.envg-element-button) {
    font-size: 1em;
}

#main_wrap .envg-block-media-text.is-image-fill .envg-block-media-text__media img{ /* レイアウト崩れの直し */
	width: 1px;
}

.envg-block-image .aligncenter>figcaption, .envg-block-image .alignleft>figcaption, .envg-block-image .alignright>figcaption, .envg-block-image.aligncenter>figcaption, .envg-block-image.alignleft>figcaption, .envg-block-image.alignright>figcaption{
    display: block;
}

.envg-block-columns,
.envg-block-image{
	margin-bottom: 2.40em;
	padding: 0 8px;
}

.envg-block-buttons.is-content-justification-center {
    display: flex;
}

/* テーブル
--------------------------------------------------------------------------*/
figure.envg-block-table{
	width: 100%;
	font-size: 100%;
	line-height: 160%;
	margin: 0 auto;
}

figure.envg-block-table thead {
    border-bottom: none;
}

figure.envg-block-table tfoot {
    border-top: none;
}

figure.envg-block-table th,
figure.envg-block-table td{
	border: 3px solid #fff;
	padding: 16px;
}

figure.envg-block-table thead th{
    background: #f1f7f2;
    color: #333;
	font-weight: bold;
	text-wrap: pretty;
}

figure.envg-block-table td{
	background: #faf9ea;
    vertical-align: top;
}

figure.envg-block-table tbody th{
	text-align: left;
	background: #faf9ea;
	color: #333333;
	font-weight: bold;
	width: 24%;
    vertical-align: top;
}

figure.envg-block-table td *{
	margin-bottom: 0em !important;
}

figure.envg-block-table td ul.catch{
	margin-bottom: 0em !important;
}

figure.envg-block-table td ul.catch li{
	margin-bottom: 0.4em !important;
}

figure.envg-block-table td ul.catch li:last-of-type{
	margin-bottom: 0em !important;
}

figure.envg-block-table td ul.catch br{
	display: none !important;
}

figure.envg-block-table td *:last-of-type{
	margin-bottom: 0 !important;
}

figure.envg-block-table tfoot td {
    background: #faf9ea;
}


/* リスト
--------------------------------------------------------------------------*/
ul.envg-block-list li{
    position: relative;
    padding-left: 8px;
}

ul.envg-block-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.9em;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 0.4em solid rgb(0 138 23);
    border-top: 0.28em solid transparent;
    border-bottom: 0.28em solid transparent;
}

table ul.envg-block-list li::before {
    top: 0.8em;
}

/* ファイルダウンロード
--------------------------------------------------------------------------*/
#content .envg-block-file {
    margin: 0;
    padding: 20px 16px 16px;
    background-color: #fcfaf7;
}

#content .envg-block-file + .envg-block-file{
    padding-top: 0;
}

#content .envg-block-file + h4,
#content .envg-block-file + h5{
    margin-top: 16px;
}

#content .envg-block-file a.envg-block-file__button.envg-element-button{
	display: none;
}

#content .envg-block-file a{
    display: block;
    position: relative;
    padding-left: 12px;
}

#content .envg-block-file a::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0.9em;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 0.4em solid rgb(0 138 23);
    border-top: 0.28em solid transparent;
    border-bottom: 0.28em solid transparent;
}

/* アイコンを表示する基本設定 */
#content .envg-block-file a::after{
    content: "";
    display: none;
    width: 16px;
    height: 16px;
    margin-left: 4px;
    vertical-align: middle;
    position: relative;
    top: -2px;
}

#content .envg-block-file a[href$=".pdf"]::after {
    display: inline-block;
    background: url(../images/common/icon_pdf.svg) no-repeat center center;
    background-size: contain;
    top: -2px;
}

#content .envg-block-file a[href$=".docx"]::after {
    display: inline-block;
    background: url(../images/common/icon_word.svg) no-repeat center center;
    background-size: contain;
    top: -2px;
}

#content .envg-block-file a[href$=".xlsx"]::after {
    display: inline-block;
    background: url(../images/common/icon_excel.svg) no-repeat center center;
    background-size: contain;
    top: -2px;
}


/*------------------------------------------------------------------------
◆ヘッダー
------------------------------------------------------------------------*/
#header_container{
	width: 100%;
	max-width: 100%;
	position: relative;
	z-index: 999999;
	box-sizing: border-box;
    overflow: hidden;
}

#header_container:after{
	content:"";
	display:block;
	clear:both;
}

#header_container.header_right_nav{
	border-bottom: 1px solid #d3d3d3;
}

/* ヘッダー固定（ヘッダー右ナビのみ）*/
#header_container.header_right_nav.header_fix,
body.nav_active #header_container.header_right_nav.header_fix{
	position: -webkit-sticky;
    position: sticky;
    top: 0;
	z-index: 999999;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}

body #header_container.header_right_nav {
    background-color: #fff;
}

#header_wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
	margin: 0 auto;
	width: 100%;
	padding: 0 4%;
    padding-right: calc(4% + 80px);
	box-sizing: border-box;
	position: relative;
}

#header_wrap .desc{
	font-size: 72%;
	padding-top: 8px;
}

#header_wrap #logo_main{
	float:left;
	margin: 16px 0;
	font-size: 176%;
    line-height: 1;
	overflow: visible;
}

#header_wrap #logo_main a{
    display: block;
    width: 100%;
    height: 100%;
	text-decoration: none;
	color: #333;
}

#header_wrap #logo_main img{
	width: auto;
    max-width: 435px;
}

#header_wrap .site-branding{
	float: left;
	display: flex;
	align-items: center;
	margin: 16px 0;
}

#header_wrap .site-branding #logo_main{
	float: none;
	margin: 0;
}

#header_wrap .site-branding #logo{
	position: static;
	margin-left: 24px;
}

#header_wrap .site-branding #logo a{
	display: block;
}

#header_wrap .site-branding #logo img{
	width: auto;
	max-height: 64px;
}

#header_right{
	float: right;
	top: 0px;
    right: 0;
    width: auto;
    text-align: right;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
}

#header_right.nav{/* ロゴ横型 */
	width: 50%;
	position: absolute;
	float: none;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
}

#header_right .header-actions{
	display: flex;
	align-items: center;
	gap: 16px;
	position: relative;
}

.text-size-toggle{
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 75%;
}

.text-size-toggle .label{
	font-weight: bold;
}

.text-size-toggle button{
	min-width: 36px;
	height: 32px;
	padding: 6px 8px;
	border: 1px solid #ccc;
	background: #fff;
	border-radius: 4px;
	cursor: pointer;
	font-size: 120%;
	line-height: 1;
}

.text-size-toggle button.is-active{
	background: #008a17;
	border-color: #008a17;
	color: #fff;
}

.sr-only{
	position:absolute; width:1px; height:1px; padding:0; margin:-1px;
	overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.site-search{
	display:flex;
	align-items:center;
	width:100%;
	max-width: 256px;
	height: 40px;
    margin-top: 0;
	border-radius: 999px;
	overflow:hidden;
	background:#eeeeee;
	position: static;
}

.site-search input[type="search"]{
	flex:1;
	height:100%;
	border:0;
	background:#eeeeee;
	color:#111;
	padding:0 14px;
	font-size:87.5%;
	outline:none;
}

.site-search input::placeholder{ color:#888; }

.site-search button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:100%;
	border:0;
	background:#666666;
	cursor:pointer;
}

.site-search button:hover{ filter: brightness(1.05); }
.site-search button:active{ filter: brightness(0.95); }


/*------------------------------------------------------------------------
◆google_search
------------------------------------------------------------------------*/
input.c-header__menu__search__input {
    background: none;
    border: none;
    padding: 0 12px;
    width: 212px;
    max-width: 82%;
}

/* 検索結果 */
.gsc-above-wrapper-area-container {
    width: 100%;
    background: #f4f4f4;
}

.gsc-result-info-container {
    background: none;
    border: none;
}

.gsc-orderby-container {
    border: none;
}

.gsc-selected-option {
    white-space: nowrap;
}

.gcsc-more-maybe-branding-box {
    margin: 16px;
}

/*------------------------------------------------------------------------
◆ラッパー
------------------------------------------------------------------------*/
#contents_wrap{
	clear: both;
	width: 100%;
	max-width: 1200px;
	min-height: 400px;
	margin: 0 auto;
	padding: 24px 0;
	overflow: hidden;
}

#contents_wrap p,
#contents_wrap ul,
#contents_wrap ol,
#contents_wrap dl,
#contents_wrap table,
#contents_wrap hr{
	margin-bottom: 2.40em;
}

#contents_wrap dd{
	margin-bottom: 1em;
}

#contents_wrap a[href].box:hover{
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

#contents_wrap h1 + .column_wrap{
	margin-bottom:2.40em;
}

#contents_wrap h2 + .column_wrap{
	margin-top:1em;
}

#contents_wrap h3 + .column_wrap{
	margin-top: 1em;
}

#contents_wrap h1 + h2{
	margin-top: 0.4em;
}

#contents_wrap h2 + h3{
	margin-top: 1em;
}

#contents_wrap h1 + table{
	margin-top: 2.3em;
}

#contents_wrap table + h2{
	margin-top: 2.3em;
}

#main_wrap{
	float: left;
	width: 68%;
	margin: 0 auto 32px;
	padding: 0 0 24px;
	overflow: hidden;
	background: #fff;
	line-height: 1.8;
	z-index: 99999;
	box-sizing: border-box;
}

#main_wrap > p,
#main_wrap > ul,
#main_wrap > ol,
#main_wrap > dl,
#main_wrap > table{
	padding-left: 0;
	padding-right: 0;
}

#main_wrap img{
	width: auto;
}

#main_wrap ifreme{
	z-index: 3;
	width: 100%;
}

#main_wrap .section{
	overflow: hidden;
}


#main_wrap h1,
#main_wrap h2,
#main_wrap h3,
#main_wrap h4,
#main_wrap h5,
#main_wrap h6{
}

#main_wrap h1 {
	padding: 0;
    margin-bottom: 0.8em;
    font-size: 248%;
    line-height: 140%;
    color: #333;
    font-weight: bold;
    text-align: center;
}

#main_wrap h2 {
	font-size: 132%;
	font-weight: bold;
	line-height: 140%;
	margin-bottom: 0.81em;
	padding: 16px 0 8px;
    position: relative;
    z-index: 1;
    border-bottom: 1px solid #CCC;
}

#main_wrap h2:after{
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    z-index: 2;
	width: 40px;
    border-bottom: 1px solid #333;
}

#main_wrap h3 {
	font-size: 120%;
	line-height: 140%;
	margin-bottom: 0.2em;
	font-weight: bold;
}

#main_wrap h4{
	font-size: 120%;
	line-height: 140%;
	margin-bottom: 0.81em;
	font-weight: bold;
/*
	font-size: 112%;
	line-height: 140%;
	margin-top: 0.81em;
	margin-bottom: 0.81em;
	font-weight: bold;
	color: #333 !important;
	background: none !important;
	padding: 5px 0 0 0 !important;
*/
}

#main_wrap h5,
#main_wrap h6 {
	font-size: 108%;
	margin-bottom: 0.5em;
	font-weight: bold !important;
}



#sub_wrap{
	float: right;
	width: 27%;
	margin: 0px auto 32px;
	font-size: 100%;
	line-height: 160%;
	overflow: hidden;
	box-sizing: border-box;
}



/*------------------------------------------------------------------------
◆メガナビ
------------------------------------------------------------------------*/
#nav_mega_container {
	display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 80%;
    height: 100vh;
    z-index: 1000000;
}

body.nav_active #nav_mega_container {
	display: block;
    overflow-y: auto;
}

#nav_mega_container > *{
	width: 100%;
    min-height: 100vh;
    background: #fff;
    position: absolute;
    right: 0;
}

/*------------------------------------------------------------------------
◆グローバルナビ
------------------------------------------------------------------------*/
#nav_container{
	background-color: #0a6419;
}

#header_right #nav_container{
	border-bottom: none;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

#nav_wrap{
	clear: both;
	margin: 0px auto;
	max-width: 1200px;
}

#nav_wrap .children{
	display: none;
}

#nav_wrap ul#gnav{
    display: table;
    table-layout: fixed;
    width: 100%;
    justify-content: space-between;
}

#nav_wrap ul#gnav > li{
    width: auto;
    position: relative;
}

#nav_wrap ul li a {
	display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 16px;
    padding-bottom: 16px;
	background-color: #0a6419;
    height: 100%;
    font-size: 108%;
    color: #fff;
    line-height: 1.4;
    font-weight: 400;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
    position: relative;
}

#header_right #nav_wrap ul li a {
	padding-top: 8px;
	padding-bottom: 8px;
	font-size: 88%;
	position: relative;
	white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

/* 英語併記*/
#nav_wrap ul li a span{
	display: block;
	font-size: 80%;
	margin-top: 8px;
	white-space: nowrap;
	font-weight: normal;
	color: #fff;

}

#header_right.nav #nav_wrap ul li a span{
	font-size: 72%;
}

#gnav ul.sub-menu li a {
    background-color: #ffffff;
}

#nav_wrap #gnav > li > ul.sub-menu li a span{
	display: none;
}

#nav_wrap ul li a:hover{
	background: #0a6419;
	color: #fff;
	text-shadow: none;
}

#nav_wrap ul li a:hover span{
	color: #fff;
}

/* 現在の場所 */
#nav_wrap ul li.current-menu-item > a,
#nav_wrap ul li.current-menu-ancestor > a,
#nav_wrap ul li.current-post-ancestor > a,
#nav_wrap ul li.current-page-ancestor > a{
	background-color: #0a6419;
	color: #FFF;
	text-shadow: none;
}

#nav_wrap ul#gnav > li.current-menu-item > a span,
#nav_wrap ul#gnav > li.current-menu-ancestor > a span,
#nav_wrap ul#gnav > li.current-post-ancestor > a span,
#nav_wrap ul#gnav > li.current-page-ancestor > a span,
#nav_wrap ul#gnav > li.current-page-ancestor > a span{
	color: #fff;
}

#nav_wrap ul#gnav > li.current-menu-item::after,
#nav_wrap ul#gnav > li.current-menu-ancestor::after,
#nav_wrap ul#gnav > li.current-post-ancestor::after,
#nav_wrap ul#gnav > li.current-page-ancestor::after,
#nav_wrap ul#gnav > li.current-page-ancestor::after,
#nav_wrap ul#gnav > li:hover::after{
    display: inline-block;
    background: #ebff00;
    height: 6px;
    width: 100%;
    position: absolute;
    bottom: 0;
}

#rnav li,
#mnav li{
	display: none;
}

#nav_wrap #searchform{
	display: none;
}

.fixed{
	position: fixed;
	top: 0px;
	margin: 0 0 0 0;
	z-index: 9999;
}



#nav_wrap ul#gnav {
    display: flex;
    border-left: none;
}

#header_right #nav_container {
    background: none;
}

#header_right #nav_wrap ul li a {
    padding-top: 24px;
    padding-bottom: 24px;
    font-size: 100%;
    font-weight: normal;
}

#nav_wrap ul li a {
    border-right: none;
}

#header_right.nav {
    width: auto !important;
	top: 28px;
    bottom: 24px;
}

#header_container.header_right_nav{
	background-color: #ffffff;
}

/* ドロップダウン
------------------------------------------------------------------------*/
#gnav li{
	line-height: 0;	
}

/* 子ページ */
#gnav > li > ul.sub-menu{
	display: none;
	-moz-box-shadow: 0px 0px 2px 0 #aaabac;
	-webkit-box-shadow: 0px 0px 2px 0 #aaabac;
	box-shadow: 0px 0px 2px 0 #aaabac;
}

#gnav > li:hover > ul.sub-menu{
	display: block;
}

#gnav > li:focus-within > ul.sub-menu,
#gnav > li.is-open > ul.sub-menu{
	display: block;
	opacity: 1;
	visibility: visible;
}

#gnav ul.sub-menu li{
	width: 100%;
	display: block;
}

#gnav ul.sub-menu li a{
	display: block;
	background: #eee;
	color: #fff;
	height: auto;
	width: 272px;
	padding: 16px 4%;
	padding-right: 32px;
	border: none;
	text-align: left;
	font-size: 100%;
	color: #333;
	line-height: 140%;
	font-weight: normal;
	text-shadow: none;
	white-space: normal;
	box-sizing: border-box;
	opacity: 1;
	position: relative;
}

#gnav ul.sub-menu li a:hover{
	display: block;
	background: #0a6419;
	color: #fff;
}

#gnav ul.sub-menu li a::after{
    content: "";
    position: absolute;
    border-right: 2px solid #008a17;
    border-top: 2px solid #008a17;
    width: 8px;
    height: 8px;
    right: 12px;
    top: calc(50% - 6px);
    margin-top: 0;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}



#gnav ul.sub-menu li:first-child a{
	border-top: none;
}

/* 孫ページ */
#gnav ul.sub-menu ul.sub-menu {
	width: 100% !important;
	position: relative !important;
}

#gnav ul.sub-menu ul.sub-menu a{
	padding-left: 2em;
	border-top: 1px dotted #999;
}

#gnav ul.sub-menu ul.sub-menu a:before{
	/*content: "-";*/
	float: left;
	display: block;
	font-weight: normal;
	margin-right: 0.5em;
}

/* ひ孫ページ */
#gnav ul.sub-menu ul.sub-menu ul.sub-menu a{
	padding-left:4em;
}

#gnav ul.sub-menu a:hover{
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

#menu_bt{
	display: none;
}

#menu_bt a{
	display: none !important;
}



/* トグル（モバイル）
-----------------------------------------------------------*/
body.nav_active{
	position: fixed;
	width: 100%;
}

/* 開閉ボタン */
#nav-mega-switch{
	display: block;
    background: #008a17;
    border-radius: 400px;
    border: none;
    width: 120px;
    height: 120px;
    padding-top: 40px;
    padding-right: 16px;
	box-sizing: border-box;
	text-align: center;
	line-height: 60%;
	cursor: pointer;
	font-size: 120%;
	position: absolute;
    top: -44px !important;
    right: -32px !important;
	z-index: 1000001;
}

#nav-mega-switch span.text{
	display: block;
    font-size: 80%;
    margin-top: 4px;
	color: #fff;
}

#nav-mega-switch span.text.close{
	display: none;
}

#nav-mega-switch.text.on span.text.menu{
	display: none;
}

#nav-mega-switch.text.on span.text.close{
	display: block;
}

/* アイコン */
.menu-icon,
.menu-icon span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
.menu-icon {
	position: relative;
	width: 40px;
	height: 22px;
}
.menu-icon span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #fff;
    border-radius: 40px;
}

.menu-icon span:nth-of-type(1) {
	top: 0;
}

.menu-icon span:nth-of-type(2) {
	bottom: 4px;
}

.menu-icon span:nth-of-type(3) {
	display: none;
}

/* アイコン押下時 */
.on .menu-icon {
	width: 52px;
}

.on .menu-icon span {
	background-color: #008a17;
}

/* アイコン×ボタンに変更 */
.on .menu-icon span:nth-of-type(1) {
	-webkit-transform: translateY(20px) rotate(-45deg);
	transform: translateY(20px) rotate(-45deg);
	top: -10px;
}
.on .menu-icon span:nth-of-type(2) {
	-webkit-transform: translateY(-20px) rotate(45deg);
	transform: translateY(-20px) rotate(45deg);
	bottom: -12px;
}



/* 開閉ボタン　押下時 */
#nav-mega-switch.on{
    position: fixed;
	background: none;
    padding-top: 56px;
    padding-right: 36px;
}

#nav-mega-switch .toggle-label:after{
	content: "";
	display: block;
	clear: both;
}


#nav_mega_wrap{
    float: right;
    display: flex;
    justify-content: center;
    align-items: baseline;
	margin: 0px auto;
    padding: 120px 0;
	width: 100%;
	height: auto;
	margin-bottom: 0px;
	overflow: hidden;
	position: relative;
	z-index: 99999;
}

#nav_mega_wrap > .menu_wrap{
    display: flex;
    flex-wrap: wrap;
    gap: 40px 8%;
	width: 80%;
	width: 64%;
    margin: 0 auto;
	max-width: 762px;
}

#nav_mega_wrap > .menu_wrap > *{
	width: calc(50% - 4%);
}

#nav_mega_wrap > .menu_wrap > #nav_logo,
#nav_mega_wrap > .menu_wrap > .site-search,
#nav_mega_wrap > .menu_wrap > .text-size-toggle{
	display: none;
}

#nav_mega_wrap > .menu_wrap > .header-actions {		
	display: none;
}

body.nav_active #nav_mega_container #nav_meta_wrap{
	height: 100vh;
}

/* たたむ型 */
nav#nav_container.bundle{
	position: absolute;
	width: 100%;
}

nav#nav_container.bundle + *{
	margin-top: 53px;
}

.bundle #nav_mega_wrap{
	display: none;
}

.bundle #menu_bt{
	display: block;
}

/* フロー型 */
nav#nav_container.flow #menu_bt{
	display: none;
}

nav#nav_container.flow #nav_mega_wrap {
	overflow-x: scroll;
}

#nav_mega_wrap ul#gnav {
    table-layout: auto;
}

#nav_mega_to_home {
    margin-top: 0px;
    margin-left: -88px;
    font-weight: bold;
    position: absolute;
}

#nav_mega_to_home a{
    display: inline-block;
    padding: 12px;
    text-decoration: none;
    color: #333;
    line-height: 200%;
    font-size: 108%;
}

#nav_mega_to_home a:hover{
    background: #eee;
}

nav#nav_container.flow #nav_mega_wrap ul li{
	display: table-cell !important;
}

nav#nav_container.flow #nav_mega_wrap ul li a{
	display: block;
	width: auto;
	border-bottom: none;
	padding: 12px 16px;
}

nav#nav_container.flow #nav_mega_wrap ul li #gnav > li > ul.sub-menu{
	display: none !important;
}

#nav_mega_wrap ul li{
	display: block !important;
	float: none;
	position: relative;
	width: 100%;
}

#nav_mega_wrap ul li a{
	display: block;
	height: auto;
	width: 100%;
	padding: 16px 4%;
	padding-right: 32px;
	border-right: none;
	border-bottom: 1px solid #ccc;
	border-left: none;
	background: none;
	font-size: 108%;
	color: #000;
    font-weight: normal;
	line-height: 160%;
	text-align: left;
	text-decoration: none;
	text-shadow: none;
	-webkit-tap-highlight-color: #333;
}

#nav_mega_wrap ul li a:after {
    content: "";
    position: absolute;
    border-right: 2px solid #008a17;
    border-top: 2px solid #008a17;
    width: 8px;
    height: 8px;
    right: 12px;
    top: calc(50% - 6px);
    margin-top: 0;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

#nav_mega_wrap ul.nav_mega > li > a{
	padding: 16px 0;
    font-weight: bold;
}

#nav_mega_wrap ul.nav_mega > li > a::after{
	display: none;
}



body.nav_active #header_container,
body.nav_active #header_wrap,
body.nav_active #header_right.nav{
	position: static;
}

.burger #nav_mega_wrap ul li a{
	display: block;
}

#nav_mega_wrap ul li a:hover{
	background: #eee;
	color: #333;
}

#nav_mega_wrap ul li:first-child a {
	border-left: none;
}

#nav_mega_wrap ul li a.tap{
	color: #FFFFFF !important;
	border: 1px solid #0763A4;
}

#nav_mega_wrap ul li a.tap:after{
	border-top: 3px solid #FFFFFF;
	border-right: 3px solid #FFFFFF;
}

/* 現在の場所 */
#nav_mega_wrap ul li.current-menu-item > a,
#nav_mega_wrap ul li.current-menu-ancestor > a,
#nav_mega_wrap ul li.current-post-ancestor > a,
#nav_mega_wrap ul li.current-page-ancestor > a{
	color: #333;
}
/*
#nav_mega_wrap .current-menu-item > a{
    background-color: #faf7d5;
}
*/
#nav_mega_wrap ul li.current-menu-item > a:after,
#nav_mega_wrap ul li.current-menu-ancestor > a:after,
#nav_mega_wrap ul li.current-post-ancestor > a:after,
#nav_mega_wrap ul li.current-page-ancestor > a:after,
#nav_mega_wrap ul li.current-page-ancestor > a:after{
	display: none;
}

/* 親ページ 閉じている時 */
#gnav > li a.toggleclose{
	color: #ffffff !important;
}

/* 親ページ 閉じている時のアイコン状態 */
#gnav > li.menu-parent-item > a.toggleclose:after,
#gnav > li.menu-parent-item > a:after{
/*

    color: #333;
    display: block !important;
    position: absolute !important;
    top: 0.8em !important;
    right: 4% !important;
*/
}

/* 親ページ 開けている時 */
#gnav > li a.toggleopen{
	border-bottom: 1px solid #000000 !important;
	background: #000000 !important;
	color: #FFFFFF !important;
	text-shadow: none !important;
}

/* 親ページ 開けている時のアイコン状態 */
#gnav > li.menu-parent-item > a.toggleopen:after {
    -moz-transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
	color: #FFFFFF;
}

/* 親ページ 閉じている時のタップ時の状態　初回 */
#gnav > li.menu-parent-item > a.tap{
	border: 1px solid #000000;
	background: #000000;
	color: #FFFFFF;
}

/* 親ページ 閉じている時のタップ時　2回目以降 */
#gnav > li.menu-parent-item > a.toggleclose:active{
	border: 1px solid #000000 !important;
	background: #000000 !important;
	color:#FFFFFF !important;
}

/* 親ページ 閉じている時のアイコン状態　タップ時　初回 */
#gnav > li.menu-parent-item > a.tap:after{
	border-top: none;
	border-right: none;
	background: #FFFFFF;
}

/* 親ページ 閉じている時のアイコン状態　タップ時　2回目以降 */
#gnav > li.menu-parent-item > a.toggleclose.tap:after{
	background: #FFFFFF !important;
}

/* 子ページ */
#gnav ul.sub-menu{
	-moz-box-shadow:none !important;
	-webkit-box-shadow:none !important;
	box-shadow:none !important;
}

#gnav > li > ul.sub-menu li.current-menu-item > a, 
#gnav > li > ul.sub-menu li.current-menu-ancestor > a, 
#gnav > li > ul.sub-menu li.current-post-ancestor > a, 
#gnav > li > ul.sub-menu li.current-page-ancestor > a, 
#gnav > li > ul.sub-menu li a:hover{
	background: #faf7d5;
	color: #333;
}

/* 孫ページ 表示非表示 */
#gnav ul.sub-menu ul.sub-menu{
	display:none !important;
}

/* モバイル専用メニュー */
#nav_mega_wrap ul#rnav,
#nav_mega_wrap ul#mnav{
	display:block;
	overflow:hidden;
}

#nav_mega_wrap ul#rnav li,
#nav_mega_wrap ul#mnav li{
	display: block;
	float: none;
	width: 100%;
}

#nav_mega_wrap ul#rnav li a:after,
#nav_mega_wrap ul#mnav li a:after{
	border: none !important;
}

#nav_mega_wrap ul#rnav li:nth-child(even) a,
#nav_mega_wrap ul#mnav li:nth-child(even) a{
	/*border-left: 1px solid #ccc;*/
}

.disable_filter{
	position: absolute;
	z-index: 9999;
	width: 100%;
	background: #333;
	opacity: 0.9;
}

#menu_bt > a{
	height: auto;
	width: 100%;
	padding: 12px 4%;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-right: none;
	border-left: none;
	font-size: 90%;
	font-weight: bold;
	line-height: 200%;
	text-align: left;
	text-decoration: none;
	text-shadow: none;
	-webkit-tap-highlight-color: #333;

	display: block;
	text-align: center;
	background: #fff;
	color: #333;
}

#menu_bt.active > a{
	background: #000;
	color: #fff;
}

#menu_bt > a.icon-menu:before{
	padding-right: 4px;
}

#menu_bt.active a.icon-menu:before{
	color: #fff;
}

/* モバイル専用メニュー */
#nav_wrap ul#rnav,
#nav_wrap ul#mnav{
	display: none;
}

/*------------------------------------------------------------------------
◆パンくず
------------------------------------------------------------------------*/
.breadcrumbs{
	width: 100%;
	margin: 0px auto !important;
	text-align: left;
	font-size: 100%;
	overflow: hidden;
	padding: 0 0 32px;
	box-sizing: border-box;
}

.breadcrumbs ul{
	margin-bottom: 0 !important;
}

.breadcrumbs li{
	float: left;
    background: none !important;
    padding: 0 !important;
    padding-right: 16px !important;
    margin-right: 16px;
	position: relative;
}

.breadcrumbs li:last-child,
.breadcrumbs li.tail{
    padding-right: 0 !important;
    margin-right: 0;
}

.breadcrumbs li:after{
	/*content: ">";*/
	content: "";
	margin: 0;
    position: absolute;
    border-right: 1px solid #333;
    border-top: 1px solid #333;
    width: 6px;
    height: 6px;
    right: 0;
    top: calc(50% - 3px);
    margin-top: 0;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

.breadcrumbs li:last-child:after,
.breadcrumbs li.tail:after{
	content: none;
}
.breadcrumbs li a{
    color: #066fc7;
}

.breadcrumbs li a:hover{
	text-decoration: underline !important;
}

.breadcrumbs li a:after{
	display: none !important;
}


/*------------------------------------------------------------------------
◆キービジュアル
------------------------------------------------------------------------*/
.keyvisual_container {
	background-image: url(../images/common/mainimage_back.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
    width: 100%;
}

.keyvisual_container > *,
.keyvisual_filter{
    height: 100%;
}

.keyvisual_container .slider_back_filter{
    display: block;
    width: 100%;
    /*height: 680px;*/
	height: auto;
    position: absolute;
    z-index: 999;
}

.keyvisual_container .slider_back_wrap{
	position: absolute;
    width: 100%;
}

.keyvisual_wrap{
	text-align: center;
	line-height:0;
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.keyvisual_wrap a:hover{
	opacity: 0.9;
}

.keyvisual_wrap img{
	width: 100%;
}

#slider_back_mainimage{
    z-index: 99999;
    position: relative;
    width: 1200px;
}

.keyvisual_wrap.slider_back{
	height: auto;
}

.keyvisual_wrap.slider_back .slides div{
    position: absolute;
    margin: 0;
    padding: 0;
    background-position: center top;
    background-repeat: no-repeat;
	height: 600px;
}

.keyvisual_wrap.slider_back a{
	display: block;
    width: 100%;
    height: 100%;
}

.keyvisual_wrap.back a{
	display: block;
    width: 100%;
    height: 100%;
}

.keyvisual_wrap.back a:hover img{
	opacity: 0.8;
}

/*
.keyvisual_wrap.text{
    display: flex;
    align-items: center;
    justify-content: center;
	line-height: 140%;
	font-size: 160%;
	color: #333;
	font-weight: bold;
	padding: 40px 4%;
    position: relative;
}
*/
.keyvisual_wrap.text{
    display: flex;
    align-items: center;
    justify-content: center;
	line-height: 140%;
	font-size: 160%;
	color: #333;
	font-weight: bold;
	padding: 40px 0;
    position: relative;
}

.keyvisual_wrap.text,
.keyvisual_wrap.back{
	height: 100%;
}

.keyvisual_wrap.text .maincopy,
.keyvisual_wrap.text .subcopy{
	font-feature-settings: "palt";
    font-family: 'Noto Sans JP', "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "ＭＳ Ｐゴシック", Verdana, Geneva, Arial, Helvetica, sans-serif;
}

.keyvisual_wrap.text .maincopy{
	font-size: 225%;
    color: #fff;
    line-height: 1.4;
	text-shadow: 1px 1px 1px #333;
}

.keyvisual_wrap.text .subcopy {
	margin-top: 24px;
    color: #fff;
    line-height: 1.4;
    text-shadow: none;
    font-size: 112.5%;
}

.keyvisual_wrap.text .subcopy.top{
    font-size: 104%;
    background: rgb(0 138 23 / 72%);
}

.keyvisual_wrap.text .button{
	min-width: 0;
	padding: 0;
	background: none;
    box-shadow: none;
}

.keyvisual_wrap.text .button.sp{
	display: none;
}

.keyvisual_wrap.text .button a{
    display: inline-block;
    background-color: #3caf28;
    color: #fff;
    text-decoration: none;
    padding: 12px 32px;
    border-radius: 8px;
    font-size: 112.5%;
    margin-top: 16px;
	text-align: center;
    opacity: 1;
    box-shadow: 1px 1px 1px #333;
}

.keyvisual_wrap.text .button a:hover{
	opacity: 0.9;
    box-shadow: none;
}

/* スライダー背景画像文字タイプ */
.home .keyvisual_wrap.slider_back_text {
    width: 100%;
    margin-left: 0;
    position: relative;
}


.home .keyvisual_wrap.slider_back_text .va{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
	max-width: 100%;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: absolute;
    top: 0;
}

.home .keyvisual_wrap.slider_back_text .wrap{
    width: 100%;
    max-width: 1200px;
}

.keyvisual_container{
	display: block;
	background-image: url(../images/common/mainimage_back.png);
    aspect-ratio: 2560 / 1092;
    max-height: 648px;
	padding-top: 88px;
}

.keyvisual_wrap {
    display: flex;
    flex-direction: column;
	/*background: url(../images/common/mainimage_infinite.png) no-repeat center center;*/
    background-size: contain;
	width: 1077px;
	height: 513px;
}

.keyvisual_wrap > *{
    z-index: 3;
}

.keyvisual_wrap .infinite_blank {
    position: absolute;
    z-index: 2;
}



:root{
	--size: 486px;           /* 丸の直径（clampで可変にしてもOK） */
	--duration: 800ms;       /* フェード時間 */
	--interval: 3500ms;      /* 自動切替の間隔 */
}

/* 2カラム配置（狭幅では1カラム） */
.slider-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	align-items: start;
    position: absolute;
    z-index: 1;
}

.slider{
	width: min(90vw, var(--size));
	aspect-ratio: 1 / 1;
	position: relative;
	margin: 24px auto;
	border-radius: 50%;
	overflow: hidden;                 /* 丸く切り抜き */
	user-select: none;
	-webkit-tap-highlight-color: transparent;
}

.slider-pause{
    position: absolute;
    right: 16px;
    bottom: 16px;
    padding: 12px 16px;
    background: #666666;
    color: #fff;
    border: none;
    border-radius: 999px;
    font-size: 56%;
	line-height: 1;
	cursor: pointer;
	opacity: 1;
	visibility: visible;
	transition: opacity .2s ease, visibility .2s ease;
	z-index: 5;
}

.slider-pause:hover{
	opacity: 0.8 !important;
}

button.slider-pause:focus-visible{
	position: absolute !important;
}

.slider-pause .icon{
    margin-right: 0;
    line-height: 1;
    color: #fff;
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    position: relative;
    top: -2px;
}

.slider-pause .label{
	color: #fff;
}

.slider-pause.is-paused{
	background: #fff;
	color: #008a17;
    border: 1px solid #008a17;
}


.slider-pause.is-paused .icon{
	color: #008a17;
}

.slider-pause.is-paused .label{
	color: #008a17;
}

/* スライド共通 */
.slide{
	position: absolute;
	inset: 0;
	opacity: 0;
	margin: 0;
	padding: 0;
	transition: opacity var(--duration) ease;
	will-change: opacity;
}
.slide.is-active{ opacity: 1; }

/* 画像は丸の中でトリミング */
.slide img{
	width: 100%;
	height: 100%;
	object-fit: cover;                /* 中央トリミング */
	display: block;
}

/* コントロール */
.controls{
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	pointer-events: none;             /* ボタン以外は無視 */
}
.btn{
	pointer-events: auto;
	align-self: center;
	justify-self: center;
	width: 44px; height: 44px;
	border-radius: 50%;
	border: 0;
	background: rgba(0,0,0,.45);
	backdrop-filter: blur(6px);
	color: #fff;
	display: grid;
	place-content: center;
	cursor: pointer;
	transition: transform .15s ease, background .2s ease, opacity .2s ease;
	opacity: .9;
}



.keyvisual_wrap.text .maincopy {
    font-size: 136%;
    text-shadow: none;
	background: linear-gradient(90deg, #c2fdda 0%, #f5f588 100%);
	-webkit-background-clip: text; /* Safari/Chrome */
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent; /* Safari用の念押し */
}

.keyvisual_wrap.text ul {
	display: flex;
	gap: 12px;
    justify-content: center;
	margin-top: 24px;
}

.keyvisual_wrap.text .subcopy.top + ul {
    margin-top: 16px;
    margin-bottom: 16px;
}

.keyvisual_wrap.text ul li a{
    display: flex;
    justify-content: center;
    flex-direction: column;
    background: #fff;
	/*
    padding: 12px;
    height: 110px;
    width: 110px;
    border-radius: 80px;
	*/
	height: 8rem; 
	width: 8rem; 
	border-radius: 50%; 
	padding: 0.75rem 1rem; 
    text-decoration: none;
    font-size: 72%;
    font-size: 56%;
    line-height: 1.4;
    color: #333;
}

.keyvisual_wrap.text ul li a:hover{
    background: #ffec00;
}

.keyvisual_wrap.text ul li a span {
    font-size: 76%;
    font-weight: 400;
    color: #008a17;
}

.keyvisual_container .keyvisual_wrap img.sp{
	display: none;
}



.scroll{
    --len: 104px;
    --head: 30px;
    --thickness: 1px;
    --color: #008a17;
    position: absolute;
    display: block;
    margin: 0 auto;
    bottom: -42px;
    left: calc(50% - 0.5px);
    width: 0;
    height: var(--len);
    border-left: var(--thickness) solid var(--color);
}

.scroll::before{
    content: "";
    position: relative;
    display: block;
    margin: 0 auto;
    bottom: 6px;
    left: -1px;
    width: 0;
    height: 60px;
    border-left: var(--thickness) solid #fff;
}

.scroll::after{
    content: "";
    position: absolute;
    left: -16px;
    bottom: 5px;
    width: var(--head);
    height: var(--head);
    border-right: var(--thickness) solid var(--color);
    border-bottom: var(--thickness) solid var(--color);
    transform: rotate(45deg);
}

.scroll .rot{
    display: block;
    white-space: nowrap;
    transform: rotate(90deg);
    transform-origin: center;
    position: relative;
    top: -82px;
    right: -16px;
    font-size: 56%;
    color: #fff;
    font-weight: normal;
    background: #008a17;
}



#mainimage_text {
	line-height: 140%;
	font-size: 160%;
	color: #333;
	font-weight: bold;
	width: 1008px;
	padding-top: 40px;
	padding-bottom: 40px;
	background: url(../images/common/key_white.png.webp) repeat;
}



/*--------------------------------------------------------------------------
◆カラム
--------------------------------------------------------------------------*/
.column_wrap{
	clear:both;
	margin-top: 2em;
	margin: 2em 0;
}

.column_wrap + .column_wrap{
	margin-top: 0em;
}

.column_wrap:first-of-type{
	margin-top:0em;
}

.column_wrap:after{
	content: "";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	/*visibility: hidden;*/
}

p + .column_wrap{
	margin-top: 2em !important;
}

.column_wrap > div{
}

.column_wrap img{
	width:100%;
}

.column_wrap h1{
	clear:both;
}

.column_wrap h3{
	clear:both;
	margin-top:0 !important;
}

.column_wrap + hr{
	height: 0;
}

.column_wrap .box{
	background:#FFFFFF;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	overflow:hidden;
	padding: 1.5%;
	border:none !important;

}

.column_wrap .box p{
	margin-bottom:0 !important;
}

.column_wrap .column_left{
	float:left;
}

.column_wrap .column_center{
	float:left;
}

.column_wrap .column_right{
	float:right;
}


/* 2カラム
----------------------------------------------------------------*/
.column2{
	width:47.5%;
}

.column2.box{
	width:49%;
}

.column2_left h1,
.column2_right h1{
	font-size: 140%;
}

.column2_left h2,
.column2_right h2{
	font-size: 100%;
}

.column2_left h3,
.column2_right h3{
	font-size: 100%;
}


/* 3カラム
----------------------------------------------------------------*/
.column3{
	width:31.333%;
}

.column3.column_center{
	margin:0 3%;
}

.column3.box{
	width:32.666%;
}

.column3.column_center.box{
	margin:0 1%;
}

.column3 h1{
	font-size: 140%;
}

.column3 h2 {
	font-size: 100%;
}

.column3 h3 {
	font-size: 100%;
	margin-bottom: 0.81em !important;
}


/* 2/3カラム
----------------------------------------------------------------*/
.column3_2{
	width: 65.6%;
}

.column3_2.box{
	width:65.5%;
}

.column3_2:last-of-type{
	margin-bottom:0 !important;
}


/* 4カラム
----------------------------------------------------------------*/
.column4{
	width: 22.75%;
}

.column4.column_center_left{
	float:left;
	margin:0 0 0 3%;
}

.column4.column_center_right{
	float:left;
	margin:0 3%;
}

/* 3/4カラム
----------------------------------------------------------------*/
.column4_3{
	width: 73%
}

.column4_3 .column_wrap{
	width: 100%;
}


/* 5カラム
----------------------------------------------------------------*/
.column5{
	width: 18%;
	margin-left:2.5%;
}

.column5 *{
	font-size:95%;
}

.column5.column_left{
	margin-left:0;
}

.column5.column_center_left{
	float:left;
}

.column5.column_center{
	float:left;
}

.column5.column_center_right{
	float:left;
}


/* 2/5カラム
----------------------------------------------------------------*/
.column5_2{
	width: 37%
}


/* 3/5カラム
----------------------------------------------------------------*/
.column5_3{
	width: 56.5%
}

.column5_3 .column3{
	width: 32%;
}

.column5_3 .column3.column_center{
	margin:0 2%;
}



/*--------------------------------------------------------------------------
◆コンテンツ
--------------------------------------------------------------------------*/
#main_wrap img{
	width:auto;
	height:auto;
}

#main_wrap ul li ul{
	margin-left: 1em;
	margin-bottom: 0 !important;
}

#main_wrap ol li ol{
	margin-bottom: 0 !important;
}

#main_wrap ul.catch > li{
	padding-left: 16px;
	position: relative;
}

#main_wrap ul.catch > li:before {

    font-size: 72%;
    width: auto;
    position: absolute;
    top: 0.25em;
    left: 0;
}

#main_wrap .note{
	clear: both;
	display: block;
	font-size: 80%;
}

#main_wrap ul.note li{
	margin-left: 1.5em;
	text-indent: -1.3em;
}

#main_wrap ul.note li:before{
	/*content: "※";*/
	margin-right: 0.35em;
}

#main_wrap strong{
	font-size: 100%;
	color: #c00b0b;
	text-decoration:underline;
}



/* ホーム
------------------------------------------------------------------------*/
.home #contents_wrap{
	width: 100%;
	max-width: 100%;
    padding-bottom: 0;
}

.home #main_wrap{
	width: 100%;
	float: none;
	font-size: 100%;
	padding: 0;
	margin: 0 auto;
}

body.home #main_wrap > *{
	max-width: 1200px;
	margin: 0 auto;
}

.home #main_wrap section{
	padding: 80px 0;
	overflow: hidden;
}

.home #contents_wrap section > *,
.home #contents_container.sidebar_on #contents_wrap{
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}

.home #main_wrap section.reverse *{
	color: #fff !important;
}

.home #main_wrap section:nth-child(even){
	background: none;
}

.home #main_wrap section > *:last-child{
	margin-bottom: 0;
}

.home #contents_container.sidebar_off #main_wrap > :not(section) {
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}

.home #contents_container.sidebar_on #main_wrap section{
	/*padding: 0 0 48px;*/
	padding: 0;
	overflow: hidden;
}

.home #contents_container.sidebar_on #main_wrap > *:first-child{
	padding-top: 0;
}

.home #contents_container.sidebar_on #main_wrap section:nth-child(even){
	background: none;
}

.home #contents_container.sidebar_on #main_wrap section > *:last-child{
	margin-bottom: 0;
}

.home #main_wrap [class^="icon-"]:before,
.home #main_wrap [class*=" icon-"]:before {
	margin-right: 0.4em;
}

.home #main_wrap h2{
    text-align: center;
	font-size: 192%;
	padding-top: 0;
	padding-bottom: 48px;
    margin: 0 auto;
	border-bottom: none;
}

.home #main_wrap h2 span{
    display: block;
    margin-top: 4px;
    font-size: 48%;
    line-height: 1.4;
    font-weight: normal;

}

.home #main_wrap h2:after{
	display: none;
}




/* サイドバー有 */
.home #contents_container.sidebar_on #contents_wrap > *:first-child{
	padding-top: 48px;
}

.home #contents_container.sidebar_on #main_wrap{
	float: left;
    width: 68%;
	padding: 0 0 24px;
	margin: 48px auto 32px;
}

.home #contents_container.sidebar_on #sub_wrap{
	margin: 48px auto 32px;
}

.home #contents_container.sidebar_on #main_wrap h2{
    text-align: left;
    font-size: 140%;
    padding: 16px 0 8px;
    margin: 48px auto 0.81em;
    border-bottom: 1px solid #CCC;
}

.home #contents_container.sidebar_on #main_wrap h2:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    z-index: 2;
    width: 40px;
}

.home #contents_container.sidebar_on #main_wrap h2:first-child{
    margin-top: 0;
}

.home #contents_container.sidebar_on #main_wrap h2 span {
    display: none;
}

.home #contents_container.sidebar_on #main_wrap h2#news_h{
	margin: 0 auto !important;
}

.home #contents_container.sidebar_on #main_wrap .news{
	border-top: none;
}




/* news */
.home #main_wrap section#news_container{
    display: flex;
    justify-content: space-between;
    gap: 80px;
    max-width: 1200px;
    padding: 0;
    border-radius: 24px;
    margin-top: 40px;
    margin-bottom: 40px;
}

.home #main_wrap #news_container header{
    margin: 0;
}

.home #main_wrap #news_container header h2 {
    margin: 0 24px 0 0;
    padding-bottom: 0px;
    text-align: left;
	color: #008a17;
    font-size: 320%;
    white-space: nowrap;
}

.home #main_wrap #news_container .list_all{
	margin-top: 24px;
}

.home #main_wrap #news_container .list_all a{
    display: inline-block;
    background: #008a17;
    padding: 8px;
    width: 148px;
    border-radius: 148px;
    color: #fff;
    text-decoration: none;
    text-align: center;
}

.home #main_wrap #news_container ul#news{
    width: 100%;
    margin: 0;
}




.home #main_wrap .news{
	margin-bottom: 0;
}

.home #main_wrap .news li a{
    display: block;
	font-size: 92%;
	padding: 16px 0;
	border-bottom: 1px dotted #ccc;
	overflow: hidden;
	text-decoration: none;
}

.home #main_wrap .news li:first-child a{
	border-top: 1px dotted #ccc;
}

.home #contents_container.sidebar_on #main_wrap .news li:first-child a{
	border-top: none;
}

.home #main_wrap .news li a *{
	color: #333;
}

.home #main_wrap .news li a:hover{
	opacity: 0.8;
}

.home #main_wrap .news li a.no-link:hover{
	opacity: 1;
}

.home #main_wrap .news li a .title{
	font-weight: normal;
    display: block;
	overflow: hidden;
}

.home #main_wrap .news li a .categories{
    display: none;
	margin-bottom: 0;
}

.home #main_wrap .news li a .category{
    display: none;
    padding: 4px 8px;
    background: #333;
    color: #fff;
    font-size: 64%;
    line-height: 1;
	margin-right: 8px;
}

.home #main_wrap .news li a .category:last-child{
	margin-right: 0;
}

.home #main_wrap .news li a .tag{
    display: inline-block;
    padding: 4px 8px;
    background: #666;
    color: #fff;
    font-size: 64%;
    line-height: 1;
	margin-right: 8px;
}

.home #main_wrap .news li a .tag:last-child{
	margin-right: 0;
}

.home #main_wrap .news li a .newmark{
    margin-left: 0.8em;
    position: relative;
}

.home #main_wrap .news li a .excerpt{
	display: block;
}

.home #main_wrap .news li a .time{
	display: block;
	float: left;
	width: 8em;
}

.home #main_wrap .news li a .thumb{
	float: right;
	max-width: 160px;
	width: 100%;
	margin-left: 16px;
}

.home #main_wrap .news li a .thumb img{
    vertical-align: bottom;
	width: 100%;
	height: 100%;
}


body.home #main_wrap .news li a {
    border-bottom: none;
    position: relative;
    font-size: 100%;
}

.home #main_wrap .news li:first-child a {
    border-top: none;
}

.home #main_wrap .news li a .wrap{
    display: flex;
    gap: 120px;
}

.home #main_wrap .news li a .categories {
    display: block;
    position: absolute;
    top: 14px;
    left: 88px;
}

.home #main_wrap .news li a .category {
    display: inline-block;
    padding: 6px;
    min-width: 108px;
    text-align: center;
    border-radius: 4px;
    background: #333;
    color: #fff;
    font-size: 80%;
    line-height: 1;
    margin-right: 0;
}

.home #main_wrap .news li a .title {
    font-weight: normal;
    display: block;
    overflow: hidden;
    width: calc(100% - 284px);
    word-break: break-all;
}

.home #main_wrap .news li a .title:after {
    content: "";
    position: absolute;
    border-right: 3px solid #008a17;
    border-top: 3px solid #008a17;
    width: 12px;
    height: 12px;
    right: 4px;
    top: calc(50% - 6px);
    margin-top: 0;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

.home #main_wrap .news li a.no-link .title:after {
	display: none;
}


.home #contents_container.sidebar_off #main_wrap > div#button_container{
	max-width: 100%;
	background: #f1f7f2;
    padding: 80px 0 132px;
    padding: 80px 0 24px;
}

.home #main_wrap div#button_container > *{
	max-width: 1200px;
	margin: 0 auto;
}

.home #main_wrap div#button_container .envg-block-columns{
    flex-wrap: wrap !important;
	gap: 32px;
    justify-content: center;
}

.home #main_wrap div#button_container .envg-block-columns > *{
    flex-basis: auto;
	flex-grow: inherit;
}

.home #main_wrap div#button_container .envg-block-buttons > .envg-block-button {
    display: block;
    width: 100%;
    margin: 0;
}

.home #main_wrap div#button_container .envg-block-buttons > .envg-block-button a{
    background: #008a17;
    padding: 32px;
    width: 373px;
    max-width: 100%;
    border-radius: 24px;
    font-size: 128%;
    font-weight: bold;
}

.home #main_wrap div#button_container .envg-block-buttons > .envg-block-button a:hover{
	opacity: 0.8;
}

.home #main_wrap div#button_container .envg-block-buttons > .envg-block-button a::after{
	margin-left: 8px;
    position: relative;
    vertical-align: top;
}

.home #main_wrap div#button_container .envg-block-buttons > .envg-block-button.icon_movie a::after{
	content: "";
	display: inline-block;
	background: url(../images/common/icon_movie.png) no-repeat;
	width: 37px;
	height: 29px;
    top: 6px;
}

.home #main_wrap div#button_container .envg-block-buttons > .envg-block-button.icon_external a::after{
	content: "";
    display: inline-block;
    background: url(../images/common/icon_check.png) no-repeat;
    width: 26px;
    height: 36px;
    top: 0;
}






.home #contents_container.sidebar_off #main_wrap > #contact_container {
    padding: 80px 0 96px;
    background: #f1f7f2;
    max-width: 100%;
    text-align: center;
}

.home #contents_container.sidebar_off #main_wrap > #button_container + #contact_container {
    padding: 24px 0 96px;
}

.home #contents_container.sidebar_off #main_wrap > #contact_container > .inner-container{
	margin-bottom: 0;
    background: #fff;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px;
}

.home #contents_container.sidebar_off #main_wrap > #contact_container h2 {
    padding-bottom: 0.4em;
    font-size: 160%;
}

.home #contents_container.sidebar_off #main_wrap > #contact_container dl{
    margin-bottom: 0;
}

.home #contents_container.sidebar_off #main_wrap > #contact_container dl dd{
	margin-bottom: 0;
}

.home #contents_container.sidebar_off #main_wrap > #contact_container dl dd.tel,
.home #contents_container.sidebar_off #main_wrap > #contact_container dl dd.mail{
    font-size: 128%;
    line-height: 1.6;
}

.home #contents_container.sidebar_off #main_wrap > #contact_container dl dd.tel{
	margin-top: 8px;
}

.home #contents_container.sidebar_off #main_wrap > #contact_container dl dd.tel a {
    text-decoration: none;
    color: #333;
}

.home #contents_container.sidebar_off #main_wrap > #contact_container dl dd.mail{
	margin-bottom: 8px;
}

.home #contents_container.sidebar_off #main_wrap > #contact_container dl dd:last-of-type{
	margin-bottom: 0;
}

.home #contents_container.sidebar_off #main_wrap > #contact_container span{
    color: #333;
    text-decoration: none;
	font-weight: bold;
	white-space: nowrap;
}






/* ページ　共通レイアウト
------------------------------------------------------------------------*/
body.page #contents_wrap:not(body.home #contents_wrap, .page-template-page-no-sidebar #contents_wrap, .page-template-page-no-sidebar-bottom #contents_wrap){ /* 左側にサイドナビ 3/3 ホーム以外のページメインイメージとサイドナビの幅 */
    padding: 24px 0;
}




/* 親ページ　共通レイアウト
------------------------------------------------------------------------*/
.page-parent #main_wrap ul{
	margin-bottom: 0;
	margin-left: 0px !important;
}

.page-parent #main_wrap ul.box{
    display: flex;
    flex-wrap: wrap;
    gap: 16px 0;
    justify-content: space-between;
}

.page-parent #main_wrap ul.children{
	margin-bottom: 0 !important;
}

.page-parent #main_wrap ul.box li{
	display: block;
	width: 49%;
}

.page-parent #main_wrap ul.box a{
	display: flex;
	width: 100%;
	height: auto;
    margin-top: 0;
	overflow:hidden;
	color:#333;
	text-decoration:none;
	background:#FFFFFF;
	border: 1px solid #DCDCDC;
    box-sizing: border-box;
}

.page-parent #main_wrap ul.box a:hover{
	opacity: 0.8;
}

.page-parent #main_wrap ul.box li:nth-child(1) a{
	margin-top: 0px;
}

.page-parent #main_wrap ul.box li:nth-child(2) a{
	margin-top: 0px;
}

.page-parent #main_wrap ul.box li:nth-child(even) a{
	margin-left: 0;
}


.page-parent #main_wrap ul.box a .imgleft{
	margin-right: 16px;
	line-height: 0;
	max-width: 133px;
}

.page-parent #main_wrap ul.box a .imgleft img{
    display: block;
    min-width: 100px;
    width: 100%;
    background: #f4f4f4;
    box-sizing: border-box;
}

.page-parent #main_wrap ul.box a .info_wrap{
	display: flex;
    height: 100px;
    align-items: center;
}

.page-parent #main_wrap ul.box a .info_wrap{
	margin-left: 16px;
}

.page-parent #main_wrap ul.box a .imgleft + .info_wrap{
	margin-left: 0px;
}

.page-parent #main_wrap ul.box a .info_wrap h2:not(.home #main_wrap h2){
	clear: none;
	font-size: 112%;
	line-height: 136%;
	border: none;
	display: table-cell;
	vertical-align: middle;
    border-bottom: none;
    padding: 0;
    margin: 0;
}

.page-parent #main_wrap ul.box a .info_wrap h2:before,
.page-parent #main_wrap ul.box a .info_wrap h2:after{
	display: none !important;
}

.page-parent #main_wrap ul.box a .info_wrap h2 + p{
	margin-top: 1em;
	text-align: justify;
	max-height: 6em;
	font-size: 90% !important;
	overflow: hidden;
	display: none;
}

.page-parent #main_wrap ul.box a p{
	overflow: auto;
	margin-bottom:0 !important;
}



/* LPテンプレート
------------------------------------------------------------------------*/
.page-template-page-lp #contents_wrap{
	padding: 0;
	max-width: 100%;
}

.page-template-page-lp #main_wrap{
	width: 100%;
	float: none;
	font-size: 100%;
	margin-bottom: 0;
}

.page-template-page-lp #contents_wrap > #main_wrap:first-child{
	padding: 0;
}

.page-template-page-lp #contents_wrap > #main_wrap > :not(section){
	margin-right: auto;
	margin-left: auto;
	max-width: 980px;
}

.page-template-page-lp #main_wrap section:nth-child(even){
	background: #f4f4f4;
}

.page-template-page-lp #main_wrap section{
    padding-top: 80px;
    padding-bottom: 80px;
    overflow: hidden;
}

.page-template-page-lp #main_wrap section > *{
	width: 1008px;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}

.page-template-page-lp #main_wrap section > *:first-child{
	margin-top: 0;
}

.page-template-page-lp #main_wrap section > *:last-child{
	margin-bottom: 0;
}

.page-template-page-lp #main_wrap section.reverse{
	background: #000;
	color: #fff;
}

.page-template-page-lp #main_wrap section.reverse *{
	color: #fff;
}

.page-template-page-lp #main_wrap section.reverse h2{
	padding: 12px 0 0;
	background: none;
}

.page-template-page-lp #main_wrap section.wide{
    padding-top: 0;
    padding-bottom: 0;
}

.page-template-page-lp #main_wrap section.wide > *{
	width: 100%;
    max-width: 100%;
}

.page-template-page-lp #main_wrap section.wide > .column_wrap > div{
}

.page-template-page-lp #main_wrap section.wide > .column_wrap .column2{
	width: 50%;
}

.page-template-page-lp #main_wrap section.wide > .column_wrap .column3{
	width: calc(100%/3);
}

.page-template-page-lp #main_wrap section.wide > .column_wrap .column3.column_center{
	margin: 0;
}

.page-template-page-lp #main_wrap section ul.mod_flow{
	padding: 8px 0;
	font-size: 100%;
}

.page-template-page-lp #main_wrap section ul.mod_flow li{
	padding: 12px 16px;
}

.page-template-page-lp #main_wrap .reverse{
	background: #000;
	color: #fff;
}

.page-template-page-lp #main_wrap .reverse *{
	color: #fff;
}

.page-template-page-lp #footer_container {
    margin-top: 0px;
}

.page-template-page-lp #footer_container_bottom.menu_in #fnav_btm_container{
	display: none;
}

.page-template-page-lp #footer_container_bottom.menu_in #footer_wrap_copyright {
    float: none;
    text-align: center;
}

.page-template-page-lp .check{
	font-size: 120%;
    padding-top: 24px;
}

.page-template-page-lp ul.check li:before{
	content:'';
	vertical-align: -4px;
	margin-right: 8px;
}

.page-template-page-lp dt.check{
	font-weight:bold;
}

.page-template-page-lp dt.check:before{
	content:'';
	vertical-align: -4px;
	margin-right: 8px;
}

.page-template-page-lp .embox{
	background:url(../images/common/em_back.jpg) repeat;
	font-size: 152%;
	line-height: 1.44;
	font-weight: bold;
	text-align: center;
	padding: 40px;
}

.page-template-page-lp a.button{
	display: inline-block;
	border-radius: 8px;
	box-shadow: 0px 1px 1px 1px rgba(145, 145, 145, 0.2);
	min-width: 388px;
    padding: 24px 4%;
	text-decoration: none;
    box-sizing: border-box;
	font-size: 125%;
	line-height: 140%;
	color: #333;
	font-weight: bold;
	text-align: center;
	background: #fff;
}

.page-template-page-lp .button:before{
	margin-right: 12px;
	vertical-align: 3px;
}

.page-template-page-lp a.button:hover{
	text-decoration:none;
	opacity:0.7;
}

.page-template-page-lp .box a.button{
	display: block;
	width: 100%;
	padding: 3px 0;
	margin-top: 16px;
	font-size: 80%;
	border-radius: 0;
	box-shadow: none;
}

.page-template-page-lp .box .button:before{
	content:'';
	margin-right: 12px;
	vertical-align: 3px;
}

.page-template-page-lp #main_wrap h2{
	display: block;
	padding: 0;
	margin: 0 0 40px;
	font-weight: bold;
}

.page-template-page-lp #main_wrap h2:before,
.page-template-page-lp #main_wrap h2:after{
	display: none;
}

.page-template-page-lp h3{
	margin: 0 0 8px;
	border-bottom: 1px solid #aaa;
	padding-bottom: 4px;
}

.page-template-page-lp #contents_wrap h2 + h3{
	margin-top: 2em;
}

.page-template-page-lp #contents_wrap h2 + .column_wrap{
	margin-top: 2em;
}

.page-template-page-lp .font_large_most{
	font-size: 224%;
	font-weight: bold;
}

.page-template-page-lp div.box{
	background:url(../images/common/box_back.webp) repeat;
	padding: 32px;
	overflow: hidden;
}

.page-template-page-lp .wlist{
	clear:both;
}

.page-template-page-lp .wlist li:before{
	content:'';
	margin-right: 16px;
}

.page-template-page-lp dl.tablelayout{
	background:url(../images/common/box_back.webp) repeat;
	font-size: 86%;
	padding: 16px 24px;
	margin-left: 24px;
	margin-right: 24px;
}

.page-template-page-lp dl.tablelayout dt{
	float: left;
	font-weight:bold;
	padding: 1em 0;
	white-space: nowrap;
}

.page-template-page-lp dl.tablelayout dd{
	border-bottom: 1px solid #aaa;
	padding: 1em 0 1em 26%;
	margin-bottom: 0 !important;
}

.page-template-page-lp dl.tablelayout dd *{
	margin-bottom:0 !important;
}

.page-template-page-lp dt.question:before{
	content: "";
	margin-right:16px;
	font-weight: bold;
	color: #4b8823;
}

.page-template-page-lp dd.answer:before{
	content: "";
	margin-right:16px;
	font-weight: bold;
	color: #B22626;
}

.page-template-page-lp .voice:before{
	content:'';
	margin-right: 16px;
}

.page-template-page-lp hr{
	margin-left: 24px;
	margin-right: 24px;
	height: 0;
	margin-bottom: 2em;
}

.page-template-page-lp .area dt:before{
	color: #4b8823;
}

.page-template-page-lp .area li{
	display: inline;
	margin-left: 8px;
}

.page-template-page-lp .area li:first-child{
	margin-left: 0;
}


/* LPテンプレート（リンク有り）
------------------------------------------------------------------------*/
.page-template-page-lp-link #contents_wrap{
	padding: 0;
	max-width: 100%;
}

.page-template-page-lp-link #main_wrap{
	width: 100%;
	float: none;
	font-size: 100%;
	margin-bottom: 0;
}

.page-template-page-lp-link #contents_wrap > #main_wrap:first-child{
	padding: 0;
}

.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
	margin-right: auto;
	margin-left: auto;
	max-width: 980px;
}

.page-template-page-lp-link #main_wrap section:nth-child(even){
	background: #f4f4f4;
}

.page-template-page-lp-link #main_wrap section{
    padding-top: 56px;
    padding-bottom: 56px;
    overflow: hidden;
}

.page-template-page-lp-link #main_wrap section > *{
	width: 1008px;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}

.page-template-page-lp-link #main_wrap section > *:first-child{
	margin-top: 0;
}

.page-template-page-lp-link #main_wrap section > *:last-child{
	margin-bottom: 0;
}

.page-template-page-lp-link #main_wrap section.reverse{
	background: #000;
	color: #fff;
}

.page-template-page-lp-link #main_wrap section.reverse *{
	color: #fff;
}

.page-template-page-lp-link #main_wrap section.reverse h2{
	padding: 12px 0 0;
	background: none;
}

.page-template-page-lp-link #main_wrap section.wide{
    padding-top: 0;
    padding-bottom: 0;
}

.page-template-page-lp-link #main_wrap section.wide > *{
	width: 100%;
    max-width: 100%;
}

.page-template-page-lp-link #main_wrap section.wide > .column_wrap > div{
}

.page-template-page-lp-link #main_wrap section.wide > .column_wrap .column2{
	width: 50%;
}

.page-template-page-lp-link #main_wrap section.wide > .column_wrap .column3{
	width: calc(100%/3);
}

.page-template-page-lp-link #main_wrap section.wide > .column_wrap .column3.column_center{
	margin: 0;
}

.page-template-page-lp-link #main_wrap section ul.mod_flow{
	padding: 8px 0;
	font-size: 100%;
}

.page-template-page-lp-link #main_wrap section ul.mod_flow li{
	padding: 12px 16px;
}

.page-template-page-lp-link #main_wrap .reverse{
	background: #000;
	color: #fff;
}

.page-template-page-lp-link #main_wrap .reverse *{
	color: #fff;
}

.page-template-page-lp-link #footer_container {
    margin-top: 0px;
}

.page-template-page-lp-link .check{
	font-size: 120%;
    padding-top: 24px;
}

.page-template-page-lp-link ul.check li:before{
	content:'';
	vertical-align: -4px;
	margin-right: 8px;
}

.page-template-page-lp-link dt.check{
	font-weight:bold;
}

.page-template-page-lp-link dt.check:before{
	content:'';
	vertical-align: -4px;
	margin-right: 8px;
}

.page-template-page-lp-link .embox{
	background:url(../images/common/em_back.jpg) repeat;
	font-size: 152%;
	line-height: 1.44;
	font-weight: bold;
	text-align: center;
	padding: 40px;
}

.page-template-page-lp-link a.button{
	display: inline-block;
	border-radius: 8px;
	box-shadow: 0px 1px 1px 1px rgba(145, 145, 145, 0.2);
	min-width: 388px;
    padding: 24px 4%;
	text-decoration: none;
    box-sizing: border-box;
	font-size: 125%;
	line-height: 140%;
	color: #333;
	font-weight: bold;
	text-align: center;
	background: #fff;
}

.page-template-page-lp-link .button:before{
	margin-right: 12px;
	vertical-align: 3px;
}

.page-template-page-lp-link a.button:hover{
	text-decoration:none;
	opacity:0.7;
}

.page-template-page-lp-link .box a.button{
	display: block;
	width: 100%;
	padding: 3px 0;
	margin-top: 16px;
	font-size: 80%;
	border-radius: 0;
	box-shadow: none;
}

.page-template-page-lp-link .box .button:before{
	content:'';
	margin-right: 12px;
	vertical-align: 3px;
}

.page-template-page-lp-link #main_wrap h2{
	display: block;
	padding: 12px 24px;
	margin-top: 40px;
	color: #fff;
	font-size: 140% !important;
	font-weight: bold;
	box-shadow:0px 1px 1px 1px rgba(145, 145, 145, 0.2);
	background: #333;
}

.page-template-page-lp-link #main_wrap h2:before,
.page-template-page-lp-link #main_wrap h2:after{
	display: none;
}

.page-template-page-lp-link h3{
	margin: 0 0 8px;
	border-bottom: 1px solid #aaa;
	padding-bottom: 4px;
}

.page-template-page-lp-link #contents_wrap h2 + h3{
	margin-top: 2em;
}

.page-template-page-lp-link #contents_wrap h2 + .column_wrap{
	margin-top: 2em;
}

.page-template-page-lp-link .font_large_most{
	font-size: 224%;
	font-weight: bold;
}

.page-template-page-lp-link div.box{
	background:url(../images/common/box_back.webp) repeat;
	padding: 32px;
	overflow: hidden;
}

.page-template-page-lp-link .wlist{
	clear:both;
}

.page-template-page-lp-link .wlist li:before{
	content:'';
	margin-right: 16px;
}

.page-template-page-lp-link dl.tablelayout{
	background:url(../images/common/box_back.webp) repeat;
	font-size: 86%;
	padding: 16px 24px;
	margin-left: 24px;
	margin-right: 24px;
}

.page-template-page-lp-link dl.tablelayout dt{
	float: left;
	font-weight:bold;
	padding: 1em 0;
	white-space: nowrap;
}

.page-template-page-lp-link dl.tablelayout dd{
	border-bottom: 1px solid #aaa;
	padding: 1em 0 1em 26%;
	margin-bottom: 0 !important;
}

.page-template-page-lp-link dl.tablelayout dd *{
	margin-bottom:0 !important;
}

.page-template-page-lp-link dt.question:before{
	content: "";
	margin-right:16px;
	font-weight: bold;
	color: #4b8823;
}

.page-template-page-lp-link dd.answer:before{
	content: "";
	margin-right:16px;
	font-weight: bold;
	color: #B22626;
}

.page-template-page-lp-link .voice:before{
	content:'';
	margin-right: 16px;
}

.page-template-page-lp-link hr{
	margin-left: 24px;
	margin-right: 24px;
	height: 0;
	margin-bottom: 2em;
}

.page-template-page-lp-link .area dt:before{
	color: #4b8823;
}

.page-template-page-lp-link .area li{
	display: inline;
	margin-left: 8px;
}

.page-template-page-lp-link .area li:first-child{
	margin-left: 0;
}



/* サイドバー無しテンプレート（１カラムテンプレート）
------------------------------------------------------------------------*/
.page-template-page-no-sidebar #main_wrap{
	max-width: 816px;
	width: 100%;
	float: none;
	font-size: 100%;
}

/* サイド&コンテンツ下部非表示　テンプレート
------------------------------------------------------------------------*/
.page-template-page-no-sidebar-bottom #main_wrap{
	max-width: 816px;
	width: 100%;
	float: none;
	font-size: 100%;
}

/* ブログ　共通レイアウト
------------------------------------------------------------------------*/
.single #main_wrap .section.mainimage{
	background-size: cover !important;
}

.single #main_wrap .section.mainimage .section_wrap{
	display: table;
}

.single #main_wrap .section.mainimage .section_wrap h1{
	display: table-cell;
	vertical-align: middle;
	color: #333;
}

.single #main_wrap + .section_wrap > h1{
	font-size: 240% !important;
	margin-top: 24px !important;
	margin-bottom: 24px !important;
}

.single #main_wrap .section.mainimage h1{
	font-size: 168%;
	font-weight: bold;
	line-height: 1;
	padding: 8px 24px;
	line-height: 124%;
}

.single #main_wrap {
    float: none;
}

.single #main_wrap > h1{
	margin-top: 0.3em;
	margin-bottom: 1.1em;
}

.single #main_wrap .status{
	text-align: right;
    margin-bottom: 24px;
}

.single #main_wrap .status + *{
	clear: both;
}

.single #main_wrap .status .newmark{
	margin-right: 8px;
}

.single #main_wrap .status time{
	font-size: 92%;
}

.single #main_wrap .status time.last_modified_date{
	display: block;
}

.single #main_wrap ul.term{
	width: 72%;
    float: left;
	overflow: hidden;
}

.single #main_wrap ul.term.bottom{
	margin-top: 32px;
	width: 100%;
    float: none;
	overflow: hidden;
	display: none;
}

.single #main_wrap ul.tags{
	margin-bottom: 0;
}

.single #main_wrap ul.tags li.tag{
	display: inline;
}

.single #main_wrap ul.tags li.tag a{
	margin-bottom: 8px;
}

.single dl.status_event{
	margin-top:2.40em;
}

.single dl.status_event dt{
	font-weight:bold;
}

.single #main_wrap dd{
	margin-bottom:2.40em;
}

.single #main_wrap .lead{
	margin-top:2.40em !important;
}

/* アイキャッチ画像 */
.single #main_wrap .eyecatch img{
	width: 100% !important;
}

.single #main_wrap .eyecatch,
.single #main_wrap .eyecatch.small{
	float:right;
	width: 38.2% !important;
	margin-top: 0em !important;
	margin-left: 4% !important;
	margin-bottom: 20px;
	margin-right: 0 !important;
	min-width: 0px;
}

.single #main_wrap .eyecatch.middle{
	width: 48% !important;
	margin-left: 4% !important;
}

.single #main_wrap .eyecatch.full{
	float:none;
	width: 100% !important;
	margin-top: 0em !important;
	margin-left: 0 !important;
}

/* 見出し */
.single #main_wrap h1 {
	margin: 16px 0 !important;
}

.single #main_wrap #breadcrumbs + h1 {
	margin-bottom: 0 !important;
	border-bottom: none;
}

/* タグ */
.single #main_wrap ul.tags {
    width: 80%;
    float: left;
}

.single #main_wrap ul.tags .tag a{
	text-decoration: none;
}

.single #main_wrap ul.tags .tag a:hover{
	background: #ccc;
	color: #fff;
}

/* 各要素 */
.single #main_wrap ol li {
	margin-left:2em;
}

.single #main_wrap hr {
	height: auto;
	margin-bottom: 2.40em;
}


/* 共通モジュール
------------------------------------------------------------------------*/

/* フロー図 */
#main_wrap ul.mod_flow{
	background: #f4f4f4;
    padding: 8px 2%;
	font-size: 90%;
}

#main_wrap ul.mod_flow li {
    position: relative;
    padding: 0;
    margin-top: 32px;
    background: #fff;
    margin-bottom: 4px;
    text-align: left;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	align-items: stretch;
	width: 100%;
}

#main_wrap ul.mod_flow li:before {
	content: "";
    position: absolute;
    display: block;
	text-align: left;
	top: -24px;
	left : -webkit-calc(50% - 40px);
	left : calc(50% - 40px);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 40px 0 40px;
	border-color: #7bd1ce;
    border-left-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;

}

#main_wrap ul.mod_flow li:first-child {
    margin-top: 8px;
}

#main_wrap ul.mod_flow li:first-child:before {
	display: none;
}

#main_wrap ul.mod_flow li:last-child {
    margin-bottom: 8px;
}

#main_wrap section:nth-child(odd) ul.mod_flow{
	background: #fff;
}

#main_wrap section:nth-child(odd) ul.mod_flow li {
    padding: 12px 16px;
    border: 1px solid #ccc;
}

#main_wrap ul.mod_flow li .num{
    color: #fff;
    background-color: #000;
    display: block;
    padding: 12px;
	font-weight: bold;
    text-align: center;
	white-space: nowrap;
    display: grid;
	align-items: stretch;
    min-width: 52px;
}

#main_wrap ul.mod_flow li > dl{
	margin-bottom: 0;
}

#main_wrap ul.mod_flow li dd{
	margin-bottom: 0;
}

#main_wrap ul.mod_flow li .head{
	font-weight: bold;
	display: block;
}

#main_wrap ul.mod_flow li .cont{
	display: block;
    padding: 12px;
}

#main_wrap ul.mod_flow li > dl{
	display: block;
    padding: 12px;
}

#main_wrap ul.mod_flow li > dl .head,
#main_wrap ul.mod_flow li > dl .cont{
    padding: 0;
}

/* 悩み、トラブル */
#main_wrap ul.mod_trouble{
    padding: 16px;
    border: 8px solid #ebebeb;
	background-color: rgba(255, 255, 255, 0.8);
}

#main_wrap ul.mod_trouble li:before {

    font-size: 72%;
    width: auto;
    position: absolute;
    top: 0.25em;
    left: 0;
}

#main_wrap ul.mod_trouble li {
    padding-left: 24px;
    position: relative;
}

/* 解決 */
#main_wrap .mod_solution{
    text-align: center;
}

#main_wrap .mod_solution:before{
	content: "";
    display: block;
    margin: 0 auto 16px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 24px 80px 0 80px;
    border-color: #7bd1ce transparent transparent transparent;
}

/* メリット */
#main_wrap ul.mod_merit li:before {

    font-size: 72%;
    width: auto;
    position: absolute;
    top: 0.25em;
    left: 0;
}

#main_wrap ul.mod_feature li {
    padding-left: 24px;
    position: relative;
}

/* 特長 */
#main_wrap ul.mod_feature{
	overflow: hidden;
}

#main_wrap ul.mod_feature li:before {

    font-size: 72%;
    width: auto;
    position: absolute;
    top: 0.25em;
    left: 0;
	padding: 8px 0 8px 16px;
}

#main_wrap ul.mod_feature li {
    display: block;
    float: left;
    width: 49%;
    padding: 8px 8px 8px 40px;
    margin-bottom: 8px;
    position: relative;
    border: 1px solid #bdbdbd;
}

#main_wrap ul.mod_feature li:nth-child(even) {
    float: right;
}

#main_wrap dl.mod_feature{
	overflow: hidden;
}

#main_wrap dl.mod_feature dt{
	position: relative;
    padding-left: 16px;
	font-weight: bold;
}

#main_wrap dl.mod_feature dt:before{

    font-size: 72%;
    width: auto;
    position: absolute;
    top: 0.25em;
    left: 0;
}
/*
#main_wrap *.mod_feature{
	display: block;
    border: 1px solid #bdbdbd;
    padding: 8px 8px 8px 40px;
    margin-bottom: 8px;
	position: relative;
}

#main_wrap *.mod_feature:before {

    font-size: 72%;
    width: auto;
    position: relative;
	top: -0.2em;
    left: 0;
	margin-right: 8px;
}
*/

/* お客様の声 */
#main_wrap ul.mod_review li:before {

    font-size: 72%;
    width: auto;
    position: absolute;
    top: 0.25em;
    left: 0;
}

#main_wrap ul.mod_review li {
    padding-left: 24px;
    position: relative;
}

#main_wrap p.mod_review{
    padding-left: 24px;
    position: relative;
}

#main_wrap p.mod_review:before {

    font-size: 72%;
    width: auto;
    position: absolute;
    top: 0.25em;
    left: 0;
}

#main_wrap p.mod_review strong {
	color: #333;
}

strong.mod_voice:before {

    font-size: 72%;
    width: auto;
    position: relative;
    top: -0.2em;
    left: 0;
	margin-right: 8px;
}

/* ボックスリスト */
#main_wrap ul.mod_boxlist{
	overflow: hidden;
}

#main_wrap ul.mod_boxlist li:before {

    font-size: 72%;
    width: auto;
    position: absolute;
    top: 0.25em;
    left: 0;
	padding: 8px 0 8px 16px;
}

#main_wrap ul.mod_boxlist li {
    display: block;
    float: left;
    width: 49%;
    padding: 8px 8px 8px 32px;
    margin-bottom: 8px;
    position: relative;
    border: 1px solid #bdbdbd;
}

#main_wrap ul.mod_boxlist li:nth-child(even) {
    float: right;
}

/* ボックスリスト　リンク */
#main_wrap ul.mod_boxlist.link li a:before{

    font-size: 72%;
    width: auto;
    position: absolute;
    top: 0.25em;
    left: 0;
	padding: 8px 0 8px 16px;
}

#main_wrap ul.mod_boxlist.link li:before {
    display: none;
}

#main_wrap ul.mod_boxlist.link li{
    display: inline;
    float: none;
    width: auto;
    padding: 0;
    margin-bottom: 0;
    position: relative;
    border: none;
}

#main_wrap ul.mod_boxlist.link li a{
    display: block;
    float: left;
    width: 49%;
    padding: 8px 8px 8px 32px;
    margin-bottom: 8px;
    position: relative;
    border: 1px solid #bdbdbd;
    color: #333;
    text-decoration: none;
}

#main_wrap ul.mod_boxlist.link li:nth-child(even) {
    float: none;
}

#main_wrap ul.mod_boxlist.link li:nth-child(even) a{
    float: right;
}

#main_wrap ul.mod_boxlist.link li a:hover{
	background-color: #f4f4f4;
}

/* ボックス */
.mod_box{
	border: 1px solid #ccc;
	padding: 16px;
}

div.mod_box{
	padding: 24px;
	margin-bottom: 2.40em;
}

table + div.mod_box{
	margin-top: 40px;
}

div.mod_box > *:first-child{
	padding-top: 0 !important;
	margin-top: 0 !important;
}

div.mod_box > *:last-child{
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* 電話番号表示 */
.mod_tel{
	font-size: 176%;
	margin-bottom: 0 !important;
	color: #7bd1ce;
	font-weight: bold;
	text-decoration: none;
}

.mod_tel a{
	text-decoration: none;
}

/* ボタン */
.button{
	display: inline-block;
	border-radius: 4px;
	box-shadow:0px 1px 1px 1px rgba(145, 145, 145, 0.2);
	min-width: 256px;
	max-width: 100%;
    padding: 16px 32px;
    box-sizing: border-box;
	font-size: 100%;
	line-height: 140%;
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	background: #ff9a05;
}

.button:before{
	margin-right: 12px;
	vertical-align: 3px;
}

.button:hover{
	text-decoration: none;
	opacity: 0.7;
}

/* 拡張 */
#main_wrap .ex{
    padding: 8px 0;
	margin-left: 0px;
}

#main_wrap .ex li{
	margin-top: 0.4em;
}

#main_wrap .ex li:first-child{
	margin-top: 0em;
}

#main_wrap .ex span.cat{
	display: inline-block;
	background: #999;
    color: #fff;
    font-size: 88%;
    padding: 0 8px;
    margin-right: 8px;
}



/* ボックスリンク */
#main_wrap .box_link a{
	display:block;
	background: #f4f4f4;
	overflow: hidden;
	padding: 24px;
	margin-bottom: 24px;
	text-decoration: none;
}

#main_wrap .box_link a:hover{
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
	background: #F4F4F4;
}

#main_wrap .box_link h2{
	padding-top: 0;
}

#main_wrap .box_link img{
	float: left;
	margin-right: 16px;
}

#main_wrap .box_link p{
	margin-top: 0.81em;
	margin-bottom: 0;
}



/* ページ別レイアウト（メインイメージ）
------------------------------------------------------------------------*/

/* 共通 */
#mainimage{
	background: #ffffff;
	background-position: center 50%;
	background-size: cover;
}

#mainimage .section_wrap{
    display: flex;
    align-items: center;
	width: 100%;
	max-width: 1200px;
	min-height: 144px;
	margin: 0 auto;
	padding: 0 16px;
	box-sizing: border-box;
}

#mainimage .section_wrap.image{
	line-height: 0;
    font-size: 0;
	padding: 0;
}

#mainimage h1{
	display: table-cell;
    vertical-align: middle;
    position: relative;
    font-size: 160%;
}

#mainimage h1 span {
    font-size: 48%;
    font-weight: normal;
    line-height: 1;
    padding: 0;
    text-shadow: none;
    vertical-align: 0;
    margin-left: 8px;
}



/* ページ別レイアウト
------------------------------------------------------------------------*/

/* 事例 */
.jirei{
	overflow: hidden;
}

.jirei li a{
    display: block;
    border: 1px solid #2448A8;
    width:31.333%;
    text-align: center;
    padding: 24px;
    box-sizing: border-box;
    float: left;
    margin-left: 3%;
}

.jirei li:nth-child(3n+1) a{
    margin-left: 0;
}

.jirei li a:hover{
	background: #2448A8;
	color: #FFF;
	text-decoration: none;
}


/* プロフィール */
.profile_box{
	padding: 24px;
	margin-bottom: 2.40em;
	border: 1px solid #0C3DBE;
	background: #f8f8f8;
	box-sizing: border-box;
}

.profile_box dt{
	border: none;
	font-weight: bold;
}

.profile_box dd{
	border: none;
	padding: 0;
	line-height: 150%;
}

.profile_box dd.pic{
	padding: 0 !important;
	vertical-align: top;
}

.profile_box dd.pic img{
	margin-top: 4px;
}

.profile_box .profile_name{
	letter-spacing: 0.1em;
}

.profile_box .profile_name span{
	font-size: 40%;
	margin-left: 1em;
	letter-spacing: 0em;
	display: inline-block;
}

/* ご相談 */
.page-contact #main_wrap a.tel{
	font-family: 'Noto Sans', sans-serif;
    font-size: 160%;
    font-weight: bold;
    line-height: 1;
}



/*------------------------------------------------------------------------
◆LP共通
------------------------------------------------------------------------*/
body.page-about_law .breadcrumbs,
body.page-about_certification .breadcrumbs{
    width: 92%;
    padding: 24px 0;
}
body.page-about_law .breadcrumbs a,
body.page-about_certification .breadcrumbs a{
	color:#066fc7;
	text-decoration: underline !important;
	font: 100% / 1.618 'Noto Sans JP', "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Verdana, Geneva, Arial, Helvetica, sans-serif;
}
body.page-about_law .breadcrumbs a:hover,
body.page-about_certification .breadcrumbs a:hover{
	color:#066fc7;
	text-decoration: underline !important;
}



/*------------------------------------------------------------------------
◆早わかり「高度化法」
------------------------------------------------------------------------*/
body.page-template-page-about-law i {
    color: inherit;
}

body.page-template-page-about-law .modal {
    z-index: 999999;
}

body.page-template-page-about-law #main_wrap h1 {
    padding: inherit;
    margin-bottom: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    font-weight: inherit;
    text-align: inherit;

    display: block;
    position: relative;
    padding: 0 0 0 0;
    margin: 0 0 24px 0;
    font-size: 3.4em;
    line-height: 1.2em;
    color: #1a1a1a;
    font-weight: 400;

    letter-spacing: 1px;
}

body.page-template-page-about-law #mainimage{
    display: none;
}

body.page-template-page-about-law #contents_wrap{
    max-width: 100%;
    padding: 0 !important;
}

body.page-template-page-about-law #main_wrap{
    width: 100%;
    float: none;
}

body.page-template-page-about-law #contents_wrap p, 
body.page-template-page-about-law #contents_wrap ul, 
body.page-template-page-about-law #contents_wrap ol, 
body.page-template-page-about-law #contents_wrap dl, 
body.page-template-page-about-law #contents_wrap table, 
body.page-template-page-about-law #contents_wrap hr {
    margin-bottom: 0;
}

body.page-template-page-about-law #main_wrap h2:not(.home #main_wrap h2) {
    border-bottom: none;
}

body.page-template-page-about-law #main_wrap .lead {
    margin-top: 0 !important;
}

body.page-template-page-about-law #main_wrap h2:not(.home #main_wrap h2)::before,
body.page-template-page-about-law #main_wrap h2:not(.home #main_wrap h2)::after{
	display: none;
}

body.page-template-page-about-law #main_wrap h3:not(.home #main_wrap h3)::before,
body.page-template-page-about-law #main_wrap h3:not(.home #main_wrap h3)::after{
	display: none;
}

body.page-template-page-about-law #main_wrap h4:not(.home #main_wrap h4) {
    background: none;
    border-radius: 0;
}

body.page-template-page-about-law .ad_header_h .ad_header_subtitle span, 
body.page-template-page-about-law .ad_header_w .ad_header_subtitle span{
    color: #fff;
}

body.page-template-page-about-law .tab-container .tab-list {
    display: flex;
}

body.page-template-page-about-law #main_wrap .reason_title:not(.home #main_wrap h2){
    display: block;
    position: relative;
    padding: 12px 0 0 0;
    margin: 0 auto 18px 75px;
    text-align: left;
    font-size: 2.6em;
    line-height: 1.4em;
    font-weight: 700;
    color: #008a28;
}

body.page-template-page-about-law #main_wrap .center_title:not(.home #main_wrap h3) {
    display: block;
    position: relative;
    padding: 0 0 0 0;
    margin: 80px auto 36px auto;
    width: 90%;
    text-align: center;
    font-size: 2.1em;
    line-height: 1.2em;
    font-weight: 700;
    color: #1a1a1a;
}

body.page-template-page-about-law #main_wrap .recycled_title:not(.home #main_wrap h4) {
    display: block;
    position: relative;
    padding: 0 0 0 0;
    margin: 18px auto 0 auto;
    width: 95%;
    max-width: 1200px;
    text-align: left;
    font-size: 100%;
}

body.page-template-page-about-law #main_wrap .center_title.red:not(.home #main_wrap h3) {
    color: #c10000;
}

body.page-template-page-about-law #main_wrap .ad_part02_content .category_title:not(.home #main_wrap h2) {
    display: block;
    position: relative;
    padding: 0 0 0 0;
    margin: 0 0 14px 0;
    font-size: 2.3em;
    line-height: 1.2em;
    font-weight: 700;
    letter-spacing: 0.5px;
}

body.page-template-page-about-law #main_wrap .ad_part02_content .title:not(.home #main_wrap h3) {
    display: block;
    position: relative;
    padding: 0 0 0 0;
    margin: 0 0 14px 36px;
    font-size: 1.8em;
    line-height: 1.2em;
    font-weight: 700;
    letter-spacing: 0.5px;
}

body.page-template-page-about-law #main_wrap .ad_part03_content .category_title:not(.home #main_wrap h2) {
    display: block;
    position: relative;
    padding: 0 0 0 0;
    margin: 0 0 14px 0;
    font-size: 2.3em;
    line-height: 1.2em;
    font-weight: 700;
}

body.page-template-page-about-law #main_wrap .ad_part04_content #part04 .sub_title:not(.home #main_wrap h2) {
    display: block;
    position: relative;
    padding: 0 0 0 0;
    margin: 0 0 14px 18px;
    font-size: 2.1em;
    line-height: 1.2em;
    font-weight: 700;
    letter-spacing: 0.5px;
}

body.page-template-page-about-law #main_wrap table tbody th{
	width: auto;
    max-width: 480px;
    color: #1a1a1a;
/*    background-color: #ddf0d3;*/
    background-color: #e7f0e3;
    font-size: 1em;
    font-weight: 700;
    text-align: center;
    overflow-wrap: break-word;
    word-wrap: break-word;
    white-space: normal;
    vertical-align: middle;
}

body.page-template-page-about-law #main_wrap .table-container2 .table2 .red {
    font-size: 1.1em;
    font-weight: 700;
    color: #ff3d27;
}



/* 資源価格の上昇の２つの図 */
body.page-template-page-about-law .graph_01{
	display: flex;
	gap: 8%;
}


body.page-template-page-about-law .graph_01 > *{
	width: 46%;
}

body.page-template-page-about-law .graph_01 figure {
  margin: 1.5rem 0;
}

body.page-template-page-about-law .graph_01 figcaption {
  margin-top: 0.75rem;
  font-size: 0.95rem;
}

body.page-template-page-about-law .graph_01 figcaption > *{
    width: 100%;
}

body.page-template-page-about-law .graph_01 figcaption .source {
  margin-top: 0.5rem;
  font-size: 0.85rem;
    text-align: right;
}

body.page-template-page-about-law .graph_01 .graph-data-wrapper {
  margin: 1.5rem 0 2rem;
}

body.page-template-page-about-law .graph_01 .graph-data-wrapper table {
  width: 100%;
  border-collapse: collapse;
}

body.page-template-page-about-law .graph_01 .graph-data-wrapper th,
body.page-template-page-about-law .graph_01 .graph-data-wrapper td {
  border: 1px solid #ccc;
  padding: 0.4rem 0.6rem;
  text-align: right;
}

body.page-template-page-about-law .graph_01 .graph-data-wrapper th[scope="row"] {
  text-align: left;
}

body.page-template-page-about-law .graph_01 .graph-data-wrapper thead th {
  background-color: #008a28;
}

body.page-template-page-about-law .graph_01 .graph-data-wrapper .note {
  font-size: 0.85rem;
  margin-bottom: 0.5rem;
}



/*------------------------------------------------------------------------
◆早わかり「認定制度」
------------------------------------------------------------------------*/
body.page-template-page-about-certification i {
    color: inherit;
}

body.page-template-page-about-certification .modal {
    z-index: 999999;
}

body.page-template-page-about-certification #main_wrap h1 {
    padding: inherit;
    margin-bottom: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    font-weight: inherit;
    text-align: inherit;

    display: block;
    position: relative;
    padding: 0 0 0 0;
    margin: 0 0 24px 0;
    font-size: 3.4em;
    line-height: 1.2em;
    color: #fff;
    font-weight: 400;
    letter-spacing: 1px;
}

body.page-template-page-about-certification #mainimage{
    display: none;
}

body.page-template-page-about-certification #contents_wrap{
    max-width: 100%;
    padding: 0 !important;
}

body.page-template-page-about-certification #main_wrap{
    width: 100%;
    float: none;
}

body.page-template-page-about-certification #contents_wrap p, 
body.page-template-page-about-certification #contents_wrap ul, 
body.page-template-page-about-certification #contents_wrap ol, 
body.page-template-page-about-certification #contents_wrap dl, 
body.page-template-page-about-certification #contents_wrap table, 
body.page-template-page-about-certification #contents_wrap hr {
    margin-bottom: 0;
}

body.page-template-page-about-certification #main_wrap h2:not(.home #main_wrap h2) {
    border-bottom: none;
}

body.page-template-page-about-certification #main_wrap .lead {
    margin-top: 0 !important;
}

body.page-template-page-about-certification #main_wrap h2:not(.home #main_wrap h2)::before,
body.page-template-page-about-certification #main_wrap h2:not(.home #main_wrap h2)::after{
	display: none;
}

body.page-template-page-about-certification #main_wrap h3:not(.home #main_wrap h3)::before,
body.page-template-page-about-certification #main_wrap h3:not(.home #main_wrap h3)::after{
	display: none;
}

body.page-template-page-about-certification #main_wrap h4:not(.home #main_wrap h4) {
    background: none;
    border-radius: 0;
}

body.page-template-page-about-certification .ad_header_h .ad_header_subtitle span, 
body.page-template-page-about-certification .ad_header_w .ad_header_subtitle span{
    color: #000000;
}

body.page-template-page-about-certification .ad_header_h .ad_header_subtitle span *, 
body.page-template-page-about-certification .ad_header_w .ad_header_subtitle span *{
    color: #000000;
}

body.page-template-page-about-certification .tab-container .tab-list {
    display: flex;
}

body.page-template-page-about-certification #main_wrap .license_part01_content h2.title:not(.home #main_wrap h2) {
    display: block;
    position: relative;
    padding: 0 24px 0 24px;
    margin: 0 0 14px 18px;
    font-size: 2.6em;
    line-height: 1.1em;
    color: #1a1a1a;
    font-weight: 700;
    letter-spacing: 0.5px;
}

body.page-template-page-about-certification #main_wrap .license_part01_content h3.sub_title:not(.home #main_wrap h3) {
    display: block;
    position: relative;
    padding: 0 18px 0 38px;
    margin: 0 0 8px 0;
    font-size: 1.6em;
    line-height: 1.2em;
    color: #08789b;
    font-weight: 700;
    letter-spacing: 0.5px;
}

body.page-template-page-about-certification #main_wrap .license_part02_title_inner .lead {
    display: block;
    position: relative;
    padding: 18px 0 36px 38px;
    margin: 0 0 0 130px;
    font-size: 1.3em;
    color: #1a1a1a;
    line-height: 1.6em;
    font-weight: 400;
    letter-spacing: 1px;
}

body.page-template-page-about-certification #main_wrap .license_part02_content h2.ti:not(.home #main_wrap h2) {
    display: block;
    position: relative;
    padding: 4px 0 4px 12px;
    margin: 0 0 28px 0;
    font-size: 2.1em;
    line-height: 1.2em;
    font-weight: 700;
    letter-spacing: 1px;
    text-indent: 0;
    color: #007b06;
    border-left: 7px solid #007b06;
}

body.page-template-page-about-certification #main_wrap .license_part02_content h3.subti:not(.home #main_wrap h3){
    display: block;
    position: relative;
    padding: 0 0 0 0;
    margin: 0 0 0 36px;
    font-size: 1.6em;
    line-height: 1.2em;
    font-weight: 700;
    letter-spacing: 1px;
    text-indent: 0;
}

body.page-template-page-about-certification #main_wrap .license_part02_content h4.remarks:not(.home #main_wrap h4){
    display: block;
    position: relative;
    padding: 8px 0 0 0;
    margin: 0 0 0 64px;
    font-size: 1.2em;
    line-height: 1.2em;
    font-weight: 700;
    letter-spacing: 1px;
    text-indent: 0;
}

body.page-template-page-about-certification #main_wrap .license_part03_content .title:not(.home #main_wrap h2){
    display: block;
    position: relative;
    padding: 0 0 0 0;
    margin: 0 auto 14px auto;
    width: 95%;
    max-width: 1350px;
    font-size: 2.1em;
    line-height: 1.1em;
    color: #1a1a1a;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-align: left;
}

body.page-template-page-about-certification #main_wrap .license_part03_content .sub_title:not(.home #main_wrap h3){
    display: block;
    position: relative;
    padding: 0 0 0 60px;
    margin: 0 0 8px 0;
    font-size: 1.6em;
    line-height: 1.2em;
    color: #08789b;
    font-weight: 700;
    letter-spacing: 0.5px;
}

body.page-template-page-about-certification #main_wrap .license_part03_content .paragraph:not(.home #main_wrap h4){
    display: block;
    position: relative;
    padding: 0 0 0 78px;
    margin: 0 0 8px 0;
    font-size: 1.4em;
    line-height: 1.2em;
    color: #1a1a1a;
    font-weight: 700;
    letter-spacing: 0.5px;
}

body.page-template-page-about-certification #main_wrap .license_part04_content h2.ti:not(.home #main_wrap h2){
    display: block;
    position: relative;
    padding: 4px 0 4px 12px;
    margin: 0 0 28px 0;
    font-size: 2.1em;
    line-height: 1.2em;
    font-weight: 700;
    letter-spacing: 1px;
    text-indent: 0;
    color: #007b06;
    border-left: 7px solid #007b06;
}

body.page-template-page-about-certification #main_wrap .table-container .table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    max-width: 1100px;
    background-color: #f5f5f5;
    margin: 0 auto 28px auto;
}

body.page-template-page-about-certification #main_wrap .table-container .table02 {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    max-width: 1100px;
    background-color: #f5f5f5;
    margin: 0 auto 24px auto;
}

body.page-template-page-about-certification #main_wrap .table-container .table tbody tr th.table_cell {
    width: 25%;
    max-width: 280px;
    font-size: 1.3em;
    background-color: #c1db84;
    font-weight: 400;
    color: #1a1a1a;
    word-wrap: break-word;
    white-space: normal;
    vertical-align: top;
}

body.page-template-page-about-certification #main_wrap .table-container .table tbody tr:nth-child(odd) th.table_cell {
    background-color: #e1ed93;
}

body.page-template-page-about-certification #main_wrap .table-container .table02 tbody tr th.table_cell {
    width: 25%;
    max-width: 280px;
    font-size: 1.3em;
    color: #1a1a1a;
    background-color: #B4E5A2;
    font-weight: 400;
    overflow-wrap: break-word;
    word-wrap: break-word;
    white-space: normal;
    vertical-align: top;
}

body.page-template-page-about-certification #main_wrap .table-container .table02 tbody tr:nth-child(odd) th.table_cell {
    background-color: #D9F2D0;
}



body.page-template-page-about-certification #animation_container {
	position:absolute;
	margin:auto;
	left:0;
	right:0;
	top:0;
	bottom:0;
}


/* アニメーションコンテナを画面幅にフィットさせる */
body.page-template-page-about-certification .license_part03_content .iframe03{
    margin: 80px auto 40px;
}

#iframe_animation_wrapper,
.iframe03 #animation_container {
  max-width: 100%;
  width: 100%;
  position: relative;
  margin: 0 auto;
}

/* canvas とオーバーレイをコンテナ幅に合わせて縮小 */
.iframe03 #animation_container canvas,
.iframe03 #animation_container #dom_overlay_container {
  width: 100% !important;
  height: auto !important;
  max-width: 100%;
  display: block;
}

/* アニメーションコンテナを画面幅にフィットさせる */
body.page-template-page-about-certification .license_part03_content #process_text {
    text-align: center;
    position: relative;
    z-index: 1;
}

body.page-template-page-about-certification .license_part03_content #process_text a{
    text-decoration: underline;
}

body.page-template-page-about-certification .license_part03_content #process_text a:hover{
    text-decoration: none;
}


/*------------------------------------------------------------------------
◆認証制度の概要
------------------------------------------------------------------------*/
.page-id-365 .envg-block-columns.envg-container-core-columns-is-layout-9d6595d7{
    gap: 40px 4%;
}

/*------------------------------------------------------------------------
◆報告・公表制度
------------------------------------------------------------------------*/
.page-disclosure .envg-block-buttons>.envg-block-button.envg-block-button__width-50 {
    min-width: 300px;
	text-align: center;
}

.page-disclosure .envg-block-buttons>.envg-block-button.has-custom-width .envg-block-button__link {
    width: 100%;
    min-width: 300px;
	line-height: 1.4;
}

/*------------------------------------------------------------------------
◆広報ツール
------------------------------------------------------------------------*/
.page-pr-tools .envg-block-image:has(.envg-image-1645){
	max-width: 80%;
    margin: 64px auto;
}

.page-pr-tools .envg-container-core-columns-is-layout-9d6595d7{
	gap: 4%;
}

/*------------------------------------------------------------------------
◆コンテンツ下部
------------------------------------------------------------------------*/
aside.contents_bottom{
	clear: both;
	margin-top: 32px;
	line-height: 1.618;
}



/*------------------------------------------------------------------------
◆サブメニュー
------------------------------------------------------------------------*/
#sidenav_wrap{
	margin-bottom: 32px;
}

#sidenav_wrap h2#sidenav_parent{
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
    font-size: 100%;
}

#sidenav_wrap h2#sidenav_parent a{
    padding: 14px 16px;
    font-weight: normal;
    font-size: 100%;
	line-height: 140%;
    font-weight: bold;
    color: #fff;
    background: #008a17;
    box-sizing: border-box;
}

#sidenav_wrap h2#sidenav_parent.current a {
    background: #008a17 !important;
    color: #fff;
}

#sidenav_wrap h2#sidenav_parent a:hover {
    background: #008a17;
    color: #fff;
}

#sidenav_wrap h2 a{
	display: block;
	color: #333333;
	border-top: none;
    border-bottom: none;
	text-decoration: none;
	overflow: hidden;
	line-height: 140%;
	padding: 16px 16px 16px 32px;
	position: relative;
    font-size: 90%;
    border-bottom: 1px solid #ccc;
}

#sidenav ul{
	margin-bottom: 0px !important;
	font-size: 100%;
}

#sidenav li{
	position: relative;
}

#sidenav li a{
	display: block;
	color: #333333;
	border-top: none;
    border-bottom: none;
	text-decoration: none;
	overflow: hidden;
	padding: 16px;
    font-size: 100%;
	line-height: 140%;
    border-bottom: 1px solid #ccc;
	position: relative;
}

#sidenav li a:hover{
	background: #faf7d5;
	color: #333333;
}

#sidenav li a:hover:before{
}

#sidenav > li > a{ /* 子ページ */
	background: #f1f7f2;
}

#sidenav ul.children{ /* 孫ページ */
	display: none;
	background: #e8e8e8;
}

#sidenav li.current_page_item ul.children,
#sidenav li.current_page_parent ul.children{
	display: block;
}

#sidenav ul.children li a{
	padding: 12px 12px 12px 40px;
}

#sidenav ul.children li a:before{
    content: "";
    position: absolute;
    border-right: 2px solid #008a17;
    border-top: 2px solid #008a17;
    width: 5px;
    height: 5px;
    left: 24px;
    top: calc(50% - 3px);
    margin-top: 0;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

#sidenav ul.children ul.children li a{
	padding: 12px 12px 12px 56px;
}

#sidenav ul.children ul.children li a:before{
	position: absolute;
    top: 0.95em;
    left: 44px;
}

/* 今いる階層内のメニューのみ表示 */
#sidenav li.current-menu-ancestor,
#sidenav li.current-menu-ancestor ul.sub-menu li,
#sidenav li.current-menu-item ul.sub-menu li,
#sidenav li.menu-parent-item.current-menu-item,
#sidenav li.current-post-ancestor,
#sidenav li.current-post-ancestor ul.sub-menu li,
#sidenav li.current-menu-item,
#sidenav li.current-post-ancestor ul.sub-menu,
#sidenav li.current-category-parent ul.sub-menu,
#sidenav li.menu-item-object-category.current-menu-item ul.sub-menu{
	display: block;
}

/* 親ページ */
#sidenav > li.menu-parent-item.current-menu-item > a,
#sidenav > li.menu-parent-item > a{
    display: block;
    color: #333333;
    border-top: 1px solid #E2E2E2;
    border-bottom: 1px solid #E2E2E2;
    text-decoration: none;
    overflow: hidden;
    padding: 12px 1em;
    font-size: 104%;
    font-weight: bold;
    text-shadow: none;
}

#sidenav > li.menu-parent-item.current-menu-item > a{
	color: #FFF;
	background: #E2E9FC;
	display: block;
}

#sidenav > li.menu-parent-item.current-menu-item > a:hover,
#sidenav > li.menu-parent-item > a:hover{
	color: #FFF;
	background: #E2E9FC;
}


#sidenav > li.menu-parent-item.current-menu-item > a:before,
#sidenav > li.menu-parent-item > a:before{
	display: none;
}


/* 起点ページ(親ページ) */
#sidenav .current_page_parent > a{
}

#sidenav .current_page_parent > a:before{
	/*display: none;*/
}

/* 子ページ */
#sidenav > li > ul.sub-menu{
	display: none;
	margin-bottom: 0 !important;
}

#sidenav > li > ul.sub-menu > li > a{
	padding: 10px 1em 10px 2em;
}

#sidenav > li.current_page_ancestor > ul.sub-menu,
#sidenav > li.current_page_item > ul.sub-menu{
	display: block;
}

#sidenav > li > ul.sub-menu > li > a:hover:before{
	content:'';
}

/* 孫ページ */
#sidenav > li > ul.sub-menu > li > ul.sub-menu{
	background: #f4f4f4;
}

#sidenav > li > ul.sub-menu > li > ul.sub-menu > li > a{
	position: relative;
	padding: 10px 1em 10px 2em;
}

#sidenav > li > ul.sub-menu > li > ul.sub-menu > li > a:before{
    display: block;
    position: absolute;
    top: 10px;
    left: 1em;
}

/* ひ孫ページ */
#sidenav ul.sub-menu ul.sub-menu{
	display:none;
}

/* 今いる階層内のひ孫ページのみ表示 */
#sidenav li.current-menu-ancestor li.current-menu-ancestor ul.sub-menu,
#sidenav li.current-menu-ancestor li.current-menu-ancestor ul.sub-menu li ul.sub-menu,
#sidenav li.current-menu-parent li.menu-parent-item.current-menu-item ul.sub-menu,
#sidenav li.current-post-ancestor li.current-post-ancestor ul.sub-menu,
#sidenav li.current-post-ancestor li.current-post-ancestor ul.sub-menu li ul.sub-menu,
#sidenav li.current-menu-item{
	display:block;
}

/* 現在のページ */
#sidenav li.current-menu-item > a,
#sidenav li.current-post-parent > a{
	background: #E2E9FC;
	border-top: none !important;
	color:#FFFFFF !important;
}

#sidenav li.current-menu-item > a:hover,
#sidenav li.current-post-parent > a:hover{
	border-top: none !important;
}

#sidenav li.current_page_item > a {
    background-color: #faf7d5;
    color: #333;
}

#sidenav li.current_page_item > a:before,
#sidenav li.menu-item-object-category.current-menu-item > a:before,
#sidenav li.menu-item-object-category.current-post-parent > a:before{

}

/* 子ページが現在地 */
#sidenav li.page_item_has_children > a::before,
#sidenav li.page_item_has_children > a::after{
	content: "";
    display: block;
    width: 1px;
    height: 16px;
    background: #008a17;
    border: none;
    position: absolute;
    top: 50%;
    left: auto;
    right: calc(4% + 8px);
}

#sidenav li.page_item_has_children > a::before{
    margin-right: 1px;
    top: calc(50% - 8px);
    right: calc(4% + 8px);
}

#sidenav li.page_item_has_children > a::after{
	transform: translate(-50%, -50%) rotate(90deg);
}

/* 子ページ　孫ページ（配下ページ）に現在地 */
#sidenav li.page_item_has_children.current_page_item > a::before,
#sidenav li.page_item_has_children.current_page_parent > a::before{
	display: none;
}

/*--------------------------------------------------------------------------
◆サブコンテンツ
--------------------------------------------------------------------------*/
#sub_wrap h2{
	clear: both;
	margin-top: 0 !important;
    padding: 0 0 8px;
	/*border-bottom: 1px solid #ccc;*/
    background: none;
    box-shadow: none;
    color: #333;
    font-size: 110%;
}

#sub_wrap h2:before{
	display: none;
}

#sub_wrap > * {
	margin-bottom: 16px;
}

#sub_wrap a:hover img{
	opacity: 0.8;
}

#sub_wrap > div img{
	max-width: 100%;
	width: auto;
	height: auto;
}

#sub_wrap > div > img{
	vertical-align: bottom;
	margin-bottom: 24px;
}

#sub_wrap > div > a img{
	vertical-align: bottom;
	margin-bottom: 24px;
}

#sub_wrap .sidebar_bottom_widget .simple-image img{
	width: auto;
    margin-right: auto;
    margin-left: auto;
    display: block;
}

#sub_wrap .sidebar_bottom_widget li {
    overflow: visible !important;
    line-height: 150%;
    padding: 8px 0;
    border-bottom: 1px solid #ccc;
}

#sub_wrap .sidebar_bottom_widget li:first-child {
    border-top: 1px solid #ccc;
}

#sub_wrap .sidebar_bottom_widget li span{
	display: block;
    font-size: 80%;
}

/* プロフィール */
#sub_wrap .profile{
    margin-bottom: 24px;
	padding: 16px;
	border: 1px solid #ccc;
}

#sub_wrap .profile img{
	float: right;
	width: auto;
}

#sub_wrap .profile dt{
	font-weight: bold;
	color: #333;
	margin-top: 0.8em;
}

#sub_wrap .profile dl,
#sub_wrap .profile dd{
    margin-bottom: 0px !important;
	font-size: 96%;
}

#sub_wrap .profile dl > dd:first-child + dt{
    margin-top: 0px !important;
}



/*--------------------------------------------------------------------------
◆テーブル
--------------------------------------------------------------------------*/
table{
	width: 100%;
	line-height: 160%;
	margin: 0 auto;
}

table th,
table td{
	border: 1px solid #E6E6E6;
	padding: 8px;
}

table thead th{
	background: #999;
	color: #fff;
	font-weight: bold;
}

table td{
	text-align: left;
	background: #FFFFFF;
	text-wrap: pretty;
}

table tbody th{
	text-align: left;
    background: #008a17;
    color: #fff;
	font-weight: bold;
	width: 24%;
}

table td *{
	margin-bottom: 0em !important;
}

table td ul.catch{
	margin-bottom: 0em !important;
}

table td ul.catch li{
	margin-bottom: 0.4em !important;
}

table td ul.catch li:last-of-type{
	margin-bottom: 0em !important;
}

table td ul.catch br{
	display: none !important;
}

table td *:last-of-type{
	margin-bottom: 0 !important;
}

.envg-block-file:not(.envg-element-button) {
    font-size: 1em;
}

#main_wrap .envg-block-media-text.is-image-fill .envg-block-media-text__media img{ /* レイアウト崩れの直し */
	width: 1px;
}

.envg-block-image .aligncenter>figcaption, .envg-block-image .alignleft>figcaption, .envg-block-image .alignright>figcaption, .envg-block-image.aligncenter>figcaption, .envg-block-image.alignleft>figcaption, .envg-block-image.alignright>figcaption{
    display: block;
}



/*--------------------------------------------------------------------------
◆カテゴリー
--------------------------------------------------------------------------*/

/* ニュース
------------------------------------------------------------------------*/
.categories .category-poster{
    background-color: #b63b3b !important;
}

.categories .category-case{
    background-color: #267ab4 !important;
}

.categories .category-application{
    background-color: #4f8206 !important;
}

.categories .category-news{
    background-color: #008a17 !important;
}



.category.archive #main_wrap {
    float: none;
}

.category.archive #main_wrap .section{
	width: 100%;
	margin: 0 auto;
	padding: 0;
	overflow: visible;
}

.category.archive #main_wrap .section a {
    position: relative;
}

.category.archive #main_wrap .section a[href]:after{
    content: "";
    position: absolute;
    border-right: 3px solid #008a17;
    border-top: 3px solid #008a17;
    width: 12px;
    height: 12px;
    right: 4px;
    top: calc(50% - 6px);
    margin-top: 0;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

.category.archive #main_wrap .section.mainimage{
	background-size: cover !important;
}

.category.archive #main_wrap .section.mainimage .section_wrap{
	display: table;
}

.category.archive #main_wrap .section.mainimage .section_wrap h1{
	display: table-cell;
	vertical-align: middle;
	color: #333;
}

.category.archive #main_wrap a{
	text-decoration:none;
}

.category.archive #main_wrap .section.mainimage h1{
	font-size: 168%;
	font-weight: bold;
	line-height: 1;
	padding: 8px 24px;
	line-height: 124%;
}

.category.archive #main_wrap .category_description{
	padding: 32px 0 0;
}

.category.archive #main_wrap .category_description *:last-child{
	margin-bottom: 0;
}

.category.archive #main_wrap a{
	text-decoration:none;
}

.category.archive #main_wrap .section_wrap > ul{
	margin-top: 16px;
	margin-left: 0 !important;
	margin-bottom: 0 !important;
}

.category.archive #main_wrap a.box{
	display: block;
	clear: both;
	overflow: hidden;
	color: #333;
	background: #FFFFFF;
	border-bottom: 1px solid #d3d3d3;
	border-top: none;
}

.category.archive #main_wrap li:first-child a.box{
	border-top: 1px solid #d3d3d3;
}

.category.archive #main_wrap a.box .info_title {
	clear: none !important;
	padding: 0 !important;
	margin-bottom: 0.4em !important;
	font-size: 128% !important;
	font-weight: bold !important;
	text-align: left;
}

.category.archive #main_wrap a[href].box:hover{
	opacity: 0.8;
}

.category.archive #main_wrap a.box .imgleft {
	float: right;
	margin-right: 0;
	line-height: 0;
	padding: 24px 0;
	width: 18%;
}

.category.archive #main_wrap a.box .imgleft img{
	width: 100% !important;
	margin: 0 !important;
}

.category.archive #main_wrap a.box .imgleft.icon img{
	padding: 40px;
	background: #f4f4f4;
	box-sizing: border-box;
}

.category.archive #main_wrap a.box .info_wrap {
	padding: 24px 72px 24px 0;
}

.category.archive #main_wrap a.box *{
	overflow: hidden;
}

.category.archive #main_wrap a.box p{
	margin-bottom: 0 !important;
}

.category.archive #main_wrap a.box .status{
    display: flex;
	margin-bottom: 0.8em !important;
	font-size: 88%;
}

.category.archive #main_wrap .status .tag {
	display: none;
}

.category.archive #main_wrap a.box .category {
    display: inline-block;
    padding: 6px;
    min-width: 108px;
    text-align: center;
    border-radius: 4px;
    background: #333;
    color: #fff;
    font-size: 80%;
    line-height: 1;
    margin-right: 0;
}

.category.archive #main_wrap .status .newmark {
	margin-left: 8px;
}

.category.archive #main_wrap a.box .excerpt{
	font-size: 88%;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.category.archive #main_wrap a.box li.place{
	margin-top: 0.4em;
}

.category.archive #main_wrap h2{
	background:none !important;
	padding-left:0 !important;
}

.category.archive #main_wrap .noevent{
	padding: 1em !important;
	background: #FFFFFF;
	-moz-box-shadow: 0px 0px 2px 0 #aaabac;
	-webkit-box-shadow: 0px 0px 2px 0 #aaabac;
	box-shadow: 0px 0px 2px 0 #aaabac;
}

.category.archive #main_wrap .noevent p{
	margin-bottom:0 !important;
}


/*--------------------------------------------------------------------------
◆アーカイブ
--------------------------------------------------------------------------*/
.archive #main_wrap .section{
	width: 100%;
	margin: 0 auto;
	padding: 0;
	overflow: visible;
}

.archive.date #main_wrap .section{
	overflow: visible;
}

.archive.date #main_wrap .section h1{
	font-size: 168%;
	font-weight: bold;
	line-height: 1;
	padding: 8px 24px;
	line-height: 124%;
}

.archive.date .widget.widget_recent_entries li{
	background:url(../images/common/catch.png.webp) no-repeat 0.2em 0.5em;
	padding-left: 16px;
}

.archive.date #main_wrap dl{
	margin-top: 24px;
}

.archive.date #main_wrap dt.title{
    font-size: 110%;
}

.archive.date #main_wrap dd.excerpt{
	margin-bottom: 0 !important;
}


/*--------------------------------------------------------------------------
◆アーカイブ
--------------------------------------------------------------------------*/
.blog #main_wrap .section{
	width: 100%;
	margin: 0 auto;
	padding: 0;
	overflow: visible;
}

.blog #main_wrap .section.mainimage{
	background-size: cover !important;
}

.blog #main_wrap .section.mainimage .section_wrap{
	display: table;
}

.blog #main_wrap .section.mainimage .section_wrap h1{
	display: table-cell;
	vertical-align: middle;
	color: #333;
}

.blog #main_wrap a{
	text-decoration:none;
}

.blog #main_wrap .section.mainimage h1{
	font-size: 168%;
	font-weight: bold;
	line-height: 1;
	padding: 8px 24px;
	line-height: 124%;
}

.blog #main_wrap .category_description{
	padding: 32px 0 0;
}

.blog #main_wrap .category_description *:last-child{
	margin-bottom: 0;
}

.blog #main_wrap a{
	text-decoration:none;
}

.blog #main_wrap .section_wrap > ul{
	margin-top: 16px;
	margin-left: 0 !important;
	margin-bottom: 0 !important;
}

.blog #main_wrap a.box{
	display: block;
	clear: both;
	overflow: hidden;
	color: #333;
	background: #FFFFFF;
	border-bottom: 1px solid #d3d3d3;
	border-top: none;
}

.blog #main_wrap li:first-child a.box{
	border-top: 1px solid #d3d3d3;
}

.blog #main_wrap a.box h1 {
	clear: none !important;
	padding: 0 !important;
	margin-bottom: 0.4em !important;
	font-size: 152% !important;
	font-weight: bold !important;
}

.blog #main_wrap a:hover.box{
	background: #F4F4F4;
}

.blog #main_wrap a.box .imgleft {
	float: right;
	margin-right: 0;
	line-height: 0;
	padding: 24px 0;
	padding-left: 24px;
	width: 18%;
}

.blog #main_wrap a.box .imgleft img{
	width: 100% !important;
	margin: 0 !important;
}

.blog #main_wrap a.box .imgleft.icon img{
	padding: 40px;
	background: #f4f4f4;
	box-sizing: border-box;
}

.blog #main_wrap a.box .info_wrap {
	padding: 24px 0;
}

.blog #main_wrap a.box *{
	overflow: hidden;
}

.blog #main_wrap a.box p{
	margin-bottom: 0 !important;
}

.blog #main_wrap a.box .status{
	margin-bottom: 0.8em !important;
	font-size: 88%;
}

.blog #main_wrap .status .tag {
	display: none;
}

.blog #main_wrap .status .newmark {
	margin-left: 8px;
}

.blog #main_wrap a.box .excerpt{
	font-size: 88%;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.blog #main_wrap a.box li.place{
	margin-top: 0.4em;
}

.blog #main_wrap h2{
	background: none !important;
	padding-left: 0 !important;
}

.blog #main_wrap .noevent{
	padding: 1em !important;
	background: #FFFFFF;
	-moz-box-shadow: 0px 0px 2px 0 #aaabac;
	-webkit-box-shadow: 0px 0px 2px 0 #aaabac;
	box-shadow: 0px 0px 2px 0 #aaabac;
}

.blog #main_wrap .noevent p{
	margin-bottom: 0 !important;
}

/*--------------------------------------------------------------------------
◆タグ
--------------------------------------------------------------------------*/
body.tag #main_wrap ul.tags{
	margin-top: 8px;
}

body.tag #main_wrap ul.tags li.tag{
	display: inline-block;
	color: #333333;
	font-size: 72%;
	text-decoration: none;
	border: 1px solid #ccc;
	padding: 2px 8px;
	margin-right: 8px;
	margin-bottom: 8px;
	background: none;
}

body.tag #main_wrap .section_wrap dl{
    margin-top: 16px;
}

body.tag #main_wrap .section_wrap dl dt{
    font-weight: bold;
	font-size: 120%;
}

/*------------------------------------------------------------------------
◆ページナビ
------------------------------------------------------------------------*/
.pagination {
	clear: both;
	padding: 16px 0;
	position: relative;
	line-height: 1;
}
  
.pagination span,
.pagination a {
	display: block;
	float: left;
	margin: 2px 6px 2px 0;
	padding: 14px 16px 14px 16px;
	text-decoration: none;
	width: auto;
	color: #333333;
	background: #FFFFFF;
	border: 1px solid #ccc;
}
  
.pagination a:hover{
	color: #fff;
	background: #008a17;
}

.pagination .current{
	padding: 14px 16px 14px 16px;
	background: #008a17;
	color: #fff;
}



/*--------------------------------------------------------------------------
◆ページ上部
--------------------------------------------------------------------------*/
#pagenav {
	display: none;
	position: fixed;
	bottom: 4%;
	right: 4%;
	padding: 0;
	margin-bottom: 0 !important;
	z-index: 9999;
}

#pagenav li{
	background: none;
	padding-left: 0 !important;
}

#pagenav a{
	display: block;
	width: 52px;
	height: 52px;
	background: url(../images/common/pagetop.webp) no-repeat center center;
	background-color: #4c4c4c;
    border-radius: 48px;
	cursor: pointer;
}

#pagenav a:hover{
	opacity: 0.8;
}



/*--------------------------------------------------------------------------
◆フッター
--------------------------------------------------------------------------*/
#footer_container{
	clear: both;
	overflow: hidden;
    margin-top: 104px;
}

.home #footer_container{
    margin-top: 0;
}

#footer_container_top{
    background: #fff;
	border-top: 1px solid #CCC;
}

#footer_wrap_top, 
#footer_wrap_middle{
    max-width: 1200px;
    padding: 0;
}

#footer_wrap_top{
    width: 180px;
    height: 180px;
    margin: 0px auto;
    margin-top: -90px;
    padding: 8px 0;
    background: #fff;
    border-radius: 200px;
    font-size: 72%;
    text-align: center;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: calc(50% - 90px);
}

#footer_wrap_top *{
	text-align: center;
	color: #333;
}

#footer_wrap_top ul#fnav_top{
	padding: 0 4%;
}

#footer_wrap_top ul#fnav_top li{
	display: inline;
	line-height: 2;
}

#footer_wrap_top ul#fnav_top li a{
	white-space: nowrap;
	text-decoration: none;
}

#footer_wrap_top ul#fnav_top li:first-child:before{
	padding-left: 12px;
	padding-right: 12px;
}

#footer_wrap_top ul#fnav_top li:after{
    padding-left: 12px;
    margin-right: 8px;
}

#footer_container_middle,
#footer_container_bottom{
	background-color: #008a17;
}

#footer_container_middle{
    padding-bottom: 40px;
}

#footer_wrap_middle{
	margin: 0px auto;
	overflow: hidden;
    font-size: 100%;
	text-align: center;
    box-sizing: border-box;
}

#footer_wrap_middle *{
	color: #fff;
}

#footer_wrap_middle ul#fnav_center_right li.menu-item.menu-item-640{
	margin-bottom: 1em;
}

#footer_middle_info {
	float: left;
	text-align: left;
	color: #fff;
    margin: 24px 0 48px;
}

#footer_wrap_middle #footer_middle_info {
    margin: 54px 0;
}

#footer_middle_info .name {
    max-width: 488px;
	font-weight: bold;
    margin-bottom: 0.4em;
    font-size: 116%;
}

#footer_middle_info a{
	text-decoration: underline;
}

#footer_middle_info a:hover{
	text-decoration: none;
}

#footer_middle_menu {
	display: flex;
    justify-content: space-between;
    width: 88%;
	margin: 24px auto;
	text-align: left;
	color: #fff;
}

#footer_middle_menu .fnav_container{
    width: 100%;
	padding-right: 2%;
	/* 枠調整 */
    width: auto;
    max-width: 200px;
    min-width: 100px;
}

#fnav_to_home{
	font-weight: bold;
}

.fnav_container a{
	text-decoration: none;
}

ul.fnav li{
	margin-top: 0.4em;
}

ul.fnav > li:first-child{
	margin-top: 0;
}

ul.fnav li a{
    display: block;
    line-height: 1.6;
	color: #fff;
	text-decoration: none;
}

.fnav_container a:hover{
	text-decoration: underline;
}

ul.fnav ul.sub-menu li{
	padding-left: 14px;
	position: relative;
}


ul.fnav li ul.sub-menu li:before{
	margin-right: 8px;
	left: 0;
	position: absolute;
}

ul.fnav li ul.sub-menu li:before{
    content: "";
    position: absolute;
    border-right: 2px solid #ffffff;
    border-top: 2px solid #ffffff;
    width: 4px;
    height: 4px;
    margin-top: 0;
    margin-right: 8px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    top: 0.65em;
    right: auto;
    left: 0;
}

#fnav{
	text-align: right;
}

#fnav li{
	display: inline;
}

#fnav li:before {
    content: "";
    margin-right: 0px;
    margin-left: 24px;
}

#fnav li:first-child:before{
	display: none;
}

#fnav_to_home {
    width: 40% !important;
	/* 枠調整 */
    width: auto !important;
}

.fnav_container #fnav_to_home a,
.fnav_container .fnav > li > a{
    display: block;
	font-weight: bold;
	line-height: 1.4;
}

#footer_container_bottom {
    overflow: hidden;
	font-size: 100%;
}

#footer_container_bottom{
	background-color: #0a6419;
	padding: 0;
}

#footer_container_bottom .g-footer{
	color: #fff;
}

#footer_container_bottom .g-footer .l-inner{
	padding: 1rem 30px 1.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 12px 24px;
}

#footer_container_bottom .g-footer .site-logo{
	margin-right: 2.5625rem;
}

#footer_container_bottom .g-footer .site-logo img{
	max-height: 40px;
	width: auto;
}

#footer_container_bottom .g-footer__address{
	margin: 0;
	line-height: 1.6;
    word-break: auto-phrase;
}

#footer_container_bottom .g-footer__address .tel{
	white-space: nowrap;
}

#footer_container_bottom .g-footer__nav{
	margin: 1.25rem 0 0;
	text-align: center;
}

#footer_container_bottom .g-footer__nav a{
	display: inline-block;
	margin: 0 1.125rem;
	color: #333333;
	text-decoration: underline;
}

#footer_container_bottom .g-footer__nav a:hover{
	text-decoration: none;
}

#footer_container_bottom .g-footer__copyright{
	font-size: 0.875rem;
	text-align: center;
}

#footer_wrap_bottom {
	border-top: none;
	margin: 0;
    overflow: hidden;
}

#footer_wrap_bottom > div{
    padding: 24px 0;
    font-size: 100%;
	margin: 0 4%;
}

#footer_wrap_bottom > .footer_info_wrap{
    padding: 24px 4%;
    margin: 0;
    background: #fff;
}

#footer_wrap_bottom > .footer_info_wrap .footer_info_inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 16px 32px;
}

#footer_container_bottom #footer_wrap_copyright{
	text-align: center;
	color: #fff;
    box-sizing: border-box;
	font-size: 88%;
}

#footer_container_bottom.menu_in #fnav_btm{
	float: left;
	white-space: nowrap;
}

#footer_container_bottom.menu_in #fnav_btm li{
	display: inline;
	color: #fff;
}

#footer_container_bottom.menu_in #fnav_btm li:before{
    margin-right: 16px;
    margin-left: 16px;
	color: #fff;
}

#footer_container_bottom.menu_in #fnav_btm li:first-child:before{
	display: none;
}

#footer_container_bottom.menu_in #fnav_btm_container{
	float: left;
}

#footer_container_bottom.menu_in #footer_wrap_copyright{
	float: right;
	text-align: right;
}




/*--------------------------------------------------------------------------
◆ボトム固定
--------------------------------------------------------------------------*/
#bottom_fix_container{
	display: none;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/*--------------------------------------------------------------------------
◆続きを読む
--------------------------------------------------------------------------*/
.read_more_contents{
	display: none;
}

.read_more_btn{
	cursor: pointer;
}

/*--------------------------------------------------------------------------
◆サイトマップ
--------------------------------------------------------------------------*/
ul.children ul.children{
	margin-bottom: 0 !important;
}

.page-sitemap #main_wrap ul.page-list,
.sitemap ul.page-list{
	margin-left: 0;
	margin-bottom: 0;
}

.page-sitemap #main_wrap ul.page-list li,
.sitemap ul.page-list li{
	padding-left: 16px;
	position: relative;
}

.page-sitemap #main_wrap ul.page-list li:before,
.sitemap ul.page-list li:before{

    font-size: 72%;
    width: auto;
    position: absolute;
    top: 0.25em;
    left: 0;
}

.page-sitemap #main_wrap ul.page-list li br,
.sitemap ul.page-list li br{
	display: none;
}

.page-sitemap #main_wrap .current_page_item,
.sitemap #main_wrap .current_page_item{
	display: none;
}

.page-sitemap .category_list span,
.sitemap .category_list span{
	display: none;
}

.page-sitemap ul.page-list > li,
.page-sitemap ul.category_list > li,
.sitemap ul.page-list > li,
.sitemap ul.category_list > li{
	margin-bottom: 0.4em;
}

.page-sitemap ul.page-list .children,
.sitemap ul.page-list .children{
	margin-top: 0.4em;
    margin-bottom: 0.4em !important;
}

.page-sitemap #main_wrap ul.category_list,
.sitemap ul.category_list{
	margin-left: 0;
	margin-bottom: 0;
}

.page-sitemap #main_wrap ul.category_list li,
.sitemap ul.category_list li{
	padding-left: 16px;
	position: relative;
}

.page-sitemap #main_wrap ul.category_list li:before,
.sitemap ul.category_list li:before{

    font-size: 72%;
    width: auto;
    position: absolute;
    top: 0.25em;
    left: 0;
}

.page-sitemap #main_wrap ul.category_list li br,
.sitemap ul.category_list li br{
	display: none;
}

/*------------------------------------------------------------------------
◆検索フォーム
------------------------------------------------------------------------*/
#searchform input[type="image"],
#searchform input[type="submit"]{
	background: #0C3DBE;
	color: #FFFFFF;
	cursor: pointer;
	-webkit-appearance: none;
}

#searchform input[type="submit"]:hover{
	background: #E2E9FC;
	border: 1px solid #EEEEEE;
	color: #333333;
}

#sub_wrap #searchform{
	margin: 8px 0 24px;
}

#sub_wrap #searchform input[type="text"]{
	width: 70%;
	vertical-align: middle;
}

#sub_wrap #searchform input[type="image"]{
	padding: 6px 16px;
    vertical-align: middle;
}


/*------------------------------------------------------------------------
◆検索
------------------------------------------------------------------------*/
.search #main_wrap .section{
	overflow: visible;
}

.search #main_wrap .section h1{
	font-size: 168%;
	font-weight: bold;
	line-height: 1;
	padding: 8px 24px;
	line-height: 124%;
}

#searchform{
	margin-bottom: 24px;
}

#main_wrap form#searchform input[type="image"]{
    padding: 6px 24px;
	vertical-align: bottom;
}

#main_wrap form#searchform input[type="image"]:hover{
	opacity: 0.8;
}

#main_wrap form#searchform input[type="text"]{
    padding: 0px;
	width: 256px;
	box-sizing: border-box;
}

/*
検索結果
------------------------------------------------------------------------*/
.search-results #main_wrap h1 + div{
	margin-bottom: 2em;
}

.search-results #main_wrap dt.title{
	font-size: 116%;
}

.search-results #main_wrap dd.excerpt{
	margin-bottom: 2em;
}

.search-no-results .keyvisual_container,
.search-results .keyvisual_container{
	display: none;
}

.search-no-results #main_wrap form,
.search-results #main_wrap form{
	margin-bottom: 2em;
}

.search-results .widget_recent_entries li{
	background: url(../images/common/catch.png.webp) no-repeat 0.2em 0.5em;
	padding-left: 16px;
}

.search-results dt.title br{
	display:none;
}
.search-results .pagination{
	margin-bottom: 2em;
}

.search-results .product_menu_container{
	display:none;
}


/*--------------------------------------------------------------------------
◆メールフォーム
--------------------------------------------------------------------------*/
#main_wrap form .short{
	width:30%;
}

#main_wrap form .middle{
	width:50%;
	min-width: 290px;
}

#main_wrap form .long{
	width:100%;
}

#main_wrap form .ex{
	margin-left:10px;
	font-size:85%;
}

#main_wrap input[type="submit"] {
	display: block;
    margin: 0 auto;
	background: #0C3DBE;
	color: #FFFFFF;
	cursor: pointer;
	-webkit-appearance: none;
	padding: 8px 56px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	font: 90%/1.8 'Noto Sans JP', "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Verdana, Arial, Helvetica, sans-serif;
	font-weight: bold;
}

#main_wrap input[type="submit"]:hover {
	opacity: 0.8;
}

#sub_wrap input[type="submit"] {
	background: #EEEEEE;
	color: #333333;
	cursor: pointer;
	-webkit-appearance: none;
	padding: 4px 40px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	font: 100%/1.8 'Noto Sans JP', "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Verdana, Geneva, Arial, Helvetica, sans-serif;
}

#sub_wrap input[type="submit"]:hover {
	filter:alpha(opacity=90);
	-moz-opacity: 0.9;
	opacity: 0.9;
}

#main_wrap input[type="text"],
#main_wrap input[type="email"],
#main_wrap input[type="tel"],
#main_wrap textarea,
#main_wrap select {
	width: auto;
	box-sizing: border-box;
}

#main_wrap form .contact_confirm{
	clear: both;
}

#main_wrap form p{
	font-size: 100%;
}

#main_wrap form table{
	margin-top: 2em;
	border: none;
}

#main_wrap form fieldset{
	border: none;
}

#main_wrap form table td{
	background: none;
}

#main_wrap form table td input{
	width: 100%;
    box-sizing: border-box;
}

#main_wrap form table td input[type="radio"],
#main_wrap form table td input[type="checkbox"]{
	width: auto;
}

#main_wrap form table td textarea{
	width: 100%;
    box-sizing: border-box;
}

#main_wrap form table td ul{
	margin-bottom:0;
}

#main_wrap form table td ul li{
	background:none;
	padding-left: 2em;
	padding-top: 0.3em;
	font-size:90%;
}

#main_wrap form table td ul li:first-child{
	padding-top: 0em;
}

#main_wrap form table td textarea{
	line-height:1.6;
}

#main_wrap form table td .fax{
	margin-left:0;
}

#main_wrap form table td label input[type="checkbox"] {
	margin-right: 0.2em;
}

#main_wrap form .bt_form{
	margin: 8px auto 0;
	text-align: center;
}

#main_wrap form dl#mailform{
	font-size: 90%;
}

#main_wrap form dl#mailform dt{
    font-weight: bold;
    padding: 8px;
    margin-bottom: 8px;
    background: #f4f4f4;
}




/*--------------------------------------------------------------------------
◆検索フォーム
--------------------------------------------------------------------------*/
#searchform input[type="submit"]{
	color: #FFFFFF;
	cursor: pointer;
	-webkit-appearance: none;
	padding: 3px 30px !important;
	font-weight: bold;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	position:relative;
	top:27px;
	left:6px;
}

#searchform input[type="submit"]:hover{
	background:#0084ff;
}

#header_wrap #searchform input[type="text"]{
	width: 30%;
}

#sub_wrap #searchform input[type="text"]{
	width: 70%;
}


/*--------------------------------------------------------------------------
◆検索結果
--------------------------------------------------------------------------*/
.search strong.query{
	font-weight:bold;
}

.search .query span.category,
.search .query span.device,
.search .query span.keyword{
	display: inline-block;
	font-size: 86%;
	background: #A8A8A8;
	color: #fff;
	padding: 2px 8px;
	margin-right: 8px;
	margin-bottom: 2px;
}

.search strong.query .query_str{
	margin-right: 8px;
	white-space:nowrap;
}

.search .count{
	color:#d52626;
}

.search .search_result{
	margin: 24px 16px 0;
}

.search .search_result li{
	margin: 8px 0px;
	padding-left: 24px;
	background: url(../images/common/catch.png.webp) no-repeat 0 0.28em;
}

.search .pagination{
	margin-bottom: 2em;
}

.search .pagination_top{
	display:none;
}

.search aside {
	margin-top:24px;
}

.search aside h1{
	line-height:1.4;
}

.search aside p,
.search aside li{
	padding-left: 24px;
	background: url(../images/common/catch.png.webp) no-repeat 0 0.28em;
}

.search aside .menu li{
	display: inline;
	padding-left: 0px;
	background: none;
}

.search aside .menu{
	margin-top:24px;
	text-align: center;
	margin-bottom:0 !important;
}

.search aside .menu li{
	display: inline;
}

.search aside .menu a{
	display:inline-block;
	min-width: 184px;
	padding: 4px 32px;
	border:1px solid #0084ff;
	font-size: 90%;
}

.search aside .menu a:hover{
	background:#DBEEFF;
	text-decoration:none;
}

.search aside .menu a:before{
	content:'';
	vertical-align: 1px;
	margin-right: 6px;
}



/*--------------------------------------------------------------------------
◆404
--------------------------------------------------------------------------*/
.error404 #main_wrap .section{
	overflow: visible;
}

.error404 #main_wrap .section h1{
	font-size: 168%;
	font-weight: bold;
	line-height: 1;
	padding: 8px 24px;
	line-height: 124%;
}

.error404 .widget_recent_entries li{
	padding-left: 16px;
	position: relative;
}

.error404 .widget_recent_entries li:before{

    font-size: 72%;
    width: 10%;
    position: absolute;
    top: 0.25em;
    left: 0;
}

.error404 .catch li{
    padding-left: 16px;
}

.error404 .keyvisual_container{
	display: none;
}

.error404 #main_wrap form{
	margin-bottom: 2em;
}


.error404 #main_wrap form#searchform input[type="image"]{
    padding: 6px 24px;
	vertical-align: bottom;
}

.error404 #main_wrap form#searchform input[type="text"]{
    padding: 0px;
	width: 256px;
	box-sizing: border-box;
}


/*--------------------------------------------------------------------------
◆デフォルト
--------------------------------------------------------------------------*/

/* 画像設定 */
.alignleft,
.alignright,
.aligncenter{
	width:auto !important;
}

.alignleft{
	margin-right: 4%;
}

.alignright{
	margin-left: 4%;
}

.aligncenter{
	display:block;
	margin:0 auto;
}

.envg-caption-text{
	font-size: 90%;
}

[id^="attachment"]{
	max-width: 100%;
}

/* ギャラリー設定 */
.gallery-item{
}

dl.gallery-item{
	margin-bottom: 0 !important;
}

.gallery{
	clear:both;
	margin-bottom:2.40em !important;
}

.gallery + *{
	clear:both;
}

.gallery img{
	border: 1px solid #F2F2F2 !important;
}

.gallery-caption{
	font-size:90%;
}

.gallery-columns-2 .gallery-item {
	float: left;
	margin-top: 10px;
	margin-left: 4.5%;
	text-align: center;
	width: 47.7% !important;
}

.gallery-columns-2 dl:first-child{
	margin-left: 0 !important;
}

.gallery-columns-3 .gallery-item {
	float: left;
	margin-top: 10px;
	margin-left: 3.05%;
	text-align: center;
	width: 31.3% !important;
}

.gallery-columns-3 dl:first-child{
	margin-left: 0 !important;
}

/* カレンダーー設定 */
#envg-calendar th,
#envg-calendar td{
	width:14.2857%;
	vertical-align: top;
}

#envg-calendar tfoot td#prev{
	border-right: none;
}

#envg-calendar tfoot td:nth-child(2){
	border-left: none;
	border-right: none;
}

#envg-calendar tfoot td#next{
	border-left: none;
}



/*--------------------------------------------------------------------------
◆モバイルリンク
--------------------------------------------------------------------------*/



/*--------------------------------------------------------------------------
◆メディア画像
--------------------------------------------------------------------------*/
#main_wrap .size-thumbnail{
	width: auto;
}

#main_wrap .size-medium{
	min-width: 0px;
}

#main_wrap .size-thumbnail.alignleft,
#main_wrap .size-medium.alignleft,
#main_wrap .size-full.alignleft{
	float: left;
	margin: 0 4% 2.40em 0 !important;
	max-width: 48%;
}

#main_wrap .size-thumbnail.alignright,
#main_wrap .size-medium.alignright,
#main_wrap .size-full.alignright{
	float: right;
	margin: 0 0 2.40em 4% !important;
	max-width: 48%;
}

#main_wrap .size-thumbnail.aligncenter,
#main_wrap .size-medium.aligncenter,
#main_wrap .size-full.aligncenter{
	display: block;
	float: none;
	margin: 0 auto 2.40em auto !important;
    text-align: center;
}

#main_wrap img.size-large{
	margin-bottom: 2.40em;
}

#main_wrap img.size-full{
	width: auto;
}

/* キャプションあり */
.envg-caption.alignleft {
	float: left;
	margin: 0 4% 0 0 !important;
}

.envg-caption.alignright {
	float: right;
	margin: 0 0 0 4% !important;
}
.envg-caption.aligncenter {
	display: block;
	float: none;
	margin: 0 auto 0 auto !important;
	text-align: center;
}

#main_wrap .envg-caption img {
    float: none !important;
    margin: 0 !important;
}

.envg-caption.alignleft .envg-caption-text{
	text-align: left;
}

.envg-caption.alignright .envg-caption-text{
	text-align: right;
}

.envg-caption.aligncenter .envg-caption-text{
	text-align: center;
}



/*--------------------------------------------------------------------------
◆記事更新用
--------------------------------------------------------------------------*/
#main_wrap p.category{
	padding-bottom: 1em;
}

#main_wrap ul.term li:first-child{
	margin-left: 0px !important;
}

#main_wrap ul.term li.category{
    display: inline-block;
	float: left;
    background-color: #008a17;
	margin-right: 8px;
	margin-bottom: 0.5em;
    border-radius: 4px;
    min-width: 108px;
	color: #fff;
    padding: 6px;
    font-size: 80%;
	text-decoration: none;
    text-align: center;
    line-height: 1;
}

#main_wrap ul.term li.category a:hover{
	opacity: 0.8;
}

#main_wrap ul.term li.tag a{
	float: left;
	background: #666;
	color: #fff;
	padding: 2px 8px;
	font-size: 72%;
	text-decoration: none;
	margin-right: 8px;
	margin-bottom: 0.5em;
}

#main_wrap ul.term li.tag a:hover{
	opacity: 0.8;
}

#main_wrap .update{
	font-size: 92%;
}



/*--------------------------------------------------------------------------
◆ユーティリティ
--------------------------------------------------------------------------*/
.require,
.required{
	color: #C82128;
}

.tel,
.fax{
	white-space: nowrap;
}

.newmark{
    padding: 2px 0;
    font-family: Verdana, Geneva, Arial, Helvetica, sans-serif !important;
    color: #BC0300 !important;
    font-size: 62%;
    font-weight: normal;
    line-height: 1;
    white-space: nowrap;
}

.limit{
	background: #BC0300;
	color: #FFF;
	font-size: 80%;
	padding: 0.2em 1em;
	margin-left: 1em;
	white-space: nowrap;
}



/*------------------------------------------------------------------------
◆faq
------------------------------------------------------------------------*/
.schema-faq-section {
    margin-bottom: 24px;
    padding: 24px;
    border-radius: 8px;
    background: #f1f7f2;
    font-size: 120%;
    position: relative;
}

.schema-faq-section strong:hover{
	opacity: 0.8;
}

.schema-faq-section::before,
.schema-faq-section::after {
    content: "";
    position: absolute;
	top: 40px;
    left: auto;
    right: 36px;
    width: 1px;
    height: 16px;
    background: #008a17;
    border: none;
}

.schema-faq-section::before{
    transform: translate(-50%,-50%) rotate(90deg);
	transition: all 300ms;
}

.schema-faq-section::after{
    transform: translate(-50%,-50%) rotate(0deg);
    top: 40px;
}

#main_wrap .schema-faq-section .schema-faq-question {
    display: block;
    padding-right: 64px;
    font-weight: bold;
    color: #333333;
    cursor: pointer;
}

.schema-faq-section .schema-faq-question::marker {
	content: "";
}

.schema-faq-question .faq-label{
	display: inline-block;
    margin-right: 8px;
    font-weight: bold;
    color: #016a13;
    font-size: 1.2em;
}

.schema-faq-section .schema-faq-answer {
	display: none;
    padding-right: 40px;
    font-weight: normal;
    font-size: 88%;
    cursor: pointer;
    position: relative;
}

.schema-faq-answer .faq-label{
    display: inline-block;
    margin-right: 8px;
    font-weight: bold;
    color: #821603;
    font-size: 1.3em;
}

.schema-faq-section.open:before{
    transform: translate(-50%,-50%) rotate(90deg);
}

.schema-faq-section.open:after{
	display: none;
}

#main_wrap .schema-faq-section.open strong.schema-faq-question {
    color: #333333;
    margin-bottom: 40px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.schema-faq-section.open .schema-faq-answer {
	display: block;
    margin-bottom: 0 !important;
    animation: fadeIn 0.3s ease-in-out;
}
.schema-faq-section[open] .schema-faq-answer {
	display: block;
    margin-bottom: 0 !important;
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}


.schema-faq-section summary.schema-faq-question {
	display: block;
	cursor: pointer;
}
.schema-faq-section[open] summary.schema-faq-question {
    color: #333333;
}

.schema-faq-section summary.schema-faq-question::-webkit-details-marker {
	display: none;
}
.schema-faq-section summary.schema-faq-question::before {
	content: '';
}


.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.visually-hidden-focusable:not(:focus):not(:active) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.visually-hidden-focusable:focus,
.visually-hidden-focusable:active {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
} 
