@charset "utf-8";

:root {
  --color: #EE7700;
  --color02: #07913B;
}

.mb00 {margin-bottom: 0!important;}
.mb10 {margin-bottom: 10px!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;}

/* -----------------------------------------------------------
　common
----------------------------------------------------------- */

* {box-sizing: border-box;}
img {max-width: 100%;}
.fcred {color: #FF0000;}
.fwbold {font-weight: bold;}
.fs80 {font-size: 0.8em;}
.fs120 {font-size: 1.2em;}
.left {float: left;}
.right {float: right;}
.center ,
.aligncenter {text-align: center;}
.alignright {text-align: right;}
.alignleft {text-align: left;}
.clear {clear: both;}
.italic {font-style: italic;}
figure img {display: block;}
figure.wp-block-image {display: flex;}
figure.wp-block-image.aligncenter {display: table;margin-right: auto;margin-left: auto;}
figure.wp-block-image.alignleft {display: table;margin-right: auto;}
figure.wp-block-image.alignright {display: table;margin-left: auto;}
body figure {margin-bottom: 0;}
a {
  color: inherit;
  text-decoration: none;
}

body {
  font-family: "Zen Kaku Gothic New", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  line-height: 1.75;
  color: #000000;
  background: #F3F3F3;
}
input,button ,select,option,textarea {
  font-family: "Zen Kaku Gothic New", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: inherit;
}
button {cursor: pointer;}
.cs {pointer-events: none;}
.tel {pointer-events: none;}
.flex {
  display: flex;
  justify-content: space-between;
}

@media screen and (min-width: 901px) {
  
  .sp_cont {display: none !important;}
  
}
a:hover {
  text-decoration: underline;
  color: inherit;
}

@media screen and (max-width: 1300px) {
  body {font-size: 14px;}
}

/* -----------------------------------------------------------
  template
----------------------------------------------------------- */

/* :::::::::: header :::::::::: */

.menu {display: none;}
header {
  position: fixed;
  z-index: 10;
  width: 280px;
  padding: 30px;
  transition: transform 0.5s;
}
/*
header.hidden {
  transform: translateY(50px);
  visibility: hidden;
  opacity: 0;
}*/
header .header_box {
  max-height: calc(100vh - 60px);
  background: #FFFFFF;
  border-radius: 10px;
  overflow-y: auto;
  scrollbar-width: none;
}
header .header_box .logo {
  width: 126px;
  margin: 0 auto 10px;
}
header .header_box .h_title {
  font-size: 1.3125em;
  font-weight: 700;
  font-feature-settings: "palt";
  line-height: 1.4;
  text-align: center;
  margin: 0 auto;
}
header .header_box .h_title + p {
  text-align: center;
  font-size: 0.6875em;
  margin: 0 auto 1.8em;
}
header .header_box nav ul {border-bottom: solid 1px #9D9D9D;}
header .header_box nav ul li {
  height: 3.5em;
  border-top: solid 1px #9D9D9D;
}
header .header_box nav ul li a {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  height: 100%;
  padding: 0 40px 0 20px;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.35;
}
header .header_box nav ul li a::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-top: solid 1px #BFBFBF;
  border-right: solid 1px #BFBFBF;
  transform: rotate(45deg);
  margin: auto;
  inset: 0 15px 0 auto;
}
header .header_box nav ul li a span {
  display: block;
  color: #646464;
  font-weight: 400;
  font-size: 0.8125em;
}
header .header_box nav .contact {
  width: calc(100% - 40px);
  margin: 20px auto;
}
header .header_box nav .contact a {
  position: relative;
  z-index: 0;
  display: block;
  height: 100%;
  color: #FFFFFF;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  background: var(--color);
  padding: 15px;
  border-radius: 10px;
  transition: 0.5s;
}
header .header_box nav .contact a:hover {opacity: 0.5;}
header .header_box nav .contact a::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
  transform: rotate(45deg);
  margin: auto;
  inset: 0 10px 0 auto;
}
header .header_box nav .tel_contact {
  color: #FFFFFF;
  font-size: 0.625em;
  line-height: 1.4;
  padding: 20px;
  background: var(--color02);
}
header .header_box nav .tel_contact span {
  display: block;
  font-size: 1.6em;
  font-weight: 700;
  font-feature-settings: "palt";
}
header .header_box nav .tel_contact .tel a {
  color: #FFFF00;
  font-size: 2.8em;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 10px;
}
header .header_box nav .tel_contact .tel a::before {
  display: inline-block;
  content: "";
  width: 0.7em;
  height: 0.7em;
  margin: 0;
  background: url("../img/common/ico_tel.svg") no-repeat center / contain;
}

/* :::::::::: main :::::::::: */

main {
  display: block;
  overflow: hidden;
  margin: 0 0 200px;
}
main.home {margin: 0;}
main article {}
.box {
  width: 100%;
  max-width: 1160px;
  padding: 0 30px;
  margin: 0 auto;
}

/* :::::::::: footer :::::::::: */
.grecaptcha-badge {z-index: 5;}

footer {
  background: #FFFFFF;
  padding: 80px 0 0;
  border-radius: 100px 100px 0 0;
}
.pagetop {
  position: fixed;
  z-index: 9;
  width: 56px;
  height: 56px;
  font-size: 0;
  background: url("../img/common/pagetop.svg") no-repeat center / contain;
  inset: auto 30px 80px auto;
  cursor: pointer;
  transition: 1s;
}
.pagetop.hidden {transform: translateY(-450px);}
footer .box > div {flex-wrap: wrap;}
footer .box > div:nth-of-type(1) {width: 490px;}
footer .box > div .footer_logo {
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 10px;
}
footer .box > div .footer_logo .logo {
  width: 120px;
  height: 120px;
  margin: 0 15px 0 0;
}
footer .box > div .footer_logo p {
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.3;
}
footer .box > div .footer_logo p span {
  display: block;
  font-size: 0.8125em;
  font-weight: 400;
  margin: 5px 0 0;
}
footer .box > div > p {
  font-size: 0.9375em;
  line-height: 1.45;
  margin: 0 0 1.33em;
}
.footer_contact {
  font-size: 0.75em;
  line-height: 1.25;
}
.footer_contact p > span {
  display: block;
  font-size: 1.5em;
  font-weight: 500;
  margin: 0 0 5px;
}
.footer_contact p > span span {
  display: inline-block;
  vertical-align: text-bottom;
  font-size: 1.35em;
  font-weight: 900;
}
.footer_contact .tel a {
  font-size: 2.67em;
  font-weight: 900;
  line-height: 1.2;
  margin: 0 0 10px;
}
.footer_contact .tel a::before {
  display: inline-block;
  content: "";
  width: 1em;
  height: 0.7em;
  margin: 0;
  background: url("../img/common/footer_tel.svg") no-repeat center / contain;
}
footer .box > div > .footer_address {
  font-size: 0.875em;
  line-height: 1.65;
}
footer .box > div:nth-of-type(2) {
  width: 450px;
  justify-content: flex-start;
}
footer .box > div:nth-of-type(2) ul:nth-of-type(1) {margin: 0 2em 0 0;}
footer .box > div:nth-of-type(2) ul li {
  position: relative;
  z-index: 0;
  margin: 0 0 5px;
  padding: 0 0 0 1em;
}
footer .box > div:nth-of-type(2) ul li::before {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 0.5em;
  height: 0.5em;
  background: var(--color);
  border-radius: 50px;
  inset: 0.7em auto auto 0;
}
footer .copyright {
  width: 100%;
  max-width: 1160px;
  font-size: 0.75em;
  padding: 20px 30px;
  margin: 0 auto;
  text-align: right;
}

@media screen and (max-width: 1700px) {
  main {padding: 0 0 0 250px;}
  .box {margin: 0;}
  footer {padding: 80px 0 0 250px;}
}

@media screen and (max-width: 1300px) {
  footer .box > div:nth-of-type(1) {padding: 0 30px 0 0;}
}

@media screen and (max-width: 1100px) {

  .menu {
    position: fixed;
    z-index: 15;
    display: block;
    width: 50px;
    height: 50px;
    font-size: 0;
    background: #FFFFFF;
    border: solid 3px #67DAFF;
    border-radius: 50%;
    inset: 30px 30px auto auto;
    transform: translateX(-300px);
    transition: 0.5s;
    cursor: pointer;
  }
  .menu::before, 
  .menu::after {
    position: absolute;
    display: block;
    content: "";
    width: 20px;
    height: 4px;
    background: #67DAFF;
    border-radius: 2px;
    margin: auto;
    transition: 0.5s;
  }
  .menu::before {
    inset: 0 0 16px;
    box-shadow: 0 8px 0 0 #67DAFF;
  }
  .menu::after {inset: 16px 0 0;}
  header.open .menu {transform: translateX(0);}
  header.open .menu::before {
    inset: 0;
    box-shadow: none;
    transform: rotate(45deg);  
  }
  header.open .menu::after {
    inset: 0;
    transform: rotate(-45deg);  
  }
  header {
    width: 240px;
    padding: 20px;
    inset: 0 0 auto auto;
    transform: translateX(300px);
  }
  header.open {transform: translateX(0);}
  /*
  header.hidden {
    transform: translateX(300px) translateY(0);
    visibility: visible;
    opacity: 1;
  }
  header.hidden.open {transform: translateX(0) translateY(0);}*/
  main {padding: 0;}
  footer {padding: 80px 0 0;}
}



/* -----------------------------------------------------------
 subpage
----------------------------------------------------------- */

.kv_sub {
  position: relative;
  z-index: 0;
  height: 340px;
}
.kv_sub::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 200vw;
  height: 100%;
  background: var(--color);
  margin: auto;
  inset: 0 -200%;
}
.kv_sub .box {
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 100%;
}
.kv_sub .box > p {
  display: block;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 2.2em;
  line-height: 1.3;
  margin: 0 0 0.25em;
}
.kv_sub .box > .p_title {
  color: #FFFFFF;
  font-weight: 700;
  font-size: 3.25em;
  line-height: 1.3;
}
.breadcrumbs {
  position: relative;
  z-index: 0;
  padding: 1.25em 0;
}
.breadcrumbs::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 200vw;
  height: 100%;
  background: #FFFFFF;
  margin: auto;
  inset: 0 -200%;
}
.breadcrumbs span {font-size: 0.9375em;}
.breadcrumbs span::after {
  content: ">";
  margin: 0 1em;
}
.breadcrumbs span:nth-last-of-type(1)::after {display: none;}

.fixed_bnr {
  position: fixed;
  z-index: 5;
  width: 20%;
  max-width: 190px;
  right: 30px;
  bottom: 150px;
  transition:1s;
}
.fixed_bnr.hidden {transform: translateY(-450px);}
.fixed_bnr:hover {opacity: 0.5;}
.btn_common {
  display: inline-block;
  width: auto;
  min-width: 240px;
}
.btn_common a {
  position: relative;
  z-index: 0;
  display: block;
  height: 100%;
  background: #3695D9;
  color: #FFFFFF;
  font-size: 1.25em;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  padding: 0.75em 1em;
  border-radius: 10px;
  text-decoration: none;
  transition: 0.5s;
}
.btn_common a:hover {opacity: 0.5;}
.btn_common a::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 0.5em;
  height: 0.5em;
  margin: auto;
  inset: 0 0.5em 0 auto;
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
  transform: rotate(45deg);
}

.editor_contents {margin-top: 70px;}
.editor_contents > *:nth-child(1) {margin-top: 0;}
.editor_contents h2 {
  position: relative;
  z-index: 0;
  color: var(--color);
  font-size: 2.2em;
  font-weight: 700;
  line-height: 1.3;
  margin: 2em 0 1em;
  padding: 0 0 15px;
}
.editor_contents h2::before ,
.editor_contents h2::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  inset: auto auto 0 0;
  height: 8px;
}
.editor_contents h2::before {
  width: 100%;
  background: #FFFFFF;
}
.editor_contents h2::after {
  width: 55px;
  background: var(--color);
  z-index: 1;
}
.editor_contents h3 {
  color: var(--color);
  background: #FFFFFF;
  font-size: 1.875em;
  font-weight: 700;
  line-height: 1.3;
  margin: 1em 0 0.8em;
  padding: 0.25em 0.5em;
  border-left: solid 8px var(--color);
}
.editor_contents h4 {
  color: var(--color);
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.3;
  margin: 1.5em 0 1em;
  padding: 0 0 0.25em;
  border-bottom: solid 1px var(--color);
}
.editor_contents h5 {
  position: relative;
  z-index: 0;
  color: var(--color);
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.3;
  margin: 1.5em 0 1em;
  padding: 0 0 0 1em;
}
.editor_contents h5::before {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  inset: 0.25em auto auto 0;
  width: 0.8em;
  height: 0.8em;
  background: var(--color);
}
.editor_contents a {color: #008DD3;}
.editor_contents a:visited {color: #C1004A;}
.editor_contents p {margin: 0 0 1.25em;}
.editor_contents table {
  width: auto;
  height: auto;
  line-height: 1.5;
  margin: 0 0 2em;
  max-width: 100%;
  text-align: left;
  clear: both;
}
.editor_contents table th {
  color: var(--color);
  font-size: 1.125em;
  font-weight: 700;
  padding: 1em 1.5em;
  background: #FCE3CD;
  border: solid 1px var(--color);
}
.editor_contents table td {
  padding: 1em 1.5em;
  border: solid 1px var(--color); 
}
.editor_contents figure {margin: 0 0 1.25em;}
.editor_contents figure > img {border-radius: 20px;}

.editor_contents ul {margin: 0 0 1.5em;}
.editor_contents ul li {
  position: relative;
  z-index: 0;
  padding: 0 0 0 1.5em;
}
.editor_contents ul li::before {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 0.4em;
  height: 0.4em;
  background: var(--color);
  border-radius: 50%;
  inset: 0.75em auto auto 0.25em;
}
.editor_contents ol {margin: 0 0 1.5em;}
.editor_contents ol li {
  position: relative;
  z-index: 0;
  list-style-type: none;
  counter-increment: cnt;
  padding: 0 0 0 1.5em;
}
.editor_contents ol li::before {
  position: absolute;
  z-index: 0;
  content: counter(cnt)".";
  inset: 0 auto auto 0;
  color: var(--color);
  font-weight: 700;
}  
.editor_contents .btn_common {min-width: 300px;}
.editor_contents .btn_common a {
  color: #FFFFFF!important;
  text-align: left;
}
.editor_contents .bg_box {
  padding: 3em;
  margin: 1.5em auto;
  border-radius: 20px;
  background: #FFFFFF;
}
.editor_contents .bg_box > :nth-last-child(1) {margin-bottom: 0!important;}
.editor_contents .bg_box > :nth-child(1) {margin-top: 0!important;}

/* -----------------------------------------------------------
 Single/Archive
----------------------------------------------------------- */

.cat01 {background: #EE7700!important;}
.cat02 {background: #3695D9!important;}
.cat03 {background: #808080!important;}

.new_catlink {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  max-width: 1030px;
  margin: 130px auto 40px;
}
.new_catlink li {
  position: relative;
  z-index: 0;
  width: 23%;
  max-width: 290px;
  background: var(--color02);
  border-radius: 10px;
}
.new_catlink li a {
  display: block;
  height: 100%;
  color: #FFFFFF;
  font-size: 1.25em;
  font-weight: 700;
  padding: 0.5em;
  text-align: center;
  text-decoration: none;
}
.new_catlink li::after {
  position: absolute;
  z-index: 0;
  display: none;
  content: "";
  width: 0.6em;
  height: 0.6em;
  clip-path: polygon(0 0,100% 0,50% 100%);
  background: var(--color02);
  margin: auto;
  inset: 99% 0 auto;
}
.new_catlink li:hover::after, 
.new_catlink li.current::after {display: block;}
.new_catlink li.cat01::after {background: rgba(238,119,0,1);}
.new_catlink li.cat02::after {background: rgba(54,149,217,1);}
.new_catlink li.cat03::after {background: #808080;}

.news_list {margin: 0 auto 100px;}
.news_list li {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  line-height: 1.5;
  margin: 0 0 1.25em;
  padding: 1.5em;
  background: #FFFFFF;
  border-radius: 10px;
}
.news_list li::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 1em;
  height: 1em;
  margin: auto;
  border-top: solid 1px var(--color);
  border-right: solid 1px var(--color);
  inset: 0 20px 0 auto;
  transform: rotate(45deg);
}
.news_list li date {
  width: 5em;
  font-size: 1.25em;
  font-weight: 500;
}
.news_list li .news_cat {
  width: 8em;
  margin: 0 1em 0 0;
}
.news_list li .news_cat span {
  display: block;
  padding: 0.25em;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  border-radius: 4px;
}
.news_list li .news_title {
  width: calc(100% - 18em);
  line-height: 1.3;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.pagenation {
  padding: 10px 0;
  text-align: center;
}
.pagenation a,.pagenation span {
  display: inline-block;
  width: 2em;
  height: 2em;
  padding: 0.5em!important;
  line-height: 1;
  background: #EEEEEE;
  border: none!important;
}
.pagenation a:hover,.pagenation span:hover {background: #dddddd;}
.pagenation span.current {background: #000000!important;color: #FFFFFF;} 

.post_title {margin: 70px 0 50px;}
.post_title date {
  font-size: 1.25em;
  font-weight: 500;
  margin: 0 1em 0 0;
}
.post_title span {
  font-weight: 1em;
  width: 8em;
  color: #FFFFFF;
  text-align: center;
  padding: 0.25em 0.5em;
  border-radius: 4px;
}
.post_title h1 {
  font-size: 3.125em;
  font-weight: 700;
  line-height: 1.3;
  margin: 0.5em 0 0;
}
.editor_contents .btn_back {
  display: block;
  width: 300px;
  margin: 50px auto 0;
}
.editor_contents .btn_back a {
  text-align: center;
  background: var(--color);
}

/* -----------------------------------------------------------
 home
----------------------------------------------------------- */

.home section h2 {
  font-size: 2.875em;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
}
.home section h2 span {
  display: block;
  font-size: 0.5em;
  font-weight: 400;
}

.head_box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 40%;
  color: #FFFFFF;
  padding: 60px 30px;
  border-radius: 50px;
}
.head_box h2 {
  position: relative;
  z-index: 0;
  padding: 0 0 1em;
  margin: 0 0 0.7em;
}
.head_box h2::after {
  position: absolute;
  display: block;
  content: "";
  width: 150px;
  height: 4px;
  background: #FFFFFF;
  margin: auto;
  inset: auto 0 0;
}
.head_box h2 + p {
  font-weight: 500;
  line-height: 1.875;
  text-align: center;
}
.head_box .btn_common {
  width: 260px;
  margin: 1.5em auto 0;
}
.head_box .btn_common a {
  font-weight: 700;
  font-size: 1em;
  border: solid 1px #FFFFFF;
}

.kv {
  position: relative;
  z-index: 0;
  width: 100%;
  max-width: 1160px;
  padding: 0 30px;
  margin: 0 auto 190px;
}
.kv .slick-list {overflow: visible;}
.kv .slick-slide {opacity: 0.3;}
.kv .slick-slide img {width: 100%;}
.kv .slick-slide.slick-current {opacity: 1;}
.kv .slick-dots {
  display: inline-block;
  height: 20px;
  margin: auto;
  top: -200%;
  bottom: -200%;
  left: 48%;
  transform: rotate(90deg);
}
.kv .slick-dots li button:before {
  width: 18px;
  height: 18px;
  font-size: 0;
  background: #FFFFFF;
  border-radius: 50%;
  opacity: 1;
}
.kv .slick-dots li:hover button:before,
.kv .slick-dots li.slick-active button:before {
  background: var(--color);
  opacity: 1;
}
.kv > div {
  position: absolute;
  z-index: 1;
  width: calc(100% - 60px);
  max-width: 980px;
  margin: auto;
  inset: auto 0 -120px;
}
.kv > div h2 {
  position: relative;
  z-index: 1;
  width: calc(100% - 80px);
  color: #FFFFFF;
  font-size: 1.6875em;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  background: var(--color02);
  padding: 0.5em 0.25em;
  border-radius: 5px;
  margin: 0 auto;
  top: 15px;
}
.kv > div ul {align-items: stretch;}
.kv > div ul li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 32%;
  font-size: 1.375em;
  font-weight: 700;
  line-height: 1.35;
  padding: 30px 20px;
  background: #FFFFFF;
  border: solid 1px #646464;
  border-radius: 10px;
}
.kv > div ul li::before {
  display: block;
  content: "";
  width: 2.2em;
  height: 2.2em;
  background: url("../img/common/ico_check.svg") no-repeat center / contain;
  margin: 0 20px 0 0;
}

.home_support {margin: 0 0 120px;}
.home_support .box {
  position: relative;
  z-index: 1;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row-reverse;
  padding-top: 100px;
  padding-bottom: 100px;
}
.home_support .box::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100vw;
  height: 100%;
  background: #FFFFFF;
  inset: 0 auto 0 100px;
  border-radius: 999px 0 0 999px;
}
.home_support .box > figure {margin: 0 30px;}
.home_support .box h2 {
  font-size: 2.5em;
  font-weight: 700;
  text-align: left;
  margin: 0 0 0.5em;
  line-height: 1.3;
}
.home_support .box h2 span {
  display: inline-block;
  color: #EE4D00;
  font-size: inherit;
  font-weight: inherit;
  background:linear-gradient(transparent 60%, #FFFF00 60%);
}
.home_support .box p {
  font-weight: 500;
  margin: 0 0 3.75em;
}
.home_support .box .btn_common {
  width: 300px;
  margin: 0;
}
.home_support .box .btn_common a {background: #3695D9;}
.home_support .box .btn_common span {
  position: absolute;
  z-index: 1;
  width: 240px;
  color: #3695D9;
  font-size: 0.75em;
  margin: auto;
  inset: -30px 0 auto;
  pointer-events: none;
}
.home_support .box .btn_common span::before ,
.home_support .box .btn_common span::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 1em;
  height: 1px;
  margin: auto;
  background: #3695D9;
  top: 0;
  bottom: 0;
}
.home_support .box .btn_common span::before {
  right: 100%;
  transform: rotate(45deg);
}
.home_support .box .btn_common span::after {
  left: 100%;
  transform: rotate(-45deg);
}
.home_news {margin: 0 auto 110px;}
.home_news .box {align-items: stretch;}
.home_news .head_box {background: var(--color02);}
.home_news .head_box .btn_common a {background: var(--color02);}
.home_news .news_area {width: 55%;}
.home_news .news_area .tab_menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 30px;
}
.home_news .news_area .tab_menu li {
  position: relative;
  z-index: 0;
  width: 23.5%;
  line-height: 1.2;
  padding: 0.65em 0;
  color: #FFFFFF;
  font-size: 1.1em;
  font-weight: 500;
  text-align: center;
  background: rgba(7,145,59,0.5)!important;
  border-radius: 999px;
  margin: 0;
  cursor: pointer;
}
.home_news .news_area .tab_menu li.cat01 {background: rgba(238,119,0,0.5)!important;}
.home_news .news_area .tab_menu li.cat02 {background: rgba(54,149,217,0.5)!important;}
.home_news .news_area .tab_menu li.cat03 {background: rgba(128, 128, 128,0.5)!important;}

.home_news .news_area .tab_menu li.active {background: var(--color02)!important;}
.home_news .news_area .tab_menu li.cat01.active {background: rgba(238,119,0,1)!important;}
.home_news .news_area .tab_menu li.cat02.active {background: rgba(54,149,217,1)!important;}
.home_news .news_area .tab_menu li.cat03.active {background: rgba(128, 128, 128,1)!important;}

.home_news .news_area .tab_menu li::after {
  position: absolute;
  z-index: 0;
  display: none;
  content: "";
  width: 0.6em;
  height: 0.6em;
  clip-path: polygon(0 0,100% 0,50% 100%);
  background: var(--color02);
  margin: auto;
  inset: 99% 0 auto;
}
.home_news .news_area .tab_menu li.active::after {display: block;}
.home_news .news_area .tab_menu li.cat01::after {background: rgba(238,119,0,1);}
.home_news .news_area .tab_menu li.cat02::after {background: rgba(54,149,217,1);}
.home_news .news_area .tab_menu li.cat03::after {background: rgba(128, 128, 128,1);}

.home_news .news_area .tab_content {display: none;}
.home_news .news_area .tab_content.active {display: block;}
.home_news .news_area .tab_content ul {border-top: solid 1px #646464;}
.home_news .news_area .tab_content ul li {
  padding: 1.5em 0;
  border-bottom: solid 1px #646464;
}
.home_news .news_area .tab_content ul li p {
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.3;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  margin: 0 0 0.5em;
}
.home_news .news_area .tab_content ul li span {
  display: inline-block;
  width: 110px;
  height: 2em;
  line-height: 2em;
  color: #FFFFFF;
  font-size: 0.9375em;
  font-weight: 500;
  border-radius: 99px;
  margin: 0 10px 0 0;
  text-align: center;
}
.home_news .news_area .tab_content ul li date {font-weight: 500;}

.home_case {margin: 0 auto 120px;}
.home_case .box {
  position: relative;
  z-index: 1;
  padding-top: 100px;
  padding-bottom: 100px;
}
.home_case .box::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 200vw;
  height: 100%;
  background: #EEE4C7;
  inset: 0 -200px 0 auto;
  border-radius: 0 999px 999px 0;
}

.home_case .box > .home_case_title {
  justify-content: flex-start;
  align-items: center;
  padding: 0 0 0 70px;
  margin: 0 0 1.5em;
}
.home_case .box > .home_case_title h2 {margin: 0 1em 0 0;}
.home_case .box > .case_soon {align-items: flex-end;}
.home_case .box > .case_soon figure {
  width: 50%;
  border-radius: 10px;
  box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
}
.home_case .box > .case_soon figure img {
  width: 100%;
  border-radius: 10px;
}
.home_case .box > .case_soon div {width: 45%;}
.home_case .box > .case_soon div p {
  font-size: 2em;
  font-weight: 500;
  line-height: 1.3;
  margin: 0 0 1em;
}
.home_case .box > .case_soon div .btn_common {
  font-size: 1em;
  margin: 0;
}
.home_case .box > .case_soon div .btn_common a {
  font-size: 1em;
  background: var(--color);
}

.home_seminar {margin: 0 auto 130px;}
.home_seminar .box {align-items: stretch;}
.home_seminar .head_box {background: #3695D9;}
.home_seminar .head_box .btn_common a {background: #3695D9;}
.home_seminar .box > ul {width: 55%;}
.home_seminar .box > ul li {
  position: relative;
  z-index: 0;
  width: 460px;
  font-size: 1.1000em;
  font-weight: 700;
  line-height: 1.5;
  background: #FFFFFF;
  border-radius: 20px;
  padding: 30px 170px 30px 80px;
  margin: 0 0 30px;
}
.home_seminar .box > ul li:nth-child(2) {
  margin: 0 0 30px auto;
  padding: 30px 30px 30px 120px;
}
.home_seminar .box > ul li:nth-child(3) {margin: 0;}
.home_seminar .box > ul li::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 1.25em;
  height: 1em;
  clip-path: polygon(0 0,100% 0,50% 100%);
  background: #FFFFFF;
  margin: auto;
  inset: 99% auto auto 10%;
}
.home_seminar .box > ul li:nth-child(2)::after {inset: 99% 10% auto auto;}
.home_seminar .box > ul li::before {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  margin: auto;
}
.home_seminar .box > ul li:nth-child(1)::before {
  width: 123px;
  background: url("../img/home/seminar01.png") no-repeat center / contain;
  aspect-ratio: 123/ 136;
  inset: auto 40px 10px auto;
}
.home_seminar .box > ul li:nth-child(2)::before {
  width: 81px;
  background: url("../img/home/seminar02.png") no-repeat center / contain;
  aspect-ratio: 81/ 109;
  inset: 0 auto 0 30px;
}
.home_seminar .box > ul li:nth-child(3)::before {
  width: 168px;
  background: url("../img/home/seminar03.png") no-repeat center / contain;
  aspect-ratio: 168/ 136;
  inset: auto -20px 5px auto;
}
.home_seminar + p {
  font-size: 1.875em;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  margin: 0 auto 80px;
}
.home_access {
  position: relative;
  z-index: 1;
  padding: 100px 0 0;
  margin: 0 auto 100px;
}
.home_access::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 2200px;
  height: calc(100% + 400px);
  background: #FFFFFF;
  border-radius: 50%;
  margin: auto;
  top: 0;
  left: -500%;
  right: -500%;
}

.home_access h2 {margin: 0 auto 1em;}
.access_box {align-items: flex-start;}
.access_box figure {width: 40%;}
.home_access .access_box figure {transform: translateY(-100px);}
.access_box div {
  width: 55%;
  border-top: solid 1px #646464;
}
.access_box div dl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.5;
  padding: 0.75em 0;
  border-bottom: solid 1px #646464;
}
.access_box div dl dt {width: 6em;}
.access_box div dl dd a {color: #3695D9;}
.home_access .btn_common {
  display: block;
  width: 300px;
  margin: 30px 0 60px auto;
}
.home_access .btn_common a {
  font-size: 1.25em;
  background: #3695D9;
}
.home_access .map_box {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 420px;
  border-radius: 10px;
  overflow: hidden;
}
.home_access .map_box iframe {
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  inset: 0;
}

.home_satellite {
  position: relative;
  z-index: 1;
  margin: 0 auto 90px;
}
.home_satellite .box > div {
  color: #FFFFFF;
  padding: 40px;
  background: var(--color);
  border-radius: 50px;
}
.home_satellite .box > div h2 {margin: 0 auto 30px;}
.home_satellite .box > div h2 + p {
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  margin: 0 auto 30px;
}
.home_satellite .box > div div {
  align-items: stretch;
  width: 100%;
  max-width: 900px;
  margin: 0 auto 20px;
}
.home_satellite .box > div div section {
  width: 45%;
  padding: 20px;
  border-top: solid 1px #FFFFFF;
  border-bottom: solid 1px #FFFFFF;
}
.home_satellite .box > div div section h3 {
  font-size: 1.6875em;
  line-height: 1.3;
  font-weight: 700;
  margin: 0 0 0.5em;
}
.home_satellite .box > div div section dl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.home_satellite .box > div div section dl dt {
  width: 5em;
  font-weight: 700;
}
.home_satellite .box > div div section dl dd {
  font-weight: 500;
  line-height: 1.375;
}
.home_satellite .box > div > p {
  width: 100%;
  max-width: 900px;
  font-weight: 700;
  text-align: right;
  margin: 0 auto;
}

@media screen and (max-width: 1700px) {
  .kv {margin: 0 0 190px;}
  .home_support .box::after {left: 30px;}
}

@media screen and (max-width: 1200px) {
  .home_case .box::after {inset: 0 10px 0 auto;}
  .home_access h2 + div figure {transform: translateY(-20px);}
  .home_satellite .box > div div section {width: 48%;}
}

/* -----------------------------------------------------------
 faq
----------------------------------------------------------- */

.faq_list {
  background: #FFFFFF;
  margin: 1.875em 0 0;
  border-radius: 5px;
}
.faq_list dt {
  position: relative;
  z-index: 0;
  font-size: 1.375em;
  font-weight: 700;
  line-height: 1.3;
  padding: 1em 70px;
  cursor: pointer;
}
.faq_list dd {
  display: none;
  padding: 1em 70px;
  border-top: solid 1px #969696;
}
.faq_list dt::before,
.faq_list dt span::before,
.faq_list dt span::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  background: #969696;
  margin: auto;
  top: 0;
  bottom: 0;
}
.faq_list dt::before {
  width: 1.5em;
  height: 1.5em;
  background: #FFFFFF;
  border: solid 3px #969696;
  border-radius: 50%;
  right: 25px;
}
.faq_list dt span::before {
  width: 0.8em;
  height: 3px;
  right: calc(26px + 0.3em);
}
.faq_list dt span::after {
  width: 3px;
  height: 0.8em;
  right: calc(26px + 0.6em);
}
.faq_list dt.open span::after {display: none;}

/* -----------------------------------------------------------
 static
----------------------------------------------------------- */






/* -----------------------------------------------------------
 contact
----------------------------------------------------------- */
.contact .editor_contents .comp_title {
  margin: 0 0 0.5em;
  font-weight: 700;
  font-size: 1.2em;
}
.contact .editor_contents .footer_contact .tel {margin: 0;}
.contact .editor_contents .footer_contact .tel a {color: #000000;}

.contact .wp-block-snow-monkey-forms-item {
  justify-content: space-between;
  padding: 2.4em 0;
  border-bottom: solid 1px #646464;
}
.contact .wp-block-snow-monkey-forms-item .smf-item__col--label {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0 90px 0 0;
  font-size: 1.25em;
  font-weight: 700;
}
.contact .wp-block-snow-monkey-forms-item .smf-item__col--label::after {
  position: absolute;
  display: block;
  content: "必須";
  width: 80px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  color: #FFFFFF;
  font-size: 0.85em;
  font-weight: 500;
  background: #C80000;
  margin: auto;
  inset: 0 0 0 auto;
}
.contact .wp-block-snow-monkey-forms-item.no_must .smf-item__col--label::after {
  content: "任意";
  background: #646464;
}
.contact .wp-block-snow-monkey-forms-item.row_privacy .smf-item__col--label::after {display: none;}
.smf-form--simple-table .smf-item__col--controls {
  flex: 1 1 calc(100% - 24em)!important;
  max-width: calc(100% - 24em)!important;
}
.smf-form .smf-text-control__control ,
.smf-form .smf-textarea-control__control {
  width: 100%;
  box-shadow: none!important;
  border-radius: 5px!important;
  border-color: transparent!important;
  padding: 1em!important;
}
.smf-form .smf-text-control__control[data-invalid="1"] ,
.smf-form .smf-textarea-control__control[data-invalid="1"] {background: #FFC5BD;}

.smf-form .smf-select-control {width: 100%;}
.smf-form .smf-select-control__control {
  width: 100%;
  box-shadow: none!important;
  border-radius: 5px!important;
  border-color: transparent!important;
  padding: 1em!important;
}
.contact .wp-block-snow-monkey-forms-item.row_name .wp-block-column {
  display: flex;
  align-items: center;
  width: 100%;
}
.contact .wp-block-snow-monkey-forms-item.row_name .wp-block-column p {margin: 0 0.5em 0 0;}
.contact .wp-block-snow-monkey-forms-item.row_name .wp-block-column .smf-placeholder {width: 100%;}
.smf-form .smf-select-control__toggle:before {border-color: #EE7700!important;}
.smf-form--simple-table .smf-item__col--controls p {
  font-size: 1.15em;
  font-weight: 500;
  margin: 0;
}
.smf-form--simple-table .smf-item__col--controls .wp-block-columns + p {margin: 1em 0 0;}
.smf-label {
  display: inline-block;
  font-size: 1.15em;
  font-weight: 500;
  margin: 0.25em 2em 0.25em 0;
}
.smf-checkbox-control__label {display: flex;align-items: center;}
.smf-label input {display: none!important;}
.smf-label input + span {position: relative;}
.smf-label input + span::before {
  display: inline-block;
  vetical-align: middle;
  content: "";
  width: 1.2em;
  height: 1.2em;
  line-height: 1.2em;
  margin: 0 0.5em 0 0;
  border: solid 1px #000000;
  border-radius: 4px;
}
.smf-label input + span::after {
  position: absolute;
  inset: 0 auto 0 -0.1em;
  margin: auto;
  width: 1em;
  height: 1em;
  line-height: 1;
  text-align: center;
  font-size: 1.4em;
  display: none;
  content: "✓";
  color: #C80000;
  font-weight: bold;
}
.smf-label input:checked + span::after {display: block;}
.contact .editor_contents .bg_box {
  background: var(--color);
  color: #FFFFFF!important;
}
.contact form[data-screen="confirm"] .bg_box ,
.contact form[data-screen="confirm"] .bg_box + p {display: none;}
.contact .editor_contents .bg_box p {
  font-size: 1.5em;
  font-weight: 700;
  margin: 0 0 0.5em;
}
.contact .editor_contents .bg_box ul li::before{background: #FFFFFF;}
.contact .editor_contents .bg_box a {color: #FFFFFF;}
.contact .editor_contents .bg_box + p {text-align: center;}
.contact .wp-block-snow-monkey-forms-item.row_privacy {
  justify-content: center;
  border: none;
  font-size: 1.2em;
  font-weight: 700;
  text-align: center;
}
.contact .wp-block-snow-monkey-forms-item.row_privacy .smf-item__col--label {display: none;}
.contact .wp-block-snow-monkey-forms-item.row_privacy .smf-label {margin: 0;}
.contact .smf-button-control__control {
  width: 100%;
  max-width: 400px;
  margin: 0 auto 0.5em;
  padding: 0.75em!important;
  background: #3695D9!important;
  text-align: center;
  color: #FFFFFF!important;
  font-size: 1.2em!important;
  font-weight: 700;
  border: none!important;
  border-radius: 8px!important;
}
.contact .smf-button-control__control[data-action="back"] {background: #999!important;}
.contact .smf-button-control__control::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 0.5em;
  height: 0.5em;
  margin: auto;
  inset: 0 0.5em 0 auto;
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
  transform: rotate(45deg);
}
.contact .smf-button-control__control[data-action="back"]::after {transform: rotate(-135deg);inset: 0 auto 0 0.5em;}
.contact form[data-screen="confirm"] .wp-block-snow-monkey-forms-item.row_name .wp-block-column p {display: none;}
.contact form[data-screen="confirm"] .wp-block-snow-monkey-forms-item .wp-block-column {flex-grow: 0!important;flex-basis: auto!important;width: auto!important;}
.contact form[data-screen="confirm"] .wp-block-snow-monkey-forms-item .smf-item__col--label::after {display:none!important;}
.smf-action .smf-button-control+.smf-button-control {margin: 0 5px!important;}


