@charset "utf-8";
/* CSS Document */


/*common*/
:root {
  --color00: #FFFFFF;
  --color01: #2a519a;
  --color02: #000;
  --color03: #000;
  
  --color90: #EEEEEE;
  --color91: #DDDDDD;
  --color92: #CCCCCC;
  --color93: #AAAAAA;
  --color94: #999999;
  --color95: #666666;
  --color96: #333333;
  --color97: #222222;
  --color98: #111111;
  --color99: #000000;
}


body { font-family: "Noto Sans JP", sans-serif; background: #FFF; color: #000;}


a,
a:hover { transition: ease .5s; text-decoration: none;}

img { width: 100%; height: auto;}

a img { transition: ease .5s;}
a:hover img { transition: ease .5s; opacity: 0.8;}


/*PC*/
@media screen and (min-width: 1680px) {

body { font-size: 18px;}

.pc { display: block;}
.pcBr { display: inline-block;}
.sp { display: none;}
.spBr { display: none;}

a[href^="tel:"] { pointer-events: none;}


.wrap { width: 100%; position: relative;}

header { width: 100%; height: 76px; position: fixed; z-index: 1100; background: var(--color00);}
header .inner { width: 1680px; height: 100%; margin: auto; display: flex; justify-content: space-between; align-items: center;}
header .inner h1 { width: 206px;}
header .inner h1 a { display: block;}

header .inner nav { display: flex; align-items: center;}

header .inner nav ul:nth-of-type(1) { width: 456px; height: 76px; display: flex; justify-content: space-between; align-items: center; margin-right: 50px;}
header .inner nav ul:nth-of-type(1) > li {}
header .inner nav ul:nth-of-type(1) > li > a { height: 100%; display: block; font-size: 17px;}

/* ▼ 下層UL */
header .inner nav ul:nth-of-type(1) > li { position: relative; height: 76px;}
header .inner nav ul:nth-of-type(1) > li > a { height: 76px; display: block; padding: 0 10px; text-decoration: none; align-content: center;}

/* ▼ サブメニュー */
header .inner nav ul:nth-of-type(1) li > ul { height: auto; display: none; flex-direction: column; position: absolute; top: 100%; left: 0; min-width: 220px; margin: 0; padding: 10px 10px 10px 30px; background: #fff; box-shadow: 0 4px 10px rgba(0,0,0,0.15); border-radius: 4px;}
header .inner nav ul:nth-of-type(1) li > ul > li { display: block; height: auto!important; position: relative;}
header .inner nav ul:nth-of-type(1) li > ul > li::before { content: "-"; position: absolute;}
header .inner nav ul:nth-of-type(1) li > ul > li > a { display: inline-block; padding: 5px 15px; white-space: nowrap; height: auto;}





header .inner nav {}
header .inner nav ul:nth-of-type(2) { width: 290px; display: flex; justify-content: space-between;}
header .inner nav ul:nth-of-type(2) li { width: 132px; height: 36px;}
header .inner nav ul:nth-of-type(2) li a { display: block; width: 100%; height: 100%; text-align: center; align-content: center; border-radius: 16px; font-size: 17px;}
header .inner nav ul:nth-of-type(2) li:nth-of-type(1) a { border: solid 2px var(--color01); background: var(--color00); color: var(--color01);}
header .inner nav ul:nth-of-type(2) li:nth-of-type(2) a { border: solid 2px var(--color01); background: var(--color01); color: var(--color00);}
header .inner nav ul:nth-of-type(2) li:nth-of-type(1) a:hover { border: solid 2px var(--color01); background: var(--color01); color: var(--color00);}
header .inner nav ul:nth-of-type(2) li:nth-of-type(2) a:hover { border: solid 2px var(--color01); background: var(--color00); color: var(--color01);}





header .inner nav .hamburger { width: 42px; height: 42px; margin: 0 20px;}
header .inner nav .hamburger a { display: block; width: 100%; height: 100%; cursor: pointer; position: relative;}
header .inner nav .hamburger a span { width: 100%; height: 2px; background: var(--color99); position: absolute; transform-origin: 50% 50%; transition: ease .3s;}
header .inner nav .hamburger a span:nth-of-type(1) { top: 20%; left: 0;}
header .inner nav .hamburger a span:nth-of-type(2) { top: 50%; left: 0;}
header .inner nav .hamburger a span:nth-of-type(3) { top: 80%; left: 0;}

header .inner nav .hamburger a.active span { transition: ease .3s;}
header .inner nav .hamburger a.active span:nth-of-type(1) { top: 50%; left: 0; transform: rotate(30deg);}
header .inner nav .hamburger a.active span:nth-of-type(2) { transform: scaleX(-200%); opacity: 0;}
header .inner nav .hamburger a.active span:nth-of-type(3) { top: 50%; left: 0; transform: rotate(-30deg);}


.content { padding-top: 76px;}


footer { width: 100%; padding: 50px 0 150px;}
footer .inner { width: 1580px; margin: auto;}
footer .inner .box { display: flex; justify-content: center; align-items: center; margin-bottom: 20px;}
footer .inner .box h3 { width: 276px; margin-right: 40px; align-content: center;}
footer .inner .box .contact { width: 557px; display: flex; justify-content: space-between; margin-right: 40px;}
footer .inner .box .contact .tel_img { width: 394px; align-content: center;}
footer .inner .box .contact .contact_link { width: 146px; height: 40px; margin-left: auto;}
footer .inner .box .contact .contact_link a { display: block; width: 100%; height: 100%; text-align: center; align-content: center; border-radius: 14px; font-size: 20px; border: solid 2px var(--color01); background: var(--color01); color: var(--color00);}
footer .inner  .box .contact .contact_link a:hover { border: solid 2px var(--color01); background: var(--color00); color: var(--color01);}
footer .inner .box .conpany_name {}
footer .inner .box .conpany_name h4 { font-size: 20px; font-weight: 400; margin-bottom: 5px;}
footer .inner .box .conpany_name .address address {font-size: 18px; font-style: normal; display: inline-block;}
footer .inner .box .conpany_name .address p { font-size: 18px; margin-bottom: 5px; display: inline-block; margin-left: 1em;}
footer .inner .cp { text-align: center;}
footer .inner .cp p { font-size: 14px;}


.sp_nav { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: var(--color00); transform: translateY(-200%); transition: ease .3s; opacity: 1; z-index: 12000;}
.sp_nav.active { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: var(--color00); transform: translateY(0%); transition: ease .3s; opacity: 1.0; z-index: 1200;}
.sp_nav .inner { width: 1680px; height: 100%; margin: auto; padding: 80px 70px; display: flex; position: relative;}
.sp_nav .inner .img { width: 600px;}
.sp_nav .inner .img img { object-fit: cover; width: 100%; height: 100%;}
.sp_nav .inner .txt { width: 940px;display: flex; flex-direction: column; justify-content: space-between;}
.sp_nav .inner .txt .link { width: auto; display: flex; justify-content: space-between; padding: 50px 100px 0; overflow-y: auto;}
.sp_nav .inner .txt .link > ul { width: auto; height: auto; display: flex; flex-direction: column; margin-bottom: 50px;}
.sp_nav .inner .txt .link > ul:nth-of-type(1) { width: 65%;}
.sp_nav .inner .txt .link > ul:nth-of-type(2) { width: 35%;}
.sp_nav .inner .txt .link > ul > li:not(:first-child) { margin-top: 30px;}
.sp_nav .inner .txt .link > ul a { position: relative;}
/*.sp_nav .inner .txt .link > ul a::before { content: ""; width: 1.2em; height: 1.2em; background: #2a519a; border-radius: 50%; position: absolute; top: 0; right: -40px; bottom: 0; margin: auto;}*/
.sp_nav .inner .txt .link > ul a::after  { content: ""; width: 0.5em; height: 0.5em; border-top: solid 1px #666; border-right: solid 1px #666; transform: rotate(45deg); position: absolute; top: 0; right: -32px; bottom: 0; margin: auto;}

.sp_nav .inner .txt .link > ul > li > ul { width: 100%; padding-left: 30px; margin-top: 20px;}
.sp_nav .inner .txt .link > ul > li > ul li { margin-top: 20px; margin-left: 10px;}

.sp_nav .inner .txt .fot { background: #c9dbf2; padding: 38px; color: #2a519a;}
.sp_nav .inner .txt .fot h3 { font-size: 20px; position: relative; overflow: hidden;}
.sp_nav .inner .txt .fot h3::after { content: ""; width: 100%; height: 2px; background: #2a519a; position: absolute; top: 0; bottom: 0; left: 100px; margin: auto;}
.sp_nav .inner .txt .fot h3 + p { font-size: 19px; text-align: center; margin-bottom: 30px;}
.sp_nav .inner .txt .fot .tel_img { display: flex; justify-content: center; align-items: flex-start;}
.sp_nav .inner .txt .fot .tel_img .tel { width: 404px; margin-right: 20px; display: flex; flex-direction: column; align-items: flex-end;}
.sp_nav .inner .txt .fot .tel_img .tel a { width: 100%; display: block;}
.sp_nav .inner .txt .fot .tel_img .tel p { font-size: 20px; margin-top: 10px;}
.sp_nav .inner .txt .fot .tel_img .btn { width: 224px; height: 38px;}
.sp_nav .inner .txt .fot .tel_img .btn a { display: block; width: 100%; height: 100%; border: solid 2px #2a519a; background: #FFF; border-radius: 40px; text-align: center; align-content: center; position: relative; padding-left: 30px;}
.sp_nav .inner .txt .fot .tel_img .btn a::before { content: ""; background: url("../images/common/icon_mail.svg") 0 0 no-repeat; background-size: cover; width: 20px; height: 15px; position: absolute; top: 0; bottom: 0; left: 40px; margin: auto;}
.sp_nav .inner .close { position: absolute; top: 100px; right: 100px;}
.sp_nav .inner .close a { display: block; width: 40px; height: 40px; border-radius: 50%; background: #2a519a; position: relative; cursor: pointer;}
.sp_nav .inner .close a span { width: 70%; height: 2px; background: #FFF; position: absolute; transform-origin: 50% 50%;}
.sp_nav .inner .close a span:nth-of-type(1) { top: 50%; left: 15%; transform: rotate(45deg);}
.sp_nav .inner .close a span:nth-of-type(2) { top: 50%; left: 15%; transform: rotate(-45deg);}




.pagenavi { margin: 0 0 150px;}
.pagenavi .wp-pagenavi { display: flex; justify-content: center;}
.pagenavi .wp-pagenavi span { display: inline-block; width: 40px; height: 40px; text-align: center; align-content: center;}
.pagenavi .wp-pagenavi .current { background: var(--color94); color: var(--color00); margin: 0 5px;}
.pagenavi .wp-pagenavi a { display: inline-block; width: 40px; height: 40px; text-align: center; align-content: center; border: 1px solid var(--color99); color: var(--color99); margin: 0 5px;}
.pagenavi .wp-pagenavi a:hover { display: inline-block; width: 40px; height: 40px; text-align: center; align-content: center; border: 1px solid; margin: 0 5px; background: var(--color99); color: var(--color00);}
.pagenavi .wp-pagenavi a.first,
.pagenavi .wp-pagenavi a.last,
.pagenavi .wp-pagenavi a.previouspostslink,
.pagenavi .wp-pagenavi a.nextpostslink,
.pagenavi .wp-pagenavi a.first:hover,
.pagenavi .wp-pagenavi a.last:hover,
.pagenavi .wp-pagenavi a.previouspostslink:hover,
.pagenavi .wp-pagenavi a.nextpostslink:hover { display: inline-block; width: 40px; height: 40px; text-align: center; border: none; color: var(--color99); margin: 0 5px; background: var(--color00);}


.navigation { margin: 100px 0 100px;}
.navigation nav { display: flex; justify-content: center;}
.navigation nav .arrow a { display: inline-block; width: 60px; height: 60px; text-align: center; align-content: center; font-size: 40px;}
.navigation nav .list a { display: inline-block; width: 220px; height: 60px; text-align: center; align-content: center; border: solid 1px var(--color99); margin: 0 30px;}

.wpcf7-form-control {}
.wpcf7-list-item { margin: 0 !important;}
.wpcf7-list-item label { display: flex; gap: 10px;}
.wpcf7-list-item:not(:first-child) label { margin-left: 30px;}
input[type="text"],
input[type="email"],
input[type="tel"] { width: 100%; padding: 10px 20px; border-radius: 3px; border: solid 1px #CCC; background: var(--color00);}
textarea { width: 100%; height: 200px; padding: 10px 20px; border-radius: 3px; border: solid 1px #CCC; background: var(--color00);}

label { display: flex; align-items: center; column-gap: 4px; width: fit-content; line-height: 1; cursor: pointer;}
input[type="radio"] { appearance: none; position: relative; width: 18px; height: 18px; border: 1px solid var(--color01); border-radius: 9999px; cursor: pointer;}
input[type="radio"]:checked::after { content: ""; position: absolute; inset: 0; width: 10px; height: 10px; margin: auto; border-radius: 9999px; background-color: var(--color01);}

input[type="checkbox"] { appearance: none; position: relative; width: 18px; height: 18px; border: 1px solid var(--color01); border-radius: 3px; cursor: pointer;}
input[type="checkbox"]:checked { background-color: var(--color01);}
input[type="checkbox"]:checked::after { content: ""; position: absolute; top: 4px; left: 3px; width: 10px; height: 6px; border-bottom: 2px solid var(--color00); border-left: 2px solid var(--color00); transform: rotate(-45deg);}


.nav_ct { width: 1440px; margin: 120px auto 100px;}
.nav_ct ul { width: 100%; display: flex; justify-content: center;}
.nav_ct ul li { width: 266px; margin-left: calc( 110px / 4 );}
.nav_ct ul li:nth-of-type(1) { margin-left: 0;}
.nav_ct ul li a { font-size: 20px; width: 100%; height: 66px; display: block; background: var(--color01); color: var(--color00); text-align: center; align-content: center; position: relative;}
.nav_ct ul li a::after { content: "\f105"; font: var(--fa-font-solid); font-size: 18px; position: absolute; top: 0; bottom: 0; right: 20px;  align-content: center; transition: ease .5s;}
.nav_ct ul li a:hover { background: #b0b0b0;}
.nav_ct ul li a:hover::after { content: "\f105"; font: var(--fa-font-solid); font-size: 18px; position: absolute; top: 0; bottom: 0; right: 14px;  align-content: center; transition: ease .5s;}
.nav_ct ul li.current a { pointer-events: none; background: #b0b0b0;}

}


/*PC*/
@media print, screen and (min-width: 768px) and ( max-width: 1679px) {

body { font-size: 1.071vw;}

.pc { display: block;}
.pcBr { display: inline-block;}
.sp { display: none;}
.spBr { display: none;}

a[href^="tel:"] { pointer-events: none;}


.wrap { width: 100%; position: relative;}

header { width: 100%; height: 4.524vw; position: fixed; z-index: 1100; background: var(--color00);}
header .inner { width: 100vw; height: 100%; margin: auto; display: flex; justify-content: space-between; align-items: center;}
header .inner h1 { width: 12.262vw;}
header .inner h1 a { display: block;}

header .inner nav { display: flex; align-items: center;}

header .inner nav ul:nth-of-type(1) { width: 27.143vw; height: 4.524vw; display: flex; justify-content: space-between; align-items: center; margin-right: 2.976vw;}
header .inner nav ul:nth-of-type(1) > li {}
header .inner nav ul:nth-of-type(1) > li > a { height: 100%; display: block; font-size: 1.012vw;}

/* ▼ 下層UL */
header .inner nav ul:nth-of-type(1) > li { position: relative; height: 4.524vw;}
header .inner nav ul:nth-of-type(1) > li > a { height: 4.524vw; display: block; padding: 0 0.595vw; text-decoration: none; align-content: center;}

/* ▼ サブメニュー */
header .inner nav ul:nth-of-type(1) li > ul { height: auto; display: none; flex-direction: column; position: absolute; top: 100%; left: 0; min-width: 13.095vw; margin: 0; padding: 0.595vw 0.595vw 0.595vw 1.786vw; background: #fff; box-shadow: 0 4px 10px rgba(0,0,0,0.15); border-radius: 0.238vw;}
header .inner nav ul:nth-of-type(1) li > ul > li { display: block; height: auto!important; position: relative;}
header .inner nav ul:nth-of-type(1) li > ul > li::before { content: "-"; position: absolute;}
header .inner nav ul:nth-of-type(1) li > ul > li > a { display: inline-block; padding: 0.298vw 0.893vw; white-space: nowrap; height: auto;}





header .inner nav {}
header .inner nav ul:nth-of-type(2) { width: 17.262vw; display: flex; justify-content: space-between;}
header .inner nav ul:nth-of-type(2) li { width: 7.857vw; height: 2.143vw;}
header .inner nav ul:nth-of-type(2) li a { display: block; width: 100%; height: 100%; text-align: center; align-content: center; border-radius: 0.952vw; font-size: 1.012vw;}
header .inner nav ul:nth-of-type(2) li:nth-of-type(1) a { border: solid 1px var(--color01); background: var(--color00); color: var(--color01);}
header .inner nav ul:nth-of-type(2) li:nth-of-type(2) a { border: solid 1px var(--color01); background: var(--color01); color: var(--color00);}
header .inner nav ul:nth-of-type(2) li:nth-of-type(1) a:hover { border: solid 1px var(--color01); background: var(--color01); color: var(--color00);}
header .inner nav ul:nth-of-type(2) li:nth-of-type(2) a:hover { border: solid 1px var(--color01); background: var(--color00); color: var(--color01);}





header .inner nav .hamburger { width: 2.5vw; height: 2.5vw; margin: 0 1.19vw;}
header .inner nav .hamburger a { display: block; width: 100%; height: 100%; cursor: pointer; position: relative;}
header .inner nav .hamburger a span { width: 100%; height: 2px; background: var(--color99); position: absolute; transform-origin: 50% 50%; transition: ease .3s;}
header .inner nav .hamburger a span:nth-of-type(1) { top: 20%; left: 0;}
header .inner nav .hamburger a span:nth-of-type(2) { top: 50%; left: 0;}
header .inner nav .hamburger a span:nth-of-type(3) { top: 80%; left: 0;}

header .inner nav .hamburger a.active span { transition: ease .3s;}
header .inner nav .hamburger a.active span:nth-of-type(1) { top: 50%; left: 0; transform: rotate(30deg);}
header .inner nav .hamburger a.active span:nth-of-type(2) { transform: scaleX(-200%); opacity: 0;}
header .inner nav .hamburger a.active span:nth-of-type(3) { top: 50%; left: 0; transform: rotate(-30deg);}


.content { padding-top: 4.524vw;}


footer { width: 100%; padding: 2.976vw 0 8.929vw;}
footer .inner { width: 94.048vw; margin: auto;}
footer .inner .box { display: flex; justify-content: center; align-items: center; margin-bottom: 1.19vw;}
footer .inner .box h3 { width: 16.429vw; margin-right: 2.381vw; align-content: center;}
footer .inner .box .contact { width: 33.155vw; display: flex; justify-content: space-between; margin-right: 2.381vw;}
footer .inner .box .contact .tel_img { width: 23.452vw; align-content: center;}
footer .inner .box .contact .contact_link { width: 8.69vw; height: 2.381vw; margin-left: auto;}
footer .inner .box .contact .contact_link a { display: block; width: 100%; height: 100%; text-align: center; align-content: center; border-radius: 0.833vw; font-size: 1.19vw; border: solid 1px var(--color01); background: var(--color01); color: var(--color00);}
footer .inner  .box .contact .contact_link a:hover { border: solid 1px var(--color01); background: var(--color00); color: var(--color01);}
footer .inner .box .conpany_name {}
footer .inner .box .conpany_name h4 { font-size: 1.1905vw; font-weight: 400; margin-bottom: 0.2976vw;}
footer .inner .box .conpany_name .address address {font-size: 1.0714vw; font-style: normal; display: inline-block;}
footer .inner .box .conpany_name .address p { font-size: 1.0714vw; margin-bottom: 0.2976vw; display: inline-block; margin-left: 1em;}
footer .inner .cp { text-align: center;}
footer .inner .cp p { font-size: 0.833vw;}


.sp_nav { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: var(--color00); transform: translateY(-200%); transition: ease .3s; opacity: 1; z-index: 12000;}
.sp_nav.active { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: var(--color00); transform: translateY(0%); transition: ease .3s; opacity: 1.0; z-index: 1200;}
.sp_nav .inner { width: 100.0000vw; height: 100%; margin: auto; padding: 4.7619vw 4.1667vw; display: flex; position: relative;}
.sp_nav .inner .img { width: 35.7143vw;}
.sp_nav .inner .img img { object-fit: cover; width: 100%; height: 100%;}
.sp_nav .inner .txt { width: 55.9524vw;display: flex; flex-direction: column; justify-content: space-between;}
.sp_nav .inner .txt .link { width: auto; display: flex; justify-content: space-between; padding: 5.9524vw; overflow-y: auto;}
.sp_nav .inner .txt .link > ul { width: auto; display: flex; flex-direction: column;}
.sp_nav .inner .txt .link > ul:nth-of-type(1) { width: 65%;}
.sp_nav .inner .txt .link > ul:nth-of-type(2) { width: 35%;}
.sp_nav .inner .txt .link > ul > li:not(:first-child) { margin-top: 1.7857vw;}
.sp_nav .inner .txt .link > ul a { position: relative;}
/*.sp_nav .inner .txt .link > ul a::before { content: ""; width: 1.2em; height: 1.2em; background: #2a519a; border-radius: 50%; position: absolute; top: 0; right: -2.3810vw; bottom: 0; margin: auto;}*/
.sp_nav .inner .txt .link > ul a::after  { content: ""; width: 0.5em; height: 0.5em; border-top: solid 1px #666; border-right: solid 1px #666; transform: rotate(45deg); position: absolute; top: 0; right: -1.9048vw; bottom: 0; margin: auto;}

.sp_nav .inner .txt .link > ul > li > ul { width: 100%; padding-left: 1.7857vw; margin-top: 1.1905vw;}
.sp_nav .inner .txt .link > ul > li > ul li { margin-top: 1.1905vw; margin-left: 0.5952vw;}

.sp_nav .inner .txt .fot { background: #c9dbf2; padding: 2.2619vw; color: #2a519a;}
.sp_nav .inner .txt .fot h3 { font-size: 1.1905vw; position: relative; overflow: hidden;}
.sp_nav .inner .txt .fot h3::after { content: ""; width: 100%; height: 0.1190vw; background: #2a519a; position: absolute; top: 0; bottom: 0; left: 5.9524vw; margin: auto;}
.sp_nav .inner .txt .fot h3 + p { font-size: 1.1310vw; text-align: center; margin-bottom: 1.7857vw;}
.sp_nav .inner .txt .fot .tel_img { display: flex; justify-content: center; align-items: flex-start;}
.sp_nav .inner .txt .fot .tel_img .tel { width: 24.0476vw; margin-right: 1.1905vw; display: flex; flex-direction: column; align-items: flex-end;}
.sp_nav .inner .txt .fot .tel_img .tel a { width: 100%; display: block;}
.sp_nav .inner .txt .fot .tel_img .btn { width: 13.3333vw; height: 2.2619vw;}
.sp_nav .inner .txt .fot .tel_img .btn a { display: block; width: 100%; height: 100%; border: solid 0.1190vw #2a519a; background: #FFF; border-radius: 2.3810vw; text-align: center; align-content: center; position: relative; padding-left: 1.7857vw;}
.sp_nav .inner .txt .fot .tel_img .btn a::before { content: ""; background: url("../images/common/icon_mail.svg") 0 0 no-repeat; background-size: cover; width: 1.1905vw; height: 0.8929vw; position: absolute; top: 0; bottom: 0; left: 2.3810vw; margin: auto;}
.sp_nav .inner .txt .fot .tel_img + p { font-size: 1.1905vw; text-align: center;}
.sp_nav .inner .close { position: absolute; top: 5.9524vw; right: 5.9524vw;}
.sp_nav .inner .close a { display: block; width: 2.3810vw; height: 2.3810vw; border-radius: 50%; background: #2a519a; position: relative; cursor: pointer;}
.sp_nav .inner .close a span { width: 70%; height: 0.1190vw; background: #FFF; position: absolute; transform-origin: 50% 50%;}
.sp_nav .inner .close a span:nth-of-type(1) { top: 50%; left: 15%; transform: rotate(45deg);}
.sp_nav .inner .close a span:nth-of-type(2) { top: 50%; left: 15%; transform: rotate(-45deg);}


.pagenavi { margin: 0 0 8.929vw;}
.pagenavi .wp-pagenavi { display: flex; justify-content: center;}
.pagenavi .wp-pagenavi span { display: inline-block; width: 2.381vw; height: 2.381vw; text-align: center; align-content: center;}
.pagenavi .wp-pagenavi .current { background: var(--color94); color: var(--color00); margin: 0 0.298vw;}
.pagenavi .wp-pagenavi a { display: inline-block; width: 2.381vw; height: 2.381vw; text-align: center; align-content: center; border: 1px solid var(--color99); color: var(--color99); margin: 0 0.298vw;}
.pagenavi .wp-pagenavi a:hover { display: inline-block; width: 2.381vw; height: 2.381vw; text-align: center; align-content: center; border: 1px solid; margin: 0 0.298vw; background: var(--color99); color: var(--color00);}
.pagenavi .wp-pagenavi a.first,
.pagenavi .wp-pagenavi a.last,
.pagenavi .wp-pagenavi a.previouspostslink,
.pagenavi .wp-pagenavi a.nextpostslink,
.pagenavi .wp-pagenavi a.first:hover,
.pagenavi .wp-pagenavi a.last:hover,
.pagenavi .wp-pagenavi a.previouspostslink:hover,
.pagenavi .wp-pagenavi a.nextpostslink:hover { display: inline-block; width: 2.381vw; height: 2.381vw; text-align: center; border: none; color: var(--color99); margin: 0 0.298vw; background: var(--color00);}


.navigation { margin: 5.952vw 0 5.952vw;}
.navigation nav { display: flex; justify-content: center;}
.navigation nav .arrow a { display: inline-block; width: 3.571vw; height: 3.571vw; text-align: center; align-content: center; font-size: 2.381vw;}
.navigation nav .list a { display: inline-block; width: 13.095vw; height: 3.571vw; text-align: center; align-content: center; border: solid 1px var(--color99); margin: 0 1.786vw;}

.wpcf7-form-control {}
.wpcf7-list-item { margin: 0 !important;}
.wpcf7-list-item label { display: flex; gap: 0.5952vw;}
.wpcf7-list-item:not(:first-child) label { margin-left: 1.7857vw;}
input[type="text"],
input[type="email"],
input[type="tel"] { width: 100%; padding: 0.5952vw 1.1905vw; border-radius: 0.1786vw; border: solid 1px #CCC; background: var(--color00);}
textarea { width: 100%; height: 11.9048vw; padding: 0.5952vw 1.1905vw; border-radius: 0.1786vw; border: solid 1px #CCC; background: var(--color00);}

label { display: flex; align-items: center; column-gap: 0.2381vw; width: fit-content; line-height: 1; cursor: pointer;}
input[type="radio"] { appearance: none; position: relative; width: 1.0714vw; height: 1.0714vw; border: 1px solid var(--color01); border-radius: 595.1786vw; cursor: pointer;}
input[type="radio"]:checked::after { content: ""; position: absolute; inset: 0; width: 0.5952vw; height: 0.5952vw; margin: auto; border-radius: 595.1786vw; background-color: var(--color01);}

input[type="checkbox"] { appearance: none; position: relative; width: 1.0714vw; height: 1.0714vw; border: 1px solid var(--color01); border-radius: 0.1786vw; cursor: pointer;}
input[type="checkbox"]:checked { background-color: var(--color01);}
input[type="checkbox"]:checked::after { content: ""; position: absolute; top: 0.2381vw; left: 0.1786vw; width: 0.5952vw; height: 0.3571vw; border-bottom: 0.1190vw solid var(--color00); border-left: 0.1190vw solid var(--color00); transform: rotate(-45deg);}


.nav_ct { width: 85.7143vw; margin: 7.1429vw auto 5.9524vw;}
.nav_ct ul { width: 100%; display: flex; justify-content: center;}
.nav_ct ul li { width: 15.8333vw; margin-left: calc( 6.5476vw / 4 );}
.nav_ct ul li:nth-of-type(1) { margin-left: 0;}
.nav_ct ul li a { font-size: 1.1905vw; width: 100%; height: 3.9286vw; display: block; background: var(--color01); color: var(--color00); text-align: center; align-content: center; position: relative;}
.nav_ct ul li a::after { content: "\f105"; font: var(--fa-font-solid); font-size: 1.0714vw; position: absolute; top: 0; bottom: 0; right: 1.1905vw;  align-content: center; transition: ease .5s;}
.nav_ct ul li a:hover { background: #b0b0b0;}
.nav_ct ul li a:hover::after { content: "\f105"; font: var(--fa-font-solid); font-size: 1.0714vw; position: absolute; top: 0; bottom: 0; right: 0.8333vw;  align-content: center; transition: ease .5s;}
.nav_ct ul li.current a { pointer-events: none; background: #b0b0b0;}

}



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


body { font-size: 2.9333vw;}

.pc { display: none;}
.pcBr { display: none;}
.sp { display: block;}
.spBr { display: inline-block;}

.wrap { width: 100%; position: relative;}

header { width: 100%; height: 18.6667vw; position: fixed; z-index: 1100; background: var(--color00); padding: 5.3333vw 1.3333vw;}
header .inner { width: 100%; height: 100%; margin: auto; display: flex; justify-content: space-between;}
header .inner h1 { width: 35.7333vw;}
header .inner h1 a { display: block;}

header .inner nav { display: flex; margin-top: 1.3333vw; margin-right: 2.6667vw;}

header .inner nav ul:nth-of-type(1) { display: none;}
header .inner nav ul:nth-of-type(1) > li {}
header .inner nav ul:nth-of-type(1) > li > a { height: 100%; display: block; font-size: 2.9333vw;}

/* ▼ 下層UL */
header .inner nav ul:nth-of-type(1) > li { position: relative;}
header .inner nav ul:nth-of-type(1) > li > a { display: block; padding: 0 1.3333vw; text-decoration: none; align-content: center;}

/* ▼ サブメニュー */
header .inner nav ul:nth-of-type(1) li > ul { height: auto; display: none; flex-direction: column; position: absolute; top: 100%; left: 0; min-width: 29.3333vw; margin: 0; padding: 1.3333vw 1.3333vw 1.3333vw 4.0000vw; background: #fff; box-shadow: 0 0.5333vw 1.3333vw rgba(0,0,0,0.15); border-radius: 0.5333vw;}
header .inner nav ul:nth-of-type(1) li > ul > li { display: block; height: auto!important; position: relative;}
header .inner nav ul:nth-of-type(1) li > ul > li::before { content: "-"; position: absolute;}
header .inner nav ul:nth-of-type(1) li > ul > li > a { display: inline-block; padding: 0.6667vw 2.0000vw; white-space: nowrap; height: auto;}





header .inner nav {}
header .inner nav ul:nth-of-type(2) { width: 44.5333vw; display: flex; justify-content: space-between;}
header .inner nav ul:nth-of-type(2) li { width: 20.8000vw; height: 5.6000vw;}
header .inner nav ul:nth-of-type(2) li a { display: block; width: 100%; height: 100%; text-align: center; align-content: center; border-radius: 2.1333vw; font-size: 2.9333vw;}
header .inner nav ul:nth-of-type(2) li:nth-of-type(1) a { border: solid 0.2667vw var(--color01); background: var(--color00); color: var(--color01);}
header .inner nav ul:nth-of-type(2) li:nth-of-type(2) a { border: solid 0.2667vw var(--color01); background: var(--color01); color: var(--color00);}
header .inner nav ul:nth-of-type(2) li:nth-of-type(1) a:hover { border: solid 0.2667vw var(--color01); background: var(--color01); color: var(--color00);}
header .inner nav ul:nth-of-type(2) li:nth-of-type(2) a:hover { border: solid 0.2667vw var(--color01); background: var(--color00); color: var(--color01);}





header .inner nav .hamburger { width: 5.6000vw; height: 5.6000vw; margin: 0 0 0 2.6667vw;}
header .inner nav .hamburger a { display: block; width: 100%; height: 100%; cursor: pointer; position: relative;}
header .inner nav .hamburger a span { width: 100%; height: 2px; background: var(--color99); position: absolute; transform-origin: 50% 50%; transition: ease .3s;}
header .inner nav .hamburger a span:nth-of-type(1) { top: 20%; left: 0;}
header .inner nav .hamburger a span:nth-of-type(2) { top: 50%; left: 0;}
header .inner nav .hamburger a span:nth-of-type(3) { top: 80%; left: 0;}

header .inner nav .hamburger a.active span { transition: ease .3s;}
header .inner nav .hamburger a.active span:nth-of-type(1) { top: 50%; left: 0; transform: rotate(30deg);}
header .inner nav .hamburger a.active span:nth-of-type(2) { transform: scaleX(-200%); opacity: 0;}
header .inner nav .hamburger a.active span:nth-of-type(3) { top: 50%; left: 0; transform: rotate(-30deg);}


.content { padding-top: 22.6667vw;}


footer { width: 100%; padding: 6.6667vw 0 20.0000vw;}
footer .inner { width: 100%; margin: auto;}
footer .inner .box { display: flex; justify-content: center; align-items: center; margin-bottom: 2.6667vw; flex-direction: column;}
footer .inner .box h3 { width: 53.3333vw; align-content: center; margin-bottom: 1.3333vw;}
footer .inner .box .contact { display: flex; justify-content: space-between; align-items: center; gap: 2.6667vw;}
footer .inner .box .contact .tel_img { width: 66.1333vw; align-content: center;}
footer .inner .box .contact .contact_link { width: 24.5333vw; height: 6.1333vw;}
footer .inner .box .contact .contact_link a { display: block; width: 100%; height: 100%; text-align: center; align-content: center; border-radius: 1.8667vw; font-size: 3.2000vw; border: solid 0.2667vw var(--color01); background: var(--color01); color: var(--color00);}
footer .inner .box .contact .contact_link a:hover { border: solid 0.2667vw var(--color01); background: var(--color00); color: var(--color01);}
footer .inner .box .conpany_name { margin-top: 3.4667vw;}
footer .inner .box .conpany_name h4 { font-size: 4.2667vw; font-weight: 400; margin-bottom: 0.6667vw;}
footer .inner .box .address { text-align: center;}
footer .inner .box .address address { font-size: 2.9333vw; font-style: normal;}
footer .inner .box .address p { font-size: 3.0667vw; display: inline-block; margin: 0 0.5em;}

footer .inner .cp { text-align: center;}
footer .inner .cp p { font-size: 1.8667vw;}


.sp_nav { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: var(--color00); transform: translateY(-150%); transition: ease-in .5s; opacity: 1; z-index: 1200;}
.sp_nav.active { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: var(--color00); transform: translateY(0%); transition: ease-in .5s; opacity: 1; z-index: 1200;}
.sp_nav .inner { width: 100%; height: 100vh; margin: auto; padding: 20.0000vw 0 0; display: flex; position: relative;}
.sp_nav .inner .img { display: none;}
.sp_nav .inner .img img { object-fit: cover; width: 100%; height: 100%;}
.sp_nav .inner .txt { display: flex; flex-direction: column; width: 100%;}
.sp_nav .inner .txt .link { width: auto; display: flex; justify-content: center; padding: 0 5.3333vw; gap: 13.3333vw; font-size: 3.4667vw; margin-bottom: 10.6667vw;}
.sp_nav .inner .txt .link > ul { width: auto; height: auto; display: flex; flex-direction: column;}
.sp_nav .inner .txt .link > ul > li:not(:first-child) { margin-top: 4.0000vw;}
.sp_nav .inner .txt .link > ul a { display: inline-block; padding-right: 4.0000vw; position: relative;}
.sp_nav .inner .txt .link > ul a::after  { content: ""; width: 0.5em; height: 0.5em; border-top: solid 1px #666; border-right: solid 1px #666; transform: rotate(45deg); position: absolute; right: 0; bottom: 1.6000vw;}

.sp_nav .inner .txt .link > ul > li > ul { width: 100%; padding-left: 2.6667vw; margin-top: 2.6667vw;}
.sp_nav .inner .txt .link > ul > li > ul li { margin-top: 2.6667vw; margin-left: 1.3333vw;}

.sp_nav .inner .txt .fot { background: #c9dbf2; padding: 5.0667vw; color: #2a519a; width: 100%;}
.sp_nav .inner .txt .fot h3 { font-size: 2.6667vw; position: relative; overflow: hidden; margin-bottom: 1.3333vw;}
.sp_nav .inner .txt .fot h3::after { content: ""; width: 100%; height: 0.2667vw; background: #2a519a; position: absolute; top: 0; bottom: 0; left: 13.3333vw; margin: auto;}
.sp_nav .inner .txt .fot h3 + p { font-size: 2.6667vw; text-align: center; margin-bottom: 4.0000vw;}
.sp_nav .inner .txt .fot .tel_img { display: flex; justify-content: center;}
.sp_nav .inner .txt .fot .tel_img .tel { width: 53.8667vw; margin-right: 1em; display: flex; flex-direction: column; align-items: flex-end;}
.sp_nav .inner .txt .fot .tel_img .tel p { font-size: 2.6667vw; margin-top: 1.3333vw;}
.sp_nav .inner .txt .fot .tel_img .tel a { width: 100%; display: block;}
.sp_nav .inner .txt .fot .tel_img .btn { width: 29.8667vw;}
.sp_nav .inner .txt .fot .tel_img .btn a { display: block; width: 100%; height: 5.0667vw; border: solid 0.2667vw #2a519a; background: #FFF; border-radius: 5.3333vw; text-align: center; align-content: center; position: relative; padding-left: 4.0000vw;}
.sp_nav .inner .txt .fot .tel_img .btn a::before { content: ""; background: url("../images/common/icon_mail.svg") 0 0 no-repeat; background-size: cover; width: 2.6667vw; height: 2.0000vw; position: absolute; top: 0; bottom: 0; left: 4.0000vw; margin: auto;}
.sp_nav .inner .close { position: absolute; top: 8.0000vw; right: 13.3333vw;}
.sp_nav .inner .close a { display: block; width: 5.3333vw; height: 5.3333vw; border-radius: 50%; background: #2a519a; position: relative; cursor: pointer;}
.sp_nav .inner .close a span { width: 70%; height: 0.2667vw; background: #FFF; position: absolute; transform-origin: 50% 50%;}
.sp_nav .inner .close a span:nth-of-type(1) { top: 50%; left: 15%; transform: rotate(45deg);}
.sp_nav .inner .close a span:nth-of-type(2) { top: 50%; left: 15%; transform: rotate(-45deg);}




.pagenavi { margin: 0 0 20.0000vw;}
.pagenavi .wp-pagenavi { display: flex; justify-content: center;}
.pagenavi .wp-pagenavi span { display: inline-block; width: 5.3333vw; height: 5.3333vw; text-align: center; align-content: center;}
.pagenavi .wp-pagenavi .current { background: var(--color94); color: var(--color00); margin: 0 0.6667vw;}
.pagenavi .wp-pagenavi a { display: inline-block; width: 5.3333vw; height: 5.3333vw; text-align: center; align-content: center; border: 1px solid var(--color99); color: var(--color99); margin: 0 0.6667vw;}
.pagenavi .wp-pagenavi a:hover { display: inline-block; width: 5.3333vw; height: 5.3333vw; text-align: center; align-content: center; border: 1px solid; margin: 0 0.6667vw; background: var(--color99); color: var(--color00);}
.pagenavi .wp-pagenavi a.first,
.pagenavi .wp-pagenavi a.last,
.pagenavi .wp-pagenavi a.previouspostslink,
.pagenavi .wp-pagenavi a.nextpostslink,
.pagenavi .wp-pagenavi a.first:hover,
.pagenavi .wp-pagenavi a.last:hover,
.pagenavi .wp-pagenavi a.previouspostslink:hover,
.pagenavi .wp-pagenavi a.nextpostslink:hover { display: inline-block; width: 5.3333vw; height: 5.3333vw; text-align: center; border: none; color: var(--color99); margin: 0 0.6667vw; background: var(--color00);}


.navigation { margin: 13.3333vw 0 13.3333vw;}
.navigation nav { display: flex; justify-content: center;}
.navigation nav .arrow a { display: inline-block; width: 8.0000vw; height: 8.0000vw; text-align: center; align-content: center; font-size: 5.3333vw;}
.navigation nav .list a { display: inline-block; width: 29.3333vw; height: 8.0000vw; text-align: center; align-content: center; border: solid 1px var(--color99); margin: 0 4.0000vw;}

.wpcf7-form-control {}
.wpcf7-list-item { margin: 0 !important;}
.wpcf7-list-item label { display: flex; gap: 1.3333vw;}
.wpcf7-list-item:not(:first-child) label { margin-left: 4.0000vw;}
input[type="text"],
input[type="email"],
input[type="tel"] { width: 100%; padding: 1.3333vw 2.6667vw; border-radius: 0.4000vw; border: solid 1px #CCC; background: var(--color00);}
textarea { width: 100%; height: 26.6667vw; padding: 1.3333vw 2.6667vw; border-radius: 0.4000vw; border: solid 1px #CCC; background: var(--color00);}

label { display: flex; align-items: center; column-gap: 0.5333vw; width: fit-content; line-height: 1; cursor: pointer;}
input[type="radio"] { appearance: none; position: relative; width: 2.4000vw; height: 2.4000vw; border: 1px solid var(--color01); border-radius: 1333.2000vw; cursor: pointer;}
input[type="radio"]:checked::after { content: ""; position: absolute; inset: 0; width: 1.3333vw; height: 1.3333vw; margin: auto; border-radius: 1333.2000vw; background-color: var(--color01);}

input[type="checkbox"] { appearance: none; position: relative; width: 2.6667vw; height: 2.6667vw; border: 1px solid var(--color01); border-radius: 0.4000vw; cursor: pointer;}
input[type="checkbox"]:checked { background-color: var(--color01);}
input[type="checkbox"]:checked::after { content: ""; position: absolute; top: 0.5333vw; left: 0.2667vw; width: 1.7333vw; height: 0.9333vw; border-bottom: 0.2667vw solid var(--color00); border-left: 0.2667vw solid var(--color00); transform: rotate(-45deg);}


.nav_ct { width: 100%; margin: 16.0000vw auto 13.3333vw; padding: 0 4.0000vw;}
.nav_ct ul { width: 100%; display: flex; justify-content: center; flex-direction: column; gap: 1.3333vw;}
.nav_ct ul li { width: 100%;}
.nav_ct ul li a { font-size: 2.6667vw; width: 100%; height: 8.8000vw; display: block; background: var(--color01); color: var(--color00); text-align: center; align-content: center; position: relative;}
.nav_ct ul li a::after { content: "\f105"; font: var(--fa-font-solid); font-size: 2.4000vw; position: absolute; top: 0; bottom: 0; right: 2.6667vw;  align-content: center; transition: ease .5s;}
.nav_ct ul li a:hover { background: #b0b0b0;}
.nav_ct ul li a:hover::after { content: "\f105"; font: var(--fa-font-solid); font-size: 2.4000vw; position: absolute; top: 0; bottom: 0; right: 1.8667vw;  align-content: center; transition: ease .5s;}
.nav_ct ul li.current a { pointer-events: none; background: #b0b0b0;}


}




/*sp*/
@media only screen and (width: 750px) {


body { font-size: 22px;}

.pc { display: none;}
.pcBr { display: none;}
.sp { display: block;}
.spBr { display: inline-block;}

.wrap { width: 100%; position: relative;}

header { width: 100%; height: 140px; position: fixed; z-index: 1100; /*background: var(--color00);*/ background: linear-gradient(180deg, rgba(255, 255, 255, 1) 70%, rgba(255, 255, 255, 0)); padding: 40px 10px;}
header .inner { width: 100%; height: 100%; margin: auto; display: flex; justify-content: space-between;}
header .inner h1 { width: 268px;}
header .inner h1 a { display: block;}

header .inner nav { display: flex; margin-top: 10px; margin-right: 20px;}

header .inner nav ul:nth-of-type(1) { display: none;}
header .inner nav ul:nth-of-type(1) > li {}
header .inner nav ul:nth-of-type(1) > li > a { height: 100%; display: block; font-size: 22px;}

/* ▼ 下層UL */
header .inner nav ul:nth-of-type(1) > li { position: relative;}
header .inner nav ul:nth-of-type(1) > li > a { display: block; padding: 0 10px; text-decoration: none; align-content: center;}

/* ▼ サブメニュー */
header .inner nav ul:nth-of-type(1) li > ul { height: auto; display: none; flex-direction: column; position: absolute; top: 100%; left: 0; min-width: 220px; margin: 0; padding: 10px 10px 10px 30px; background: #fff; box-shadow: 0 4px 10px rgba(0,0,0,0.15); border-radius: 4px;}
header .inner nav ul:nth-of-type(1) li > ul > li { display: block; height: auto!important; position: relative;}
header .inner nav ul:nth-of-type(1) li > ul > li::before { content: "-"; position: absolute;}
header .inner nav ul:nth-of-type(1) li > ul > li > a { display: inline-block; padding: 5px 15px; white-space: nowrap; height: auto;}





header .inner nav {}
header .inner nav ul:nth-of-type(2) { width: 334px; display: flex; justify-content: space-between;}
header .inner nav ul:nth-of-type(2) li { width: 156px; height: 42px;}
header .inner nav ul:nth-of-type(2) li a { display: block; width: 100%; height: 100%; text-align: center; align-content: center; border-radius: 16px; font-size: 22px;}
header .inner nav ul:nth-of-type(2) li:nth-of-type(1) a { border: solid 2px var(--color01); background: var(--color00); color: var(--color01);}
header .inner nav ul:nth-of-type(2) li:nth-of-type(2) a { border: solid 2px var(--color01); background: var(--color01); color: var(--color00);}
header .inner nav ul:nth-of-type(2) li:nth-of-type(1) a:hover { border: solid 2px var(--color01); background: var(--color01); color: var(--color00);}
header .inner nav ul:nth-of-type(2) li:nth-of-type(2) a:hover { border: solid 2px var(--color01); background: var(--color00); color: var(--color01);}





header .inner nav .hamburger { width: 42px; height: 42px; margin: 0 0 0 20px;}
header .inner nav .hamburger a { display: block; width: 100%; height: 100%; cursor: pointer; position: relative;}
header .inner nav .hamburger a span { width: 100%; height: 2px; background: var(--color99); position: absolute; transform-origin: 50% 50%; transition: ease .3s;}
header .inner nav .hamburger a span:nth-of-type(1) { top: 20%; left: 0;}
header .inner nav .hamburger a span:nth-of-type(2) { top: 50%; left: 0;}
header .inner nav .hamburger a span:nth-of-type(3) { top: 80%; left: 0;}

header .inner nav .hamburger a.active span { transition: ease .3s;}
header .inner nav .hamburger a.active span:nth-of-type(1) { top: 50%; left: 0; transform: rotate(30deg);}
header .inner nav .hamburger a.active span:nth-of-type(2) { transform: scaleX(-200%); opacity: 0;}
header .inner nav .hamburger a.active span:nth-of-type(3) { top: 50%; left: 0; transform: rotate(-30deg);}


.content { padding-top: 170px;}


footer { width: 100%; padding: 50px 0 150px;}
footer .inner { width: 100%; margin: auto;}
footer .inner .box { display: flex; justify-content: center; align-items: center; margin-bottom: 20px; flex-direction: column;}
footer .inner .box h3 { width: 400px; align-content: center; margin-bottom: 10px;}
footer .inner .box .contact { display: flex; justify-content: space-between; align-items: center; gap: 20px;}
footer .inner .box .contact .tel_img { width: 496px; align-content: center;}
footer .inner .box .contact .contact_link { width: 184px; height: 46px;}
footer .inner .box .contact .contact_link a { display: block; width: 100%; height: 100%; text-align: center; align-content: center; border-radius: 14px; font-size: 24px; border: solid 2px var(--color01); background: var(--color01); color: var(--color00);}
footer .inner .box .contact .contact_link a:hover { border: solid 2px var(--color01); background: var(--color00); color: var(--color01);}
footer .inner .box .conpany_name { margin-top: 26px;}
footer .inner .box .conpany_name h4 { font-size: 32px; font-weight: 400; margin-bottom: 5px;}
footer .inner .box .address { text-align: center;}
footer .inner .box .address address { font-size: 22px; font-style: normal;}
footer .inner .box .address p { font-size: 23px; display: inline-block; margin: 0 0.5em;}

footer .inner .cp { text-align: center;}
footer .inner .cp p { font-size: 14px;}


.sp_nav { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: var(--color00); transform: translateY(-150%); transition: ease-in .5s; opacity: 1; z-index: 1200;}
.sp_nav.active { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: var(--color00); transform: translateY(0%); transition: ease-in .5s; opacity: 1; z-index: 1200;}
.sp_nav .inner { width: 100%; height: 100vh; margin: auto; padding: 150px 0 0; display: flex; position: relative;}
.sp_nav .inner .img { display: none;}
.sp_nav .inner .img img { object-fit: cover; width: 100%; height: 100%;}
.sp_nav .inner .txt { display: flex; flex-direction: column; width: 100%;}
.sp_nav .inner .txt .link { width: auto; display: flex; justify-content: center; padding: 0 40px; gap: 100px; font-size: 26px; margin-bottom: 80px;}
.sp_nav .inner .txt .link > ul { width: auto; height: auto; display: flex; flex-direction: column;}
.sp_nav .inner .txt .link > ul > li:not(:first-child) { margin-top: 30px;}
.sp_nav .inner .txt .link > ul a { display: inline-block; padding-right: 30px; position: relative;}
.sp_nav .inner .txt .link > ul a::after  { content: ""; width: 0.5em; height: 0.5em; border-top: solid 1px #666; border-right: solid 1px #666; transform: rotate(45deg); position: absolute; right: 0; bottom: 12px;}

.sp_nav .inner .txt .link > ul > li > ul { width: 100%; padding-left: 20px; margin-top: 20px;}
.sp_nav .inner .txt .link > ul > li > ul li { margin-top: 20px; margin-left: 10px;}

.sp_nav .inner .txt .fot { background: #c9dbf2; padding: 38px; color: #2a519a; width: 100%;}
.sp_nav .inner .txt .fot h3 { font-size: 20px; position: relative; overflow: hidden; margin-bottom: 10px;}
.sp_nav .inner .txt .fot h3::after { content: ""; width: 100%; height: 2px; background: #2a519a; position: absolute; top: 0; bottom: 0; left: 100px; margin: auto;}
.sp_nav .inner .txt .fot h3 + p { font-size: 20px; text-align: center; margin-bottom: 30px;}
.sp_nav .inner .txt .fot .tel_img { display: flex; justify-content: center;}
.sp_nav .inner .txt .fot .tel_img .tel { width: 404px; margin-right: 1em; display: flex; flex-direction: column; align-items: flex-end;}
.sp_nav .inner .txt .fot .tel_img .tel a { width: 100%; display: block;}
.sp_nav .inner .txt .fot .tel_img .tel p { font-size: 20px; margin-top: 10px;}
.sp_nav .inner .txt .fot .tel_img .btn { width: 224px;}
.sp_nav .inner .txt .fot .tel_img .btn a { display: block; width: 100%; height: 38px; border: solid 2px #2a519a; background: #FFF; border-radius: 40px; text-align: center; align-content: center; position: relative; padding-left: 30px;}
.sp_nav .inner .txt .fot .tel_img .btn a::before { content: ""; background: url("../images/common/icon_mail.svg") 0 0 no-repeat; background-size: cover; width: 20px; height: 15px; position: absolute; top: 0; bottom: 0; left: 30px; margin: auto;}
.sp_nav .inner .close { position: absolute; top: 60px; right: 100px;}
.sp_nav .inner .close a { display: block; width: 40px; height: 40px; border-radius: 50%; background: #2a519a; position: relative; cursor: pointer;}
.sp_nav .inner .close a span { width: 70%; height: 2px; background: #FFF; position: absolute; transform-origin: 50% 50%;}
.sp_nav .inner .close a span:nth-of-type(1) { top: 50%; left: 15%; transform: rotate(45deg);}
.sp_nav .inner .close a span:nth-of-type(2) { top: 50%; left: 15%; transform: rotate(-45deg);}




.pagenavi { margin: 0 0 150px;}
.pagenavi .wp-pagenavi { display: flex; justify-content: center;}
.pagenavi .wp-pagenavi span { display: inline-block; width: 40px; height: 40px; text-align: center; align-content: center;}
.pagenavi .wp-pagenavi .current { background: var(--color94); color: var(--color00); margin: 0 5px;}
.pagenavi .wp-pagenavi a { display: inline-block; width: 40px; height: 40px; text-align: center; align-content: center; border: 1px solid var(--color99); color: var(--color99); margin: 0 5px;}
.pagenavi .wp-pagenavi a:hover { display: inline-block; width: 40px; height: 40px; text-align: center; align-content: center; border: 1px solid; margin: 0 5px; background: var(--color99); color: var(--color00);}
.pagenavi .wp-pagenavi a.first,
.pagenavi .wp-pagenavi a.last,
.pagenavi .wp-pagenavi a.previouspostslink,
.pagenavi .wp-pagenavi a.nextpostslink,
.pagenavi .wp-pagenavi a.first:hover,
.pagenavi .wp-pagenavi a.last:hover,
.pagenavi .wp-pagenavi a.previouspostslink:hover,
.pagenavi .wp-pagenavi a.nextpostslink:hover { display: inline-block; width: 40px; height: 40px; text-align: center; border: none; color: var(--color99); margin: 0 5px; background: var(--color00);}


.navigation { margin: 100px 0 100px;}
.navigation nav { display: flex; justify-content: center;}
.navigation nav .arrow a { display: inline-block; width: 60px; height: 60px; text-align: center; align-content: center; font-size: 40px;}
.navigation nav .list a { display: inline-block; width: 220px; height: 60px; text-align: center; align-content: center; border: solid 1px var(--color99); margin: 0 30px;}

.wpcf7-form-control {}
.wpcf7-list-item { margin: 0 !important;}
.wpcf7-list-item label { display: flex; gap: 10px;}
.wpcf7-list-item:not(:first-child) label { margin-left: 30px;}
input[type="text"],
input[type="email"],
input[type="tel"] { width: 100%; padding: 10px 20px; border-radius: 3px; border: solid 1px #CCC; background: var(--color00);}
textarea { width: 100%; height: 200px; padding: 10px 20px; border-radius: 3px; border: solid 1px #CCC; background: var(--color00);}

label { display: flex; align-items: center; column-gap: 4px; width: fit-content; line-height: 1; cursor: pointer;}
input[type="radio"] { appearance: none; position: relative; width: 18px; height: 18px; border: 1px solid var(--color01); border-radius: 9999px; cursor: pointer;}
input[type="radio"]:checked::after { content: ""; position: absolute; inset: 0; width: 10px; height: 10px; margin: auto; border-radius: 9999px; background-color: var(--color01);}

input[type="checkbox"] { appearance: none; position: relative; width: 20px; height: 20px; border: 1px solid var(--color01); border-radius: 3px; cursor: pointer;}
input[type="checkbox"]:checked { background-color: var(--color01);}
input[type="checkbox"]:checked::after { content: ""; position: absolute; top: 4px; left: 2px; width: 13px; height: 7px; border-bottom: 2px solid var(--color00); border-left: 2px solid var(--color00); transform: rotate(-45deg);}


.nav_ct { width: 100%; margin: 120px auto 100px; padding: 0 30px;}
.nav_ct ul { width: 100%; display: flex; justify-content: center; flex-direction: column; gap: 10px;}
.nav_ct ul li { width: 100%;}
.nav_ct ul li a { font-size: 20px; width: 100%; height: 66px; display: block; background: var(--color01); color: var(--color00); text-align: center; align-content: center; position: relative;}
.nav_ct ul li a::after { content: "\f105"; font: var(--fa-font-solid); font-size: 18px; position: absolute; top: 0; bottom: 0; right: 20px;  align-content: center; transition: ease .5s;}
.nav_ct ul li a:hover { background: #b0b0b0;}
.nav_ct ul li a:hover::after { content: "\f105"; font: var(--fa-font-solid); font-size: 18px; position: absolute; top: 0; bottom: 0; right: 14px;  align-content: center; transition: ease .5s;}
.nav_ct ul li.current a { pointer-events: none; background: #b0b0b0;}


}


