@charset "utf-8";

/*トップ H2*/
h2.top_g01{
font-family: "Damion", serif;
font-weight: 400;
font-style: normal;
font-size: 40px;
text-align: center;
line-height: 1em;
margin-bottom: 30px;
}
h2.top_g01 span{
font-family: "Noto Sans JP", sans-serif;
font-weight: 500;
font-size: 16px;
font-style: normal;
display: block;
}
h2.top_g01 img{
display: block;
margin-left: auto;
margin-right: auto;
margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
h2.top_g01{
font-size: 8.4vw;
margin-bottom: 15px;
}
h2.top_g01 span{
font-size: 3.6vw;
}
}




/*左右中央配置 general*/
.g-wrap_C {
display: flex;
justify-content: center;
/*align-items: center;*/
}
.g-wrap_R,.g-wrap_RC {
display: flex;
justify-content: flex-end;
}
.g-wrap_L,.g-wrap_LC {
display: flex;
justify-content: flex-start;
}
/*施工事例*/
.g-wrap_W {
position: absolute;
top: 130px;
left: 0;
width: 100%;
display: flex;
justify-content: center;
}

@media screen and (max-width: 767px) {
.g-wrap_RC,.g-wrap_LC {
justify-content: center;
align-items: center;
}

/*施工事例*/
.g-wrap_W {
top: 110px;
}
}




/*general　ボタン*/
p.g_btn01 {
/*margin-right: auto;
margin-left: auto;*/
width: 300px;
}
p.g_btn01.owner {
width: 100%;
}
p.g_btn01 a{
padding-top: 18px;
padding-bottom: 18px;
margin-right: auto;
margin-left: auto;
width: 100%;
text-align: center;
margin-bottom: 0px;
display: block;
transition: all 0.3s;
line-height: 1.5em;
background-color: #ED6C00;
color: #FFFFFF;
font-size: 14px;
position: relative;
font-weight: bold;
}
/*arrow*/
p.g_btn01 a::after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 30px;
width: 8px;
height: 8px;
margin: -4px 0 0 0;
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transition: all 0.3s;
}
p.g_btn01 a:hover::after {
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
}
p.g_btn01 a:hover{
background-color: #F29600;
}

@media(max-width: 820px){
p.g_btn01 a{
font-size: 12px;
}
}
@media(max-width: 767px){
p.g_btn01 {
max-width: initial;
margin-right: auto;
margin-left: auto;
width: 90%;
}
p.g_btn01 a{
font-size: 3.3vw;
}
}




/* カスタムボタン */
.custom-btn {
position: relative;
width: 300px;
box-sizing: border-box;
text-align: center;
display: block;
}
.custom-btn a {
display: block;
width: 100%;
height: 100%;
background-color: #ED6C00;
color: #FFFFFF;
text-decoration: none;
line-height: 34px;
transition: all 0.3s;
font-size: 14px;
}
/*arrow*/
.custom-btn a::after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 30px;
width: 8px;
height: 8px;
margin: -4px 0 0 0;
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transition: all 0.3s;
}
.custom-btn a:hover {
background-color: #F29600;
}

@media screen and (max-width: 767px) {
.custom-btn {
height: 28px;
width: 46%;
}
/*スタッフグログsingle用*/
.custom-btn.btn_w60 {
width: 60%;
}
.custom-btn a {
font-size: 2.6vw;
line-height: 26px;
padding-bottom: 2px;
}
}



/*下層H1タイトル*/
h1.top_g01{
font-family: "Damion", serif;
font-weight: 400;
font-style: normal;
font-size: 25px;
text-align: center;
line-height: 1em;
text-shadow: 0px 0px 10px rgba(0,0,0,0.3),
1px 0px 2px rgba(0,0,0,0.1), 
0px 1px 2px rgba(0,0,0,0.1), 
-1px 0px 2px rgba(0,0,0,0.1), 
0px -1px 2px rgba(0,0,0,0.1);
color: #FFFFFF;
}
h1.top_g01 span{
font-family: "Noto Sans JP", sans-serif;
font-weight: 700;
font-size: 38px;
font-style: normal;
display: block;
margin-top: 30px;
margin-bottom:15px;
}
h1.top_g01 img{
display: block;
margin-left: auto;
margin-right: auto;
}
@media screen and (max-width: 767px) {
h1.top_g01{
font-size: 5vw;
}
h1.top_g01 span{
font-size: 7vw;
margin-top: 10px;
margin-bottom:10px;
}
}

/*下層H2タイトル*/
h2.sub_g01{
font-size: 25px;
margin-bottom: 50px;
line-height: 1.6em;
text-align: center;
font-weight: 600;
}
@media screen and (max-width: 767px) {
h2.sub_g01{
font-size: 4.8vw;
margin-bottom: 40px;
}
}

/*下層H2タイトル　リード*/
h2.sub_g02{
font-size: 32px;
margin-bottom: 80px;
line-height: 1.6em;
text-align: center;
font-weight: bold;
position: relative;
}
h2.sub_g02::after {
position: absolute;
bottom: -40px;
content: '';
width: 70px;
height: 2px;
background-color: #000000;
left: 50%;
transform: translateX(-50%);
}

p.cpt_lead{
text-align: center;
margin-bottom: 60px;
font-size: 16px;
}
@media screen and (max-width: 767px) {
h2.sub_g02{
font-size: 25px;
margin-bottom: 60px;
}
h2.sub_g02::after {
bottom: -30px;
}

p.cpt_lead{
text-align: left;
margin-bottom: 20px;
font-size: 14px;
}
}


/*下層H2タイトル　キャンペーン*/
h2.cmp_g01{
font-weight: bold;
font-size: 35px;
font-style: normal;
text-align: center;
color: #ED6C00;
line-height: 1.4em;
margin-top: 10px;
}
h2.cmp_g01 span{
font-family: "Damion", serif;
font-weight: 400;
font-style: normal;
font-size: 30px;
text-align: center;
line-height: 1em;
margin-bottom: 30px;
display: block;
margin-top: 20px;
}
h2.cmp_g01 img{
display: block;
margin-left: auto;
margin-right: auto;
margin-bottom: 10px;
width: 90px;
height: auto;
}
@media screen and (max-width: 767px) {
h2.cmp_g01{
font-size: 5.4vw;
margin-bottom: 15px;
}
h2.cmp_g01 span{
font-size: 4.6vw;
margin-top: 10px;
}
}






/*ヘッダースタイル*/
.header__inner {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
height: 100%;
max-width: 3000px;
padding-top: 0px;
position: relative;
padding-bottom: 0px;
transition: all 0.3s;
z-index: 2;
background-color: #FFFFFF;
}
@media screen and (max-width: 767px) {
.header__inner {
padding-top: 0px;
}
}
/*ロゴ以外のメニューの位置調整*/
.header__inner .gmenu {
margin-top: 0px;
transition: all 0.3s;
/*background-color: #616161;*/
}
@media screen and (max-width: 1230px) {
.header__inner .gmenu {
display: none;
}
}

/* グローバルメニューのみに影響を与える a のスタイル */
.header__inner .gmenu > a {
	color: #000000;
	font-size: 14px;
font-weight: bold;
	text-align: center;
	text-decoration: none;
	line-height: 1.6em;
	position: relative;
	z-index: 1;
	padding-top: 20px;
	padding-bottom: 20px;
}


@media screen and (max-width: 1340px) {
.header__inner .gmenu > a {
font-size: 14px;
font-weight: bold;
}
}


.header__inner .m_onayami a,.header__inner .m_treatment a {
position: relative;
}

.header__inner a {
color: #FFFFFF;
}
.header__nav {
padding-top: 0px;
padding-bottom: 0px;
}
.header__navList {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
line-height: 60px;
/*align-items: center;*/
}
.header__navItemLink {
position: relative;
display: inline-block;
z-index: 1;
padding-top: 0;
padding-right: 15px;
padding-left: 15px;
transition: all 0.3s;
padding-bottom: 10px;
}
/*グローバルメニューを上下中央に調整*/
.header__navItemLink {
display: flex;
flex-direction: column;
justify-content: center;
height: 100%;
transform: translateY(-20%);
}


@media screen and (max-width: 1300px) {
.header__navItemLink {
padding-right: 10px;
padding-left: 10px;
}
}

.header__navItemLink::after {
visibility: hidden;
content: "";
position: absolute;
right: 0;
left: 0;
-webkit-transform: scaleX(1);
transform: scaleX(1);
-webkit-transform-origin: 0 50%;
transform-origin: 0 50%;
-webkit-transition: .3s;
transition: .3s;
bottom: 0px;
opacity: 0;
z-index: 1;
width: 80%;
margin-left: auto;
margin-right: auto;
height: 3px;
background-color: #ED6C00;
}

/*現在地とhoverの設定*/
.header__navItemLink:hover::after,.megaMenu__link.is-active::after {
visibility: visible;
-webkit-transform: scaleX(1);
transform: scaleX(1);
opacity: 1;
bottom: 30px;
}


/* メガメニュースタイル */
.megaMenu__link.is-active::after {
/*-webkit-transform: scale(1, 1);
transform: scale(1, 1);*/
}
.megaMenu__link.is-active + .megaMenu__content {
opacity: 1;
visibility: visible;
}

/*メガメニューの下層コンテンツを表示する位置*/
.megaMenu__content {
opacity: 0;
visibility: hidden;
position: absolute;
top: 79px;
left: 0;
width: 100%;
-webkit-transition: opacity 0.3s, visibility 0.3s;
transition: opacity 0.3s, visibility 0.3s;
z-index: 2;
background-color: #ED6C00;
margin-left: auto;
}
.megaMenu__content.minimum {
background-color: #222222;
}

.megaMenu__inner {
max-width: 1100px;
margin-right: auto;
margin-left: auto;
margin-bottom: 0;
padding-right: 30px;
padding-left: 30px;
padding-bottom: 50px;
padding-top: 50px;
}

.megaMenu__title {
padding-left: 20px;
}

.megaMenu__titleLink {
position: relative;
font-size: 20px;
-webkit-transition: opacity 0.3s;
transition: opacity 0.3s;
}
.megaMenu__titleLink:hover, .megaMenu__titleLink:focus {
opacity: 0.7;
}
.megaMenu__titleLink::before {
content: "";
position: absolute;
top: 50%;
left: -14px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
display: block;
height: 12px;
width: 8px;
}

.megaMenu__list {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}

.megaMenu__item {
padding-left: 20px;
}

.megaMenu__itemLink {
position: relative;
font-size: 18px;
font-weight: 500;
-webkit-transition: opacity 0.3s;
transition: opacity 0.3s;
}
.megaMenu__itemLink:hover, .megaMenu__itemLink:focus {
opacity: 0.7;
}
.megaMenu__itemLink::before {
content: "";
position: absolute;
top: 50%;
left: -14px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
display: block;
background-color: #ffffff;
width: 8px;
height: 8px;
border-radius: 50%;
}

.megaMenu__subItemLink {
position: relative;
font-weight: 500;
-webkit-transition: opacity 0.3s;
transition: opacity 0.3s;
}
.megaMenu__subItemLink:hover, .megaMenu__subItemLink:focus {
opacity: 0.7;
}
.megaMenu__subItemLink::before {
content: "";
position: absolute;
top: 50%;
left: -14px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
display: block;
background-color: #ffffff;
width: 4px;
height: 4px;
border-radius: 50%;
}


/* メガメニューをホバーで表示　scriptは削除 */
.megaMenu:hover .megaMenu__content {
opacity: 1;
visibility: visible;
}




/*Mega　サービス2*/
.mg_service2 {
display: grid;
gap: 10px;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.mg_service2 .item {
}
.mg_service2 .item a {
display: flex;
align-items: center;
justify-content: center;
text-align: center;
height: 3em;
background-color: #FFFFFF;
transition: all 0.3s;
}
.mg_service2 p {
/*font-weight: 300;*/
font-size: 13px;
color: #000000;
line-height: 1.5em;
text-align: center;
}
.mg_service2 .item a:hover p {
color: #FFFFFF;
}
.mg_service2 .item a:hover {
text-decoration: none;
background-color: #F29600;
}
@media screen and (max-width: 767px) {
.mg_service2 {
gap: 5px;
grid-template-columns: 1fr;
}
.mg_service2 .item a {
height: 4em;
}
.mg_service2 p {
font-size: 3.5vw;
}
}




/*==================================================
機能編 7-1-47	矢印が右に移動して背景がつく 
===================================*/

.btnarrow5{
/*矢印の基点とするためrelativeを指定*/
position: relative;
/*ボタンの形状*/
/*border: 1px solid #555;*/
padding: 8px 30px;
display: inline-block;
text-align: center;
text-decoration: none;
color: #333;
outline: none;
/*アニメーションの指定*/
transition: all .2s linear;
font-size: 13px;
background:#EEE;
}
.btnarrow5.wtv{
color: #FFF;
background:#333;
}
.btnarrow5:hover{
background:#DDDDDD;
/*color:#fff;*/
}
.btnarrow5.wtv:hover{
background:#444444;
}
/*矢印と下線の形状*/
.btnarrow5::before{
content:"";
/*絶対配置で下線の位置を決める*/
position: absolute;
top:49%;
right:-28px;
/*下線の形状*/
width:30px;
height:1px;
background:#000;
/*アニメーションの指定*/
transition: all .2s linear;
}
.btnarrow5.wtv::before,.btnarrow5.wtv::after{
background:#FFF;
}
.btnarrow5::after{
content:"";
/*絶対配置で矢印の位置を決める*/
position: absolute;
top: 24%;
right: -21px;
/*矢印の形状*/
width:1px;
height:12px;
background:#000;
transform:skewX(45deg);
/*アニメーションの指定*/
transition: all .2s linear;
}

/*hoverした際の移動*/
.btnarrow5:hover::before{
right:-32px;
}

.btnarrow5:hover::after{
right:-25px;
}
@media screen and (max-width: 767px) {
.btnarrow5{
padding: 8px 15px;
font-size: 12px;
}
.btnarrow5::before{
top:50%;
right:-25px;
}
}



/*　パンくず　*/
.pankuzu {
font-size: 12px;
padding-top: 20px;
padding-bottom: 0px;
width: 100%;
line-height: 2em;
}
.pankuzu a:link {
text-decoration: none;
color: #666666;
padding-left: 2px;
padding-right: 2px;
}
.pankuzu a:visited {
text-decoration: none;
color: #666666;
}
.pankuzu a:hover, .pankuzu a:active {
text-decoration: underline;
color: #666666;
}

/*　パンくずWP　Breadcrumb NavXT*/
.bread-crumb {
margin:0;
padding: 0px;
}
.bread-crumb li {
/*font-size: 12px;*/
/*color: #B4B4B4;*/
float: left;
list-style: none outside none;
}
.bread-crumb li:after {
content : '>';
/*padding-left: 15px;
margin-right: 15px;*/
/*color: #999999;*/
}
.bread-crumb li:last-child:after {
content : '';
}
.bread-crumb li.current {
}
@media screen and (max-width: 767px) {
.pankuzu {
font-size: 2.5vw;
padding-top: 10px;
padding-bottom: 0px;
}
}




/* ---------------------------------------------------------------- *
エフェクト
* ---------------------------------------------------------------- */
/*Fade in up down*/
.f_in{
opacity: 0;
animation: f_in 2s;
animation-fill-mode: forwards;
}
@keyframes f_in{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.f_up{
opacity: 0;
animation: f_up 1s;
animation-fill-mode: forwards;
}
@keyframes f_up{
0% {
opacity: 0;
transform: translateY(50px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
.f_down{
opacity: 0;
animation: f_down 1s;
animation-fill-mode: forwards;
}
@keyframes f_down{
0% {
opacity: 0;
transform: translateY(-50px);
}
100% {
opacity: 1;
animation-fill-mode: forwards;
}
}


/* 4-1 ふわっ（下から） */

.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
from {
opacity: 0;
transform: translateY(50px);
}

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

/* 4-1 ふわっ（上から）*/

.fadeDown{
animation-name: fadeDownAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
from {
opacity: 0;
transform: translateY(-50px);
}

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


/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
opacity:0;
}

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

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


/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
from {
opacity: 0;
transform: translateX(50px);
}

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


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
opacity: 0;
}


/*==================================================
ボンッ、ヒュッ
===================================*/

/* 拡大 */
.zoomIn{
animation-name:zoomInAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
}

@keyframes zoomInAnime{
from {
transform: scale(0.6);
opacity: 0;
}

to {
transform: scale(1);
opacity: 1;
}
}

/* 縮小 */
.zoomOut{
animation-name:zoomOutAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
}

@keyframes zoomOutAnime{
from {
transform: scale(1.2);
opacity: 0;
}

to {
transform:scale(1);
opacity: 1;
}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.zoomInTrigger,
.zoomOutTrigger{
opacity: 0;
}


/*== 4-6　じわっ（ぼかしから出現） ==*/

.blur{
animation-name: blurAnime;
animation-duration:1s;
animation-fill-mode:forwards;
}
@keyframes blurAnime{
from {
filter: blur(10px);
transform: scale(1.02);
opacity: 0;
}
to {
filter: blur(0);
transform: scale(1);
opacity: 1;
}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.blurTrigger{
opacity: 0;
}



/*スクロールトリガー*/
/*TXTエフェクト　背景が流れる*/
.txbg .bg-wrap {
position: relative;
display: inline-block;
margin-top: 5px;
/*font-size: 30px;*/
}
.txbg.is-active .bg-wrap::before {
animation: txbg 4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
background-color: rgba(0,0,0,0.70);
content: '';
position: absolute;
top: 0;
left: 0;
z-index: 1;
width: 100%;
height: 100%;
transform-origin: left center;
}
.txbg .bg-wrap .inn {
color: #fff;
display: inline-block;
/*font-size: 36px;*/
font-weight: bold;
padding: 5px 15px;
position: relative;
z-index: 1;
}

@keyframes txbg {
0% {
opacity: 0;
transform: scaleX(0) translateX(-5%);
}
30% {
transform: scaleX(1) translateX(0);
}
100% {
transform: scaleX(1) translateX(0);
}
30%, 100% {
opacity: 1;
}
}













/*Not Found*/
.NotF{
width: 100%;
margin-top: 0px;
margin-bottom: 0px;
clear: both;
padding-top: 100px;
padding-bottom: 100px;
position: relative;
text-align: center;
}
.NotF h1{
font-size: 55px;
font-weight: bold;
padding-bottom: 50px;
color: #444444!important;
line-height: 1.3em;
}
.NotF h1 span{
font-size: 25px;
font-weight: bold;
display: block;
color: #989898;
}
.NotF p{
font-size: 16px;
color: #444444;
}
.NotF p.btn a{
padding-top: 10px;
padding-bottom: 10px;
display: block;
margin-top: 50px;
background-color: #2D2D2D;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
/*-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;*/
color: #FFFFFF;
}
.NotF p.btn{
width: 30%;
margin-left: auto;
margin-right: auto;
}
.NotF p.btn a:hover{
background-color: #989898;
}
@media screen and (max-width: 767px) {
.NotF{
padding-top: 10%;
padding-bottom: 10%;
}
.NotF h1{
font-size: 35px;
padding-bottom: 30px;
line-height: 1.3em;
}
.NotF h1 span{
font-size: 17px;
}
.NotF p{
font-size: 14px;
text-align: left;
}
.NotF p br{
display: none;
}
.NotF p.btn{
width: 80%;
text-align: center;
}
}

/*ユーチューブ*/
.youtube {
width: 100%;
padding-top: 56.25%;
position: relative;
top: 0;
left: 0;
}
.youtube iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}




/*ブログナビ*/
#event_nav {
overflow: hidden;
}

#event_nav ul {
position: relative;
left: 50%;
float: left;
}

#event_nav ul li {
position: relative;
left: -50%;
float: left;
padding-top: 10px;
padding-bottom: 10px;
margin-bottom: 10px;
}
#event_nav ul li i.fa{
margin-left: 10px;
}
#event_nav ul li a{
color: #000000;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 30px;
padding-right: 30px;
margin-right: 10px;
margin-left: 10px;
margin-top: 0px;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
font-size: 12px;
}
#event_nav ul li.blog a{
background-color: #E7E0AA;
}
#event_nav ul li.news a{
background-color: #99CDFF;
}
#event_nav ul li.works a{
background-color: #8EC21F;
}
/*
#event_nav ul{
}
#event_nav ul li{
float: left;
margin-right: 10px;
margin-left: 10px;
margin-bottom: 20px;
}
#event_nav ul li i.fa{
margin-left: 10px;
}
#event_nav ul li a{
color: #000000;
background-color: #E7E0AA;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 20px;
padding-right: 20px;
}
*/
@media screen and (max-width: 767px) {
#event_nav ul li a{
padding-top: 10px;
padding-bottom: 10px;
padding-left: 10px;
padding-right: 10px;
margin-right: 10px;
margin-left: 10px;
margin-top: 0px;
}
}


/*インデント*/
p.indent-1 {
padding-left:1em;
text-indent:-1em;
}


/*ナンバリング*/
.list_num {
_zoom: 1;
overflow: hidden;
clear: both;
margin-right: auto;
margin-bottom: 20px;
margin-left: auto;
width: 100%;
margin-top: 20px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding-top: 50px;
padding-bottom: 30px;
background-color: rgba(241,241,241,0.60);
}
.list_num ol {
counter-reset: my-counter;
list-style: none;
padding: 0px;
margin-right: auto;
margin-left: auto;
max-width: 900px;
}
.list_num ol li {
margin-bottom: 20px;
padding-left: 0px;
position: relative;
padding-right: 0px;
float: left;
width: 46%;
margin-left: 2%;
margin-right: 2%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.list_num ol li:before {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #0F4C97;
color: #ffffff;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
margin-right: 10px;
}
.list_num ol li h3 {
font-size: 16px;
font-weight: bold;
}
.list_num ol li p {
}
.list_num ol li h3.indent {
margin-bottom: 10px;
position: relative;
font-size: 18px;
font-weight: bold;
padding-left:3em;
text-indent:0em;
}

@media screen and (max-width: 767px) {
.list_num {
margin-bottom: 20px;
padding-top: 25px;
padding-right: 25px;
padding-left: 25px;
padding-bottom: 15px;
}
.list_num ol li {
margin-bottom: 20px;
float: none;
width: 100%;
margin-left: 0%;
margin-right: 0%;
}
.list_num ol li h3.indent {
font-size: 14px;
padding-top: 2px;
line-height: 1.8em;
}
}


.list_num2 {
_zoom: 1;
overflow: hidden;
clear: both;
margin-right: auto;
margin-bottom: 40px;
margin-left: auto;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
padding-top: 50px;
padding-right: 50px;
padding-left: 50px;
box-sizing: border-box;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
padding-bottom: 30px;
background-color: rgba(241,241,241,0.60);
}
.list_num2 ol {
counter-reset: my-counter;
list-style: none;
padding: 0px;
margin-bottom: 10px;
clear: both;
}
.list_num2 ol li {
margin-bottom: 15px;
padding-left: 0px;
position: relative;
float: left;
width: 50%;
margin-left: 0%;
margin-right: 0%;
}
.list_num2 ol li:before {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #0F4C97;
color: #FFFFFF;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
}
.list_num2 ol li p.indent {
padding-left:40px;
text-indent:0px;
}
.list_num2 ol li p strong{
font-weight: bold;
}
@media screen and (max-width: 767px) {
.list_num2 {
margin-bottom: 20px;
padding-top: 25px;
padding-right: 25px;
padding-left: 25px;
padding-bottom: 15px;
}
.list_num2 ol li {
margin-bottom: 15px;
padding-left: 0px;
position: relative;
float: left;
width: 100%;
margin-left: 0%;
margin-right: 0%;
}
}


.list_num3 {
clear: both;
margin-right: auto;
margin-bottom: 50px;
margin-left: auto;
width: 100%;
margin-top: 20px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.list_num3 ol {
counter-reset: my-counter;
list-style: none;
padding: 0px;
margin: 0px;
}
.list_num3 ol li.number {
margin-bottom: 15px;
padding-left: 0px;
position: relative;
}
.list_num3 ol li.number:before {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #E7E7E7;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
}
.list_num3 ol li.number.az:before {
content: counter(my-counter,lower-alpha);
counter-increment: my-counter;
background-color: #E7E7E7;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
}
.list_num3 ol li.number.az2:before {
content: counter(my-counter,upper-alpha);
counter-increment: my-counter;
background-color: #E7E7E7;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
}
.list_num3 ol li p.indent {
padding-left:40px;
text-indent:0px;
}
@media screen and (max-width: 767px) {

}

/*ドット*/
.list_dot {
}
.list_dot ul {
padding-top: 10px;
padding-bottom: 0px;
padding-left: 20px;
display: grid;
gap: 20px;
grid-template-columns: 1fr;
}
.list_dot ul.type2 {
gap: 10px 20px;
grid-template-columns: 1fr 1fr;
}
.list_dot ul li {
font-size: 14px;
list-style-type: none;
position: relative;
line-height: 2em;
}
.list_dot ul li strong a {
font-size: 15px;
border-radius: 20px;
border: 1px solid #222222;
padding-left: 25px;
padding-right: 25px;
display: inline-block;
background-color: #FFFFFF;
margin-left: 10px;
}
.list_dot ul li strong a:hover {
background-color: #EDEDED;
}
.list_dot ul li::after {
display: block;
content: '';
position: absolute;
top: 0.7em;
left: -1.3em;
width: 12px;
height: 12px;
background-color: #222222;
border-radius: 100%;
}
@media screen and (max-width: 767px) {
.list_dot ul li {
font-size: 3.3vw;
}
.list_dot ul.type2 {
gap: 15px;
grid-template-columns: 1fr;
}
.list_dot ul li::after {
top: 0.5em;
}
}



/*外部リンク　アイコン設定*/
i.fa-external-link {
margin-left: 10px;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
}
a:hover i.fa-external-link{
margin-left: 15px;
color: #FF0004;
}

/*reCAPTCHA　ロゴの場所を変更*/
.grecaptcha-badge {
bottom: 0px !important;
}




/*アウトライン*/
.flex_Line {
_zoom: 1;
overflow: hidden;
clear: both;
margin-top: 0;
margin-right: 0;
margin-left: 0;
padding: 0;
margin-bottom: 100px;
border: 1px solid #DDDDDD;
}
.flex_Line ul {
list-style: none;
padding: 0px;
margin: 0px;
}
.flex_Line li{
display: flex;
display: -webkit-flex;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding-top: 10px;
padding-bottom: 10px;
margin: 0;
border-bottom: 1px solid #DDDDDD;
}
.flex_Line li:last-child {
border-bottom: none;
}
.flex_Line h2{
padding-left: 20px;
border-right: 1px solid #DDDDDD;
}
.flex_Line p{
padding-top: 0;
padding-right: 0;
padding-bottom: 0!important;
padding-left: 20px!important;
}
.flex_Line li .txt{
width: 22%;
margin: 0;
padding: 0;
font-weight: bold;
}
.flex_Line li .txt2{
margin: 0;
padding: 0;
width: 78%;
}

@media screen and (max-width: 767px) {
.flex_Line {
margin-bottom: 50px;
}
.flex_Line h2{
padding-left: 10px;
font-size: 3vw;
}
.flex_Line p{
font-size: 3vw;
padding-left: 10px!important;
}
}


/*バーガーメニュー*/

/*==================================================
機能編 5-1-20　クリックしたら円形背景が拡大（右上から）
===================================*/

/*アクティブになったエリア*/
#g-nav.panelactive{
/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
position:fixed;
z-index: 20;
top: 0;
width:100%;
height: 100vh;
background-color: #FFFFFF;
}

/*丸の拡大*/
.circle-bg{
position: fixed;
z-index: 11;
/*丸の形*/
width: 100px;
height: 100px;
border-radius: 50%;
/*background-color: #EFEFEF;*/
background-color: #FFFFFF;
/*丸のスタート位置と形状*/
transform: scale(0);/*scaleをはじめは0に*/
right: -20px;
top: -20px;
transition: all .5s;/*0.6秒かけてアニメーション*/
}

.circle-bg.circleactive{
transform: scale(50);/*クラスが付与されたらscaleを拡大*/
}

/*ナビゲーションの縦スクロール*/
#g-nav-list{
display: none;/*はじめは表示なし*/
/*ナビの数が増えた場合縦スクロール*/
position: fixed;
z-index: 10;
/*z-index: 999;*/
width: 100%;
height: 100vh;
overflow: auto;
-webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list{
display: block; /*クラスが付与されたら出現*/
}

/*ナビゲーション*/
/*#g-nav ul {
opacity: 0;
position: absolute;
z-index: 999;
top:50%;
left:50%;
transform: translate(-50%,-50%);
}
#g-nav.panelactive ul {
opacity:1;
}*/

/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/
#g-nav.panelactive ul li{
animation-name:gnaviAnime;
animation-duration:1s;
animation-delay:.2s;/*0.2 秒遅らせて出現*/
animation-fill-mode:forwards;
opacity:0;
}
@keyframes gnaviAnime{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}




/*==================================================
5-2-6 3本線が回転して×に
===================================*/

/*ボタン外側*/
.openbtn{
position: fixed;
top: 14px;
right: 15px;
z-index: 100;
cursor: pointer;
width: 52px;
height: 52px;
overflow: hidden;
/*border-radius: 8px;*/
background-color: #ED6C00;
}
/*minimum*/
.openbtn.minimum {
background-color: #222222;
}
@media screen and (max-width: 767px) {
.openbtn{
top:10px;
right: 10px;    
width: 48px;
height: 48px;
}
}

/*ボタン内側*/
.openbtn span{
display: inline-block;
transition: all .4s;
position: absolute;
left: 15px;
height: 2px;
border-radius: 0px;
background: #FFF;
}


.openbtn span:nth-of-type(1) {
top:18px;	
width: 38%;
}

.openbtn span:nth-of-type(2) {
top:25px;
width: 38%;
}

.openbtn span:nth-of-type(3) {
top:32px;
width: 38%;
}

/*activeクラスが付与されると線が回転して×になる*/

.openbtn.active span:nth-of-type(1) {
top: 19px;
left: 17px;
transform: translateY(6px) rotate(-135deg);
width: 38%;
}
.openbtn.active span:nth-of-type(2) {
opacity: 0;
}
.openbtn.active span:nth-of-type(3){
top: 31px;
left: 17px;
transform: translateY(-6px) rotate(135deg);
width: 38%;
}

@media screen and (max-width: 767px) {
.openbtn span:nth-of-type(1) {
top:16px;	
}
.openbtn span:nth-of-type(2) {
top:23px;
}
.openbtn span:nth-of-type(3) {
top:30px;
}

/*activeクラスが付与されると線が回転して×になる*/

.openbtn.active span:nth-of-type(1) {
top: 17px;
left: 15px;
}
.openbtn.active span:nth-of-type(3){
top: 29px;
left: 15px;
}
}


/* アニメーションの開始を遅らせるCSS*/

.delay-time05{
animation-delay: 0.5s;
}

.delay-time1{
animation-delay: 1s;
}

.delay-time15{
animation-delay: 1.5s;
}

.delay-time2{
animation-delay: 2s;
}

.delay-time25{
animation-delay: 2.5s;
}




/*flex流れ*/
.flex_flow {
margin-top: 0;
padding: 0;
width: 100%;
margin-left: auto;
margin-right: auto;
margin-bottom: 100px;
}
.flex_flow ul {
list-style: none;
padding: 0px;
margin: 0px;
}
.flex_flow li{
display: flex;
display: -webkit-flex;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding-top: 25px;
padding-bottom: 25px;
border-bottom: 1px solid #CCCCCC;
line-height: 2em;
}
.flex_flow li:first-child {
border-top: 1px solid #CCCCCC;
}
.flex_flow li .txt{
width: 15%;
}
.flex_flow li .txt h3{
font-weight: 500;
font-size: 20px;
color: #2A7B3C;
}
.flex_flow li .txt2{
width: 85%;
}
@media screen and (max-width: 767px) {
.flex_flow {
margin-bottom: 50px;
}
.flex_flow li{
padding-top: 20px;
padding-bottom: 20px;
}
.flex_flow li .txt{
width: 20%;
}
.flex_flow li .txt h3{
font-size: 3.8vw;
}
.flex_flow li .txt2{
width: 80%;
}
}




/*ブロックエディタ　追加CSS*/
.B_editor h1 {
font-size: 35px;
padding-bottom: 0.5em;
line-height: 1.6em;
}
.B_editor h2 {
font-size: 30px;
padding-bottom: 0.5em;
}
.B_editor h3 {
font-size: 20px;
padding-bottom: 0.5em;
}
.B_editor h4 {
font-size: 16px;
padding-bottom: 0.5em;
}
.B_editor p {
margin: 0 0 2.5em;
font-size: 15px;
line-height: 2.4em;
}

.B_editor .has-x-large-font-size {
font-size: 35px!important;
line-height: 1.6em;
}
.B_editor .has-large-font-size {
font-size: 30px!important;
line-height: 1.6em;
}
.B_editor .has-medium-font-size {
font-size: 20px!important;
line-height: 1.6em;
}
.B_editor .has-small-font-size {
font-size: 12px!important;
line-height: 1.6em;
}

.wp-block-image {
margin:0 0 2em;
}
.wp-block-audio {
margin:0 0 2em;
}
.wp-block-embed {
margin:0 0 2em;
}
.wp-block-table {
margin:0 0 2em;
}
.wp-block-video {
margin:0 0 2em;
}
.wp-block-media-text {
margin:0 0 2em;
}
.wp-block-gallery {
margin:0 0 2em;
}
.B_editor ul {
list-style: none;
padding-top: 0px;
padding-bottom: 0px;
margin-bottom: 2em;
padding-left: 25px;
}
.B_editor ul li {
font-size: 15px;
list-style-type: none;
position: relative;
padding-bottom: 10px;
}
.B_editor ul li::after {
display: block;
content: '';
position: absolute;
top: 0.8em;
left: -1.5em;
width: 10px;
height: 10px;
background-color: #000000;
border-radius: 100%;
}
.B_editor ul:after {
height: 0;
visibility: hidden;
content: ".";
display: block;
clear: both;
}
.wp-block-button__link {
color: #fff!important;
}
.wp-block-file__button {
color: #fff!important;
}

/*ギャラリーの画像間隔調整*/
.B_editor .wp-block-gallery.has-nested-images figure.wp-block-image {

}
.B_editor .wp-block-gallery.has-nested-images {
/*gap: 10px;*/
}

@media screen and (max-width: 767px) {
.B_editor ul li {
font-size: 3.5vw;
}
.B_editor ul li::after {
top: 0.7em;
}
.has-x-large-font-size {
font-size: 6.8vw !important;
padding-bottom: 0.5em;
}
.has-large-font-size {
font-size: 5.3vw!important;
padding-bottom: 0.5em;
}
.B_editor h1 {
font-size: 6.0vw;
padding-bottom: 0.5em;
}
.B_editor h2 {
font-size: 5.3vw;
padding-bottom: 0.5em;
}
.B_editor h3 {
font-size: 4.4vw;
padding-bottom: 0.5em;
}
.B_editor h4 {
font-size: 3.5vw;
padding-bottom: 0.5em;
}
.B_editor p {
font-size: 3.3vw;
line-height: 2.0em;
}
.B_editor .has-x-large-font-size {
font-size: 6.0vw!important;
}
.B_editor .has-large-font-size {
font-size: 5.3vw!important;
}
.B_editor .has-medium-font-size {
font-size: 4.4vw!important;
}
.B_editor .has-small-font-size {
font-size: 3vw!important;
}
}

/*ブロックエディタ　ユーチューブ*/
.B_editor .wp-block-embed-youtube iframe  {
width: 100%;
height: 100%;
aspect-ratio: 16/9;
}


/*ブロックエディタ　リンク*/
.B_editor a:link {
color: #0058DC;
text-decoration: underline;
}
.B_editor a:visited {
color: #0058DC;
text-decoration: none;
}
.B_editor a:hover, a:active {
color: #003A92;
}


/* currentサイドナビ*/
nav#s-nav ul{
list-style: none;
display: flex;
position: fixed;
z-index: 3;
}

nav#s-nav ul li a{
display: block;
text-decoration: none;
color: #666;
padding:10px;
transition:all 0.3s;
}

nav#s-nav ul li.current a,
nav#s-nav ul li a:hover{
color: #FF0004;
font-weight: bold;
font-size: 16px;
}

@media screen and (max-width:767px) {
nav#s-nav ul li a:hover{
color: #CCCCCC;
}

nav#s-nav ul li.current a {
color:#222222;
}
}






/*スタイル調整の設定*/
/*投稿日時*/
.entry-date {
margin: 0px;
font-weight: bold;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 10px;
padding-left: 0px;
color: #128C15;
}

/*続きを読む*/
.link-text {
display: block;
text-align: right;
margin-top: 15px;
line-height: 1;
}

.link-text a:before {
content: '> ';
}

/*NEW表記*/
.newicon {
font-weight: bold;
color: #F00;
margin: 0px;
padding: 0px;
}


/*左右中央*/
.center {
padding: 0px;
text-align: center !important;
margin: 0px;
}
.right {
padding: 0px;
text-align: right !important;
margin: 0px;
}
.left {
padding: 0px;
text-align: left !important;
margin: 0px;
}

/*padding*/
.pt00 { padding-top: 0   !important;}
.pt10 { padding-top:10px !important;}
.pt20 { padding-top:20px !important;}
.pt30 { padding-top:30px !important;}
.pt40 { padding-top:40px !important;}
.pt50 { padding-top:50px !important;}

.pb00 { padding-bottom: 0   !important;}
.pb10 { padding-bottom:10px !important;}
.pb20 { padding-bottom:20px !important;}
.pb30 { padding-bottom:30px !important;}
.pb40 { padding-bottom:40px !important;}
.pb50 { padding-bottom:50px !important;}

@media screen and (max-width: 767px) {
.pt10 { padding-top:5px !important;}
.pt20 { padding-top:10px !important;}
.pt30 { padding-top:15px !important;}
.pt40 { padding-top:20px !important;}
.pt50 { padding-top:25px !important;}

.pb10 { padding-bottom:5px !important;}
.pb20 { padding-bottom:10px !important;}
.pb30 { padding-bottom:15px !important;}
.pb40 { padding-bottom:20px !important;}
.pb50 { padding-bottom:25px !important;}
}

/*margin*/
.mt00 { margin-top: 0   !important;}
.mt05 { margin-top:5px !important;}
.mt10 { margin-top:10px !important;}
.mt15 { margin-top:15px !important;}
.mt20 { margin-top:20px !important;}
.mt30 { margin-top:30px !important;}
.mt40 { margin-top:40px !important;}
.mt50 { margin-top:50px !important;}
.mt60 { margin-top:60px !important;}
.mt70 { margin-top:70px !important;}
.mt80 { margin-top:80px !important;}
.mt90 { margin-top:90px !important;}
.mt100 { margin-top:100px !important;}
.mt150 { margin-top:150px !important;}

.mb00 { margin-bottom: 0   !important;}
.mb05 { margin-bottom:5px !important;}
.mb10 { margin-bottom:10px !important;}
.mb15 { margin-bottom:15px !important;}
.mb20 { margin-bottom:20px !important;}
.mb30 { margin-bottom:30px !important;}
.mb40 { margin-bottom:40px !important;}
.mb50 { margin-bottom:50px !important;}
.mb60 { margin-bottom:60px !important;}
.mb70 { margin-bottom:70px !important;}
.mb80 { margin-bottom:80px !important;}
.mb90 { margin-bottom:90px !important;}
.mb100 { margin-bottom:100px !important;}
.mb150 { margin-bottom:150px !important;}

@media screen and (max-width: 767px) {
.mt20 { margin-top:10px !important;}
.mt30 { margin-top:15px !important;}
.mt40 { margin-top:20px !important;}
.mt50 { margin-top:25px !important;}
.mt60 { margin-top:30px !important;}
.mt70 { margin-top:35px !important;}
.mt80 { margin-top:40px !important;}
.mt90 { margin-top:45px !important;}
.mt100 { margin-top:50px !important;}
.mt150 { margin-top:75px !important;}

.mb20 { margin-bottom:10px !important;}
.mb30 { margin-bottom:15px !important;}
.mb40 { margin-bottom:20px !important;}
.mb50 { margin-bottom:25px !important;}
.mb60 { margin-bottom:30px !important;}
.mb70 { margin-bottom:35px !important;}
.mb80 { margin-bottom:40px !important;}
.mb90 { margin-bottom:45px !important;}
.mb100 { margin-bottom:50px !important;}
.mb150 { margin-bottom:80px !important;}
}




/*フォントカラー*/
.red  {	color: #F00;}

/* Width */
.w100p   { width: 100% !important;}
.w90p   {
width: 90% !important;
margin-left: auto;
margin-right: auto;
}
.w80p   {
width: 80% !important;
margin-left: auto;
margin-right: auto;
}
.w75p   {
width: 75% !important;
margin-left: auto;
margin-right: auto;
}
.w70p   {
width: 70% !important;
margin-left: auto;
margin-right: auto;
}
.w60p   {
width: 60% !important;
margin-left: auto;
margin-right: auto;
}
.w50p   {
width: 50% !important;
margin-left: auto;
margin-right: auto;
}
.w40p   {
width: 40% !important;
margin-left: auto;
margin-right: auto;
}
.w30p   {
width: 30% !important;
margin-left: auto;
margin-right: auto;
}
.w980   { width: 980px !important;}
.w960   { width: 960px !important;}
.w900   { width: 900px !important;}
.w700	{
width: 700px !important;
margin-right: auto;
margin-left: auto;
}
.w600	{
width: 600px !important;
margin-left: auto;
margin-right: auto;
}
.w500	{ width: 500px !important;}
.w400	{ width: 400px !important;}
.w300	{ width: 300px !important;}
.w200	{ width: 220px !important;}

@media screen and (max-width: 767px) {
.w90p   { width: 100% !important;}
.w80p   { width: 100% !important;}
.w70p   { width: 100% !important;}
.w60p   { width: 100% !important;}
.w50p   { width: 100% !important;}
.w40p   { width: 100% !important;}
.w30p   { width: 100% !important;}

.w980   { width: 100% !important;}
.w960   { width: 100% !important;}
.w900   { width: 100% !important;}
.w700	{ width: 100% !important;}
.w600	{ width: 100% !important;}
.w500	{ width: 100% !important;}
.w400	{ width: 100% !important;}
.w300	{ width: 100% !important;}
.w200	{ width: 100% !important;}
}











/*  PageNavi 設定 */
.wp-pagenavi {
margin: 80px auto;
display: flex;
justify-content: center;
}
.wp-pagenavi .page {
display: inline-block;
text-align: center;
width: 40px;
line-height: 40px;
border: solid 1px #CCC;
border-radius: 21px;
margin: auto 4px;
transition: 0.3s ease-out;
background-color: #FFFFFF;
}
.wp-pagenavi .page:hover {
background: #333;
color: #FFF;
}
.wp-pagenavi .current {
display: inline-block;
text-align: center;
width: 40px;
line-height: 40px;
color: #fff;
background: #333;
border: solid 1px #333;
border-radius: 21px;
margin: auto 4px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .extend,
.wp-pagenavi .first,
.wp-pagenavi .last {
line-height: 40px;
margin: auto 8px;
transition: 0.3s ease-out;
font-size: 20px;
font-weight: 100;
}
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .first:hover,
.wp-pagenavi .last:hover {
color: #CCC;
}

@media screen and (max-width: 767px) {
.wp-pagenavi {
margin: 50px auto;
}
.wp-pagenavi .page,.wp-pagenavi .current {
width: 35px;
line-height: 35px;
margin: auto 2px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .extend,
.wp-pagenavi .first,
.wp-pagenavi .last {
line-height: 35px;
margin: auto 6px;
font-size: 18px;
}
}




/*カレンダーフォーム　カレンダーと時間*/
.F_editor {
margin-top: 50px;
margin-bottom: 50px;
}
.F_editor h2.event_T {
font-size: 18px;
font-weight: bold;
padding-bottom: 20px;
color: #2068CE;
text-align: center;
}
.F_editor p.cal_T {
font-size: 18px;
font-weight: bold;
color: #2068CE;
text-align: center;
background-color: #EAF4FF;
padding-top: 20px;
}
.F_editor p.cal_T span {
font-size: 13px;
font-weight: bold;
color: #FF0000;
}
@media screen and (max-width: 767px) {
.F_editor {
margin-top: 30px;
margin-bottom: 30px;
}
.F_editor h2.event_T {
font-size: 16px;
padding-bottom: 10px;
text-align: left;
}
.F_editor p.cal_T {
font-size: 16px;
padding-top: 20px;
}
.F_editor p.cal_T span {
font-size: 12px;
display: block;
}
}



/*戻るボタン*/
.F_editor button {
clear: both;
border: none;
font-size: 14px;
font-weight: bold;
color: #FFFFFF;
letter-spacing: 0.1em;
border-radius: 4px;
-webkit-transition: background 1s ease, box-shadow 1s ease;
-moz-transition: background 1s ease, box-shadow 1s ease;
transition: background 1s ease, box-shadow 1s ease;
background-color: #4AA7DD;
margin-top: 10px;
margin-right: auto !important;
margin-bottom: 0;
margin-left: auto !important;
width: 100px;
padding-top: 10px;
padding-right: 10px;
padding-bottom: 10px;
padding-left: 10px;
}
.F_editor button:hover{
cursor: pointer;
background-color: #4070C4;
}
.mtssb-daily-action{
text-align: center;
}
@media screen and (max-width: 767px) {
.F_editor button {
font-size: 13px;
}
.F_editor button:hover{
padding-left: 10px;
padding-right: 10px;
}
}


/*カレンダーフォーム　予約フォーム*/
.F2_editor {
margin-top: 50px;
margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
.F2_editor {
margin-top: 30px;
margin-bottom: 30px;
}
}






/*タグ*/
ul.post-tags {
display: flex;
flex-wrap:wrap;
gap: 5px;
list-style:none
}
ul.post-tags li a {
padding-left: 15px;
padding-right: 15px;
color: #DF7700;
background-color: #FDEFDD;
font-size: 12px;
transition: all 0.3s;
display: block;
border: 1px solid #DF7700;
}
ul.post-tags li a:hover {
color: #FFFFFF;
background-color: #DF7700;
}

@media screen and (max-width: 767px) {
.inSp1 {
grid-template-columns: 1fr;
gap: 40px;
margin-bottom: 25px;
}
.inSp1 .item .cat_T span a {
font-size: 3.6vw;
}
.inSp1 .item h3 {
font-size: 3.8vw;
}
ul.post-tags li a {
padding-top: 3px;
padding-left: 10px;
padding-bottom: 3px;
padding-right: 10px;
font-size: 3vw;
}
}


/*タグ　邸別*/
ul.post-tags_h {
display: flex;
flex-wrap: wrap;
gap: 5px;
list-style: none;
padding-bottom: 10px;
}
ul.post-tags_h li a {
padding-top: 0px;
padding-left: 15px;
padding-bottom: 0px;
padding-right: 15px;
color: #DF7700;
background-color: #000000;
font-size: 12px;
transition: all 0.3s;
display: block;
border: 1px solid #DF7700;
}
ul.post-tags_h li a:hover {
color: #FFFFFF;
background-color: #DF7700;
}

@media screen and (max-width: 767px) {
.inSp1 {
grid-template-columns: 1fr;
gap: 40px;
margin-bottom: 25px;
}
.inSp1 .item .cat_T span a {
font-size: 3.6vw;
}
.inSp1 .item h3 {
font-size: 3.8vw;
}
ul.post-tags_h li a {
padding-top: 0px;
padding-left: 10px;
padding-bottom: 0px;
padding-right: 10px;
font-size: 3vw;
}
}

/*タグ　場所別*/
ul.post-tags_h2 {
display: flex;
flex-wrap:wrap;
gap: 5px;
list-style:none;
padding-bottom: 10px;
}
ul.post-tags_h2 li a {
padding-top: 0px;
padding-left: 15px;
padding-bottom: 0px;
padding-right: 15px;
color: #FFFFFF;
background-color: #DF7700;
font-size: 12px;
transition: all 0.3s;
display: block;
border: 1px solid #FFFFFF;
}
ul.post-tags_h2 li a:hover {
color: #DF7700;
background-color: #FFFFFF;
}

@media screen and (max-width: 767px) {
.inSp1 {
grid-template-columns: 1fr;
gap: 40px;
margin-bottom: 25px;
}
.inSp1 .item .cat_T span a {
font-size: 3.6vw;
}
.inSp1 .item h3 {
font-size: 3.8vw;
}
ul.post-tags_h2 li a {
padding-top: 3px;
padding-left: 10px;
padding-bottom: 3px;
padding-right: 10px;
font-size: 3vw;
}
}





/*記事を探す*/
.I_5th {
background-color: #FDEFDD;
padding-top: 60px;
padding-bottom: 60px;
margin-bottom: 40px;
}
.I_5th figure img{
width: 100%;
height: auto;
display: block;
}
@media screen and (max-width: 767px) {
.I_5th {
padding-top: 30px;
padding-bottom: 30px;
margin-bottom: 20px;
}
}

/*検索ボックス*/
.search_B{
position: relative;
width: 40%;
margin-left: auto;
margin-right: auto;
}
.search_container{
box-sizing: border-box;
position: relative;
border: 2px solid #DF7700;
/*display: block;*/
padding-top: 0px;
padding-bottom: 0px;
padding-right: 10px;
-moz-border-radius: 30px;
-webkit-border-radius: 30px;
border-radius: 30px;
height: 50px;
overflow: hidden;
background-color: #FFFFFF;
padding-left: 20px;
margin-left: auto;
margin-right: auto;
display: flex;
align-items: center;
}
.search_container input[type="text"]{
width: 90%!important;
border: none;
height: 2.0em;
font-size: 16px;
}
.search_container input[type="text"]:focus {
outline: 0;
}
.search_container input[type="submit"]{
cursor: pointer;
/*font-size: 1.3em;*/
font-size: 14px;
border: none;
background-repeat: no-repeat;
background-position: 50% center!important;
background-image: url("../parts/i_search4.svg");
background-size: 75px 54px;
position: absolute;
width: 70px;
height: 48px;
right: 0;
top: -2px;
outline : none;
background-color: #DF7700;
border-radius: 0px!important;
}
.search_B h3{
font-size: 22px;
font-weight: bold;
text-align: center;
color: #028080;
}
.search_container input.submit{
border-radius: 0px!important;
}
@media screen and (max-width: 767px) {
.search_B{
width: 90%;
}
.search_container input[type="text"]{
font-size: 3.5vm!important;
}
.search_container input[type="submit"]{
height: 52px;
}
}
@media screen and (max-width: 414px) {
.search_container input[type="submit"]{
top: -5px;
}
}



.search_B .nav{
position: absolute;
bottom: 0px;
left: calc(50% - 490px);
width: 110px;
}
.search_B .nav img{
width: 100%;
height: auto;
display: block;
}
.search_B p{
text-align: center;
margin-top: 10px;
}
@media screen and (max-width: 767px) {
.search_B .nav{
left: 5%;
width: 18%;
}
.search_B p{
text-align: center;
width: 85%;
margin-right: 0px;
margin-left: auto;
}
}


/*フリーワード検索用タイトル*/
h1.free_S{
/*color: #DF7700;
font-size: 40px;
font-weight: bold;
text-align: center;
position: relative;
margin-bottom: 30px;
line-height: 1em;
letter-spacing: 0.1em;*/
color: #DF7700;
font-size: 45px;
font-weight: bold;
text-align: center;
position: relative;
margin-bottom: 60px;
line-height: 1em;
letter-spacing: 0.1em;
}
h1.free_S span{
font-size: 40px;
}
h1.free_S em{
font-size: 16px;
display: block;
color: #595757;
font-weight: normal;
letter-spacing: 0.3em;
margin-top: 5px;
font-style: normal;
}
@media screen and (max-width: 767px) {
h1.free_S{
line-height: 1.3em;
margin-bottom: 20px;
padding-top: 3%;
}
h1.free_S span{
font-size: 8.2vw;
}
h1.free_S em{
font-size: 3.5vw;
margin-top: 0px;
}
}




/*いーね　アイコン付きタイトル*/
.iine {
display: flex;
align-items: center;
}
.iine p {
font-size: 14px;
line-height: 1.5em;
padding-top: 0px;
}
.iine i{
width: 50px;
margin-left: 10px;
font-style: normal!important;
}
.iine i img{
width: 100%;
height: auto;
display: block;
}

/*WP ULIKE　カスタマイズ*/
.iine .wpulike-heart .wp_ulike_general_class {
box-shadow: 0 0 0 0px #bdbdbd inset;
border-radius: 0em;
padding:0px
}
.iine .wpulike-heart .wp_ulike_put_image:after {
width: 30px;
height: 30px;
}
.iine .wpulike-heart .count-box {
font-size: 15px;
padding-top: 0;
padding-right: 5px;
padding-left: 15px;
padding-bottom: 0
}
@media(max-width: 767px){
.iine p {
font-size: 3.5vw;
}
.iine i{
width: 30px;
margin-left: 7px;
}
}

/*詳細ページ*/
.b_iine {
width: 980px;
margin-right: auto;
margin-left: auto;
display: flex;
justify-content: flex-end;
}
@media(max-width: 767px){
.b_iine {
width: 70%;
}
}

/*一覧用*/
.b_iine_achv {
_zoom: 1;
overflow: hidden;
display: flex;
justify-content: flex-start;
}
@media(max-width: 767px){
.b_iine_achv {

}
}


/*キーワード一覧*/
.keyword {
margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
.keyword {
margin-bottom: 40px;
}
}


/*タームナビ　タグナビ*/
.terms_nav {
margin-bottom: 50px;
}
.terms_nav ul {
display: flex;
flex-wrap:wrap;
justify-content:center;
gap: 10px;
list-style:none
}
.terms_nav ul li a {
padding-top: 5px;
padding-bottom: 5px;
padding-left: 20px;
padding-right: 20px;
color: #DF7700;
background-color: #FDEFDD;
transition: all 0.3s;
display: block;
line-height: 1.6em;
border: 1px solid #DF7700;
}
.terms_nav.comm ul li a {
background-color: #FFFFFF;
}
.terms_nav ul li a:hover {
color: #FFFFFF;
background-color: #DF7700;
}
.terms_nav ul li.current a{
color: #FFFFFF;
background-color: #DF7700;
}
@media screen and (max-width: 767px) {
.terms_nav {
margin-bottom: 25px;
}
.terms_nav ul li a {
padding-top: 3px;
padding-bottom: 3px;
font-size: 3.3vw;
}
}

/*リンクを無効化*/
.disabled-link {
pointer-events: none;
cursor: default;
}




/* ---------------------------------------------------------------- *
ページ間のナビ設定　＜前の記事　　次の記事＞
* ---------------------------------------------------------------- */

.postlink {
_zoom: 1;
overflow: hidden;
padding: 0px;
clear: both;
margin-top: 40px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 0px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
}
.postlink ul {
margin: 0;
}
.postlink li {
width: 32.3333%;
margin-left: 0.5%;
margin-right: 0.5%;
position: relative;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.postlink li a {
font-size: 15px;
line-height: 1em !important;
padding-top: 20px;
padding-bottom: 20px;
display: flex;
justify-content: center;
align-items: center;
background-color: #F1F1F1;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
padding-left: 0px;
}

.postlink li.previous {
float: left;
}
.postlink li.list {
float: left;
}
.postlink li.next {
float: left;
}
.postlink a:link {
text-decoration: none;
color: #06C;
}
.postlink a:visited {
text-decoration: none;
color: #06C;
}
.postlink a:hover, .postlink a:active {
text-decoration: none;
color: #06C;
background-color: #EEEEEE;
}

.postlink li.next a::after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 30px;
width: 8px;
height: 8px;
margin: -4px 0 0 0;
border-top: solid 1px #222222;
border-right: solid 1px #222222;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transition: all 0.3s;
}
.postlink li.previous a::after {
display: block;
content: "";
position: absolute;
top: 50%;
left: 30px;
width: 8px;
height: 8px;
margin: -4px 0 0 0;
border-top: solid 1px #222222;
border-right: solid 1px #222222;
-webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
transition: all 0.3s;
}

@media screen and (max-width: 767px) {
.postlink li.previous {
width: 34%;
margin-left: 0%;
margin-right: 1%;
}
.postlink li.list {
width: 28%;
margin-left: 0%;
margin-right: 0%;
}
.postlink li.next {
width: 34%;
margin-left: 1%;
margin-right: 0%;
}
.postlink li.previous a {
padding-right: 5px;
}
.postlink li.next a {
padding-left: 5px;
}
.postlink li a {
font-size: 11px;
}
}
@media screen and (max-width: 360px) {
.postlink li a {
font-size: 10px;
}
}

/* 空要素のスタイルを設定 */
.postlink ul li:empty:after {
content: '　';
display: block;
}




/*プライバシー*/
.SP_26th {
padding-top: 40px;
padding-bottom: 80px;
position: relative;
z-index: 0;
}
.SP_26th h2 {
padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
font-size: 22px;
font-weight: bold;
margin-bottom: 40px;
border: 1px solid #CCCCCC;
padding-left: 30px;
}
@media screen and (max-width: 767px) {
.SP_26th {
padding-top: 20px;
padding-bottom: 40px;
}
.SP_26th h2 {
padding: 10px;
font-size: 16px;
margin-bottom: 20px;
}
}



.PrivacyP {

}
.PrivacyP p.lead {
margin-bottom: 50px;
font-weight: normal;
}
.PrivacyP p a:link {
color: #0058DC;
text-decoration: underline;
}
.PrivacyP p a:visited {
color: #0058DC;
text-decoration: none;
}
.PrivacyP p a:hover {
color: #003A92;
}
@media screen and (max-width: 430px) {
.PrivacyP {
padding-left: 10px;
padding-right: 10px;
}
.PrivacyP p.lead {
margin-bottom: 25px;
}
}


.PrivacyP .item {
padding: 0px;
position: relative;
margin-bottom: 50px;
}
.PrivacyP .item h3 {
font-weight: bold;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
/*font-size: 100%;*/
margin-bottom: 10px;
color: #ED6C00;
font-size: 18px;
}
.PrivacyP .item p{
margin-bottom: 10px;
font-weight: normal;
}
.PrivacyP .item .company{
padding: 20px;
border: 1px solid #CCCCCC;
}


@media screen and (max-width: 767px) {
.PrivacyP .item {
margin-bottom: 30px;
}
.PrivacyP .item h3 {
/*font-size: 3.3vw;*/
font-size: 13px;
}
.PrivacyP .item p{
/*font-size: 3vw;*/
font-size: 12px;
}
}

.PrivacyP .item  ol {
}
.PrivacyP .item  ol li {
_zoom: 1;
overflow: hidden;
padding-bottom: 12px;
margin-top: 0px;
padding-top: 12px;
background-repeat: repeat-x;
background-position: left bottom;
margin-bottom: 0px;
background-image: url(../parts/line_dot.gif);
}
.PrivacyP .item  ol li dt {
float: left;
width: 40px;
color: #333;
margin: 0px;
font-weight: bold;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 10px;
}
.PrivacyP .item  ol li dt span{
font-size: 10px;
}
.PrivacyP .item  ol li dd {
margin-left: 50px;
background-repeat: no-repeat;
background-position: 0px 0px;
margin-right: 10px;
}
.PrivacyP .item  ol li span.blue{
font-size: 15px;
font-weight: bold;
color: #06C;
margin: 0px;
line-height: 1.8em;
padding: 0px;
}
.PrivacyP .item  ol li span.chui{
font-size: 15px;
font-weight: normal;
margin: 0px;
line-height: 1.8em;
padding: 0px;
}
.PrivacyP .item  ol li dd p{
margin: 0px;
padding: 0px;
}
* html .PrivacyP .item  ol li dd {
zoom: 1;
}


/*Simple Membership Form Builder 　必須カスタム*/
.swpm-required-asterisk {
	background-color: #ff6600;
	color: #fff;
	padding-top: 2px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 2px;
	border-radius: 10px;
	font-size: 0; /* アスタリスクを消す */
	font-weight: bold;
	display: inline-block;
	margin-left: 5px;
	position: relative;
	line-height: 1.6em;
}

.swpm-required-asterisk::before {
	content: '必須';
	font-size: 11px;
	line-height: 1.6em;
}
@media screen and (max-width: 767px) {
.swpm-required-asterisk::before {
	font-size: 10px;
}
}








