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

:root {
  /* color */
  --color-text: #2d2825;
  --color-main: #e88439;
  --color-orange: #e38545;
  --color-orange-light: #e79a66;
  --color-blue: #86c8d6;
  --color-blue-dark: #4aa8bc;
  --color-green: #67aa74;
  --color-bg: #fef9f3;
  --color-white: #fff;

  /* width */
  --width-inner: 1400px;
  --width-page: 1200px;
  --width-small: 1100px;

  /* side space */
  --side-pc: 5%;
  --side-sp: 20px;

  /* radius */
  --radius: 20px;
  --radius-large: 40px;
}

html {
  font-size: 62.5%;
  font-feature-settings: "palt";
  scroll-behavior: smooth;
}
body {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #2d2825;
  font-size: 16px;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fef9f3;
}
img {
  max-width: 100%;
  height: auto;
}
a {
  text-decoration: none;
  transition: .3s;
}
a:hover {
  opacity: .8;
}
.SP {
  display: none;
}
h1,
h2,
h3,
h4 {
  line-height: 1.3em;
}
a,
span,
p {
  line-height: 1.5em;
  font-weight: 600;
}
p.center {
  text-align: center;
}
.in_section {
  padding: 50px 0;
}
.inner_wrapp {
  width: var(--width-inner);
  max-width: 90%;
  margin: 0 auto;
}
.sml_wrapp {
  width: var(--width-small);
  max-width: 90%;
  margin: 0 auto;
}
.inner_wrapp .sml_wrapp {
  max-width: 100%;
}
.page_wrapp {
  width: var(--width-page);
  max-width: 90%;
  margin: 0 auto;
}
/*header*/
header {
  position: relative;
  z-index: 1000;
}
header a {
  color: #2d2825;
  font-weight: 600;
  transition: .3s;
}
header a:hover {
  opacity: .8;
}
header .inner_wrapp {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 20px auto;
}
.header_logo {
  display: flex;
  gap: 40px;
  align-items: center;
}
.header_logo span {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5em;
}
header .inner_wrapp ul {
  display: flex;
  gap: 30px;
  align-items: center;
}
header .inner_wrapp ul li:last-of-type a {
  background-color: #e38545;
  color: #fff;
  padding: 10px 20px 10px 30px;
  text-align: center;
  border-radius: 50px;
  font-size: 13px;
  display: flex;
  gap: 10px;
  align-items: center;
}
.menu_btn {
  display: none;
}
/*fv*/
.sec_fv {
  position: relative;
}
.sec_fv .inner_wrapp {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 1400px;
  height: fit-content;
  max-width: 90%;
}
.sec_fv .inner_cont {
  position: relative;
  height: 680px;
}
.fv_image {
  display: block;
  width: 100%;
  min-height: 740px;
  object-fit: cover;
}
.fv_txt,
.fv_badge {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  height: fit-content;
  width: fit-content;
  z-index: 5;
}
.fv_txt h1 {
  font-size: 48px;
  font-weight: bold;
  margin-bottom: 20px;
  text-shadow:
    0 0 4px #fff,
    0 0 4px #fff,
    0 0 8px #fff,
    0 0 12px #fff;
}
.fv_txt p {
  font-size: 23px;
  font-weight: 600;
  text-shadow:
    0 0 4px #fff,
    0 0 4px #fff,
    0 0 8px #fff,
    0 0 12px #fff;
}
.fv_badge {
  right: 0;
  border: solid 10px #e79a66;
  border-radius: 300px;
  top: auto;
}
.fv_badge a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  background-color: #e79a66;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  width: 270px;
  height: 270px;
  border-radius: 300px;
  gap: 10px;
  border: solid 2px #fff;
}
.fv_badge a img {
  display: block;
}
/*top main*/
.top_bkg {
  background-image: url(../img/top_bkg.png);
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 200px 0 0 0;
  margin-top: -100px;
}
.sec_tit {
  text-align: center;
  margin-bottom: 60px;
}
.sec_tit h2 {
  font-size: 30px;
  font-weight: 600;
}
.sec_tit h2 span {
  font-weight: 600;
  color: #e38545;
}
.cont_youkoso {
  text-align: center;
}
h3 {
  font-size: 36px;
  font-weight: 600;
  margin-bottom: 40px;
}
h3.center {
  text-align: center;
}
h3 span {
  font-weight: 600;
  letter-spacing: .8rem;
  color: #e38545;
}
.cont_youkoso {
  margin-bottom: 50px;
}
.cont_youkoso p {
  text-align: center;
  line-height: 1.8em;
  margin-bottom: 60px;
}
.cont_youkoso p span {
  color: #e38545;
}
.cont_onayami ul {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
.cont_onayami dt {
  text-align: center;
}
.cont_onayami dt {
  position: relative;
}
.cont_onayami dt p {
  position: absolute;
  top: 55px;
  right: 0;
  left: 0;
  margin: auto;
}
.cont_onayami dt p span {
  color: #e38545;
}
.cont_onayami dd p {
  width: fit-content;
  margin: 20px auto 0 auto;
}
.cont_onayami .baloon {
  text-align: center;
  position: relative;
  margin-top: 50px;
}
.cont_onayami .baloon p {
  position: absolute;
  text-align: center;
  right: 0;
  left: 0;
  margin: auto;
  top: 0;
  bottom: 0;
  font-size: 24px;
  height: fit-content;
}
.greeting_cont dl {
  background-color: #fff;
  padding: 50px;
  border-radius: 40px;
  display: flex;
  gap: 70px;
  align-items: center;
}
.greeting_cont dt {
  text-align: center;
  flex-shrink: 0;
}
.greeting_cont dt p {
  padding-top: 20px;
}
.greeting_cont h3 {
  font-size: 23px;
  margin-bottom: 20px;
}
.greeting_cont dd p {
  font-weight: 400;
}
.btn {
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 10px 30px 10px 40px;
  border-radius: 50px;
  width: fit-content;
}
.btn_white {
  background-color: #fff;
  color: #e38545;
}
.btn_orange {
  background-color: #e38545;
  color: #fff;
}
.btn img {
  transition: .3s;
}
.btn:hover img:last-of-type {
  transform: translateX(-5px);
}
.greeting_cont .btn {
  margin: 40px auto 0 auto;
}
.shien_cont {
  background-color: #fff;
  padding: 100px;
}
.shien_cont_inner h3 {
  text-align: center;
  font-size: 22px;
}
.shien_cont_inner ul {
  display: flex;
  gap: 40px;
}
.shien_cont_inner li {
  width: calc((100% - 40px) / 2);
}
.shien_cont_inner li dt {
  margin-bottom: 30px;
}
.shien_cont_inner li dd p:nth-of-type(2) {
  margin-top: 20px;
}
.shien_cont_inner {
  margin-top: 60px;
}
.shien_cont_inner:first-of-type {
  margin-top: 0;
}
.shien_cont_inner:nth-of-type(2) dl {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}
.shien_cont_inner:nth-of-type(2) dt {
  flex-shrink: 0;
}
.btn_flex {
  display: flex;
  gap: 30px;
  justify-content: center;
  margin: 50px auto 0 auto;
}
.btn_white.blk_txt_btn {
  color: #2d2825;
}
.spot_cont .btn {
  width: 140px;
  justify-content: space-between;
  margin: 10px auto;
  padding-left: 30px;
}
.spot_cont .btn img:first-of-type {
  margin-right: -10px;
}
.spot_cont ul {
  margin-top: 50px;
  display: flex;
  gap: 40px;
}
.spot_cont li {
  width: calc((100% - 80px) / 3);
}
.spot_cont li dt {
  text-align: center;
  margin-bottom: 30px;
}
.spot_cont li:last-of-type .btn {
  width: 150px;
}
.sec_faq .sml_wrapp {
  background-color: #fff;
  border-radius: 20px;
}
.sec_faq .faq_cont {
  padding: 80px 70px;
}
.faq_list li {
  border-top: solid 1px #bdbdbd;
  padding-left: 1rem;
}
.faq_list li:last-of-type {
  border-bottom: solid 1px #bdbdbd;
}
.faq_list .q::before {
  content: 'Q';
  color: #e88439;
}
.faq_list .a {
  height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  padding-left: 3rem;
  transition: height .35s ease;
  opacity: 0;
}
.faq_list .a.open::before {
  content: 'A';
  color: #85cce2;
  overflow: visible;
}
.faq_list .a.open {
  padding: 0 20px 15px 3rem;
  opacity: 1;
}
.faq_list .q::before,
.faq_list .a.open::before {
  margin-right: 20px;
}

.faq_list p {
  text-indent: -3rem;
  padding-left: 3rem;
  padding-right: 3rem;
  padding-top: 15px;
  position: relative;
  padding-bottom: 0;
}
.faq_list .q {
  padding-bottom: 15px;
}
.faq_list .q::after {
  content: '';
  background-image: url(../img/arrow.png);
  padding: 5px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  right: 10px;
  top: 28px;
  transform: translateY(-50%) rotate(180deg);
}
.faq_list .q.open::after {
  transform: translateY(-50%) rotate(0deg);
}
.faq_list .q {
  cursor: pointer;
}
.shop_list dl {
  display: flex;
  gap: 40px;
  margin-bottom: 30px;
}
.shop_list dt {
  flex-shrink: 0;
  position: relative;
}
.shop_list dt span {
  position: absolute;
  left: 10px;
  top: 10px;
  color: #fff;
  background-image: url(../img/company_baloon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 20px 30px 25px 20px;
}
.shop_list dd th,
.shop_list dd td {
  padding: 10px;
  text-align: left;
  font-weight: 600;
}
.shop_list dd th {
  padding-right: 30px;
}
.social dd {
  width: 50%;
}
.social .logo_cont {
  background-color: #fff;
  border-radius: 30px;
  display: flex;
  align-items: center;
  height: 258px;
  justify-content: center;
}
.social .logo_cont img {
  max-width: 90%;
}
.social dd p {
  margin: 20px 0;
}
.social dd a {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  color: #e38545;
}
.column_cont ul {
  display: flex;
  gap: 30px;
}
.column_cont li {
  width: calc(100%/3);
  flex-shrink: 0;
  max-width: 345px;
}
.column_cont dt {
  margin-bottom: 15px;
  text-align: center;
  width: 345px;
  height: 260px;
}
.column_cont dt img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 30px;
}
.column_cont .day {
  color: #e88439;
  margin-bottom: 10px;
}
.column_cont dd a {
  color: #2d2825;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: solid 1px #2d2825;
  width: fit-content;
  margin: 15px 0 0 auto;
}
.txt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.news_cont {
  background-color: #fff;
  padding: 60px;
  border-radius: 20px;
}
.news_cont a {
  display: flex;
  gap: 20px;
  align-items: center;
}
.news_cont .day {
  color: #e88439;
}
.news_cont .cate {
  background-color: #4290b9;
  color: #fff;
  font-size: 13px;
  padding: 3px 5px;
}
.news_cont .kame {
  background-color: #e88439;
}
.news_cont .nan {
  background-color: #67aa74;
}
.news_cont p {
  color: #2d2825;
}
.news_cont li {
  padding: 20px;
  border-bottom: dotted 4px #86c8d6;
}
.sec_news .btn {
  margin: 30px auto 0 auto;
}
.rec_single h4 {
  font-size: 21px;
  font-weight: bold;
  margin-bottom: 20px;
  color: #e38545;
}
.rec_single h5 {
  background-color: #cee8ee;
  padding: 20px;
  font-weight: bold;
  margin: 20px 0;
}
.rec_single p.orange {
  color: #e38545;
}
.blog_inner p a {
  color: #e38545;
}
/*footer*/
footer {
  background-color: #fef9f3;
}
.foot_cont > p {
  font-size: 24px;
}
.osw {
  font-family: "Oswald", sans-serif;
}
.contact_list {
  display: flex;
  gap: 30px;
  justify-content: center;
  margin: 40px 0;
}
.contact_list a {
  color: #2d2825;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(88%/3);
  flex-shrink: 0;
  padding: 15px 35px 15px 0;
  border-radius: 50px;
  position: relative;
}
.contact_list a:last-of-type {
  width: calc(70%/3);
}
.contact_list a div + img {
  position: absolute;
  right: 20px;
  transition: .3s;
}
.contact_list a:hover div + img {
  transform: translateX(-5px);
}
.foot_cont .osw {
  font-size: 24px;
  color: #e88439;
}
.foot_cont a p.num {
  display: flex;
  align-items: center;
  gap: 10px;
}
.foot_cont a p.open {
  background-color: #fff4ee;
  font-size: 12px;
  width: fit-content;
  margin: 5px auto 0 auto;
  padding: 0 5px;
}
.foot_und {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 20px;
}
.foot_und > a {
  display: flex;
  color: #2d2825;
  font-size: 12px;
  align-items: center;
  gap: 20px;
  justify-content: center;
}
.foot_und table td {
  padding: 5px 10px;
}
.foot_und table a {
  color: #2d2825;
}
.bottom {
  background-color: #e79a66;
  color: #fff;
  text-align: center;
  padding: 30px 0;
  font-weight: 500;
}
/*page*/
#page .sec_fv .inner_cont {
  height: 600px;
}
#page .fv_badge {
  bottom: 110px;
}
#page .fv_image {
  max-width: 1060px;
  min-height: auto;
  margin: 0 0 0 auto;
}
.page_fv {
  width: 1400px;
  margin: 0 auto;
  max-width: 100%;
}
#page .fv_txt h1 {
  font-size: 32px;
  color: #e88439;
  margin-bottom: 0;
  letter-spacing: .3em;
}
#page .fv_txt {
  text-align: center;
  background-image: url(../img/page/page_tit_bkg.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  padding: 60px 100px;
  bottom: 180px;
}
.page_bkg {
  background-image: url(../img/page/page_bkg.png);
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 170px 0 0 0;
  margin-top: -200px;
  position: relative;
}
.vision_cont {
  background-color: #fff;
  padding: 70px 100px;
  border-radius: 20px;
}
.vision_cont:first-of-type {
  margin-bottom: 50px;
}
.vision_cont h3 {
  font-size: 40px;
}
.vision_1st h3 {
  margin-bottom: 0;
}
.vision_1st h3 + p {
  text-align: center;
  color: #e38545;
  margin-bottom: 40px;
  font-size: 24px;
  font-weight: bold;
}
.vision_cont h3 span {
  font-size: 60px;
  color: #2d2825;
}
.vision_cont h3 span span {
  color: #e88439;
}
.vision_3 {
  width: fit-content;
  margin: 0 auto 40px auto;
}
.vision_3 li {
  display: flex;
  gap: 15px;
  align-items: center;
  padding: 15px 0;
}
.vision_3 .or_center {
  width: fit-content;
  font-size: 18px;
  color: #e38545;
  margin: 30px auto;
}
.vision_3 li .round {
  color: #fff;
  background-color: #86c8d6;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  border-radius: 50px;
  font-size: 35px;
  padding: 7px 10px 13px 10px;
}
.vision_3 li p {
  font-size: 27px;
}
.vision_3 li h4 {
  font-size: 53px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.6rem;
  width: 18rem;
}
.vision_3 li h4 .yomi {
  display: block;
  color: #e88439;
  font-size: 16px;
  text-align: center;
  line-height: 0;
}
.vision_3 li h4 .ora {
  color: #e88439;
}
.vision_3_txt li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 30px;
}
.vision_3_txt li::before {
  content: '●';
  color: #86c8d6;
  display: block;
  font-size: 20px;
  margin-top: 5px;
  margin-right: 5px;
}
.vision_3_txt li p {
  font-size: 18px;
}
.shien_houshin {
  margin-top: 40px;
}
.shien_houshin div {
  border: solid 3px #e88439;
  border-radius: 20px;
  padding: 30px 60px;
}
.shien_houshin h4,
.shien_naiyou h4 {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  color: #e88439;
  margin-bottom: 20px;
}
.shien_houshin .center {
  color: #e88439;
  font-size: 18px;
  margin-bottom: 10px;
}
.shien_houshin li {
  display: flex;
  margin-bottom: 20px;
}
.shien_houshin li:last-of-type {
  margin-bottom: 0;
}
.shien_houshin li p {
  font-size: 18px;
}
.shien_houshin li::before {
  content: '・';
  display: block;
  margin-top: 5px;
}
.shien_naiyou {
  margin-top: 30px;
}
.shien_naiyou ul {
  display: flex;
  gap: 30px;
  justify-content: center;
  margin-top: 40px;
}
.shien_naiyou li {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../img/page/about/vision_baloon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 30px 0;
  width: 186px;
  font-weight: 600;
}
.comic_cont img {
  border-radius: 20px;
  margin-bottom: 40px;
}
.sec_support_program h3 {
  font-size: 30px;
}
.sec_support_program .btn {
  margin: 40px auto;
}
.sup_pro_cont dl {
  display: flex;
  background-color: #fff;
  align-items: center;
}
.sup_pro_cont dt {
  width: 270px;
  flex-shrink: 0;
  height: 100%;
}
.sup_pro_cont dt img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}
.sup_pro_cont dd h4 {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 10px;
}
.sup_pro_cont dd {
  width: 100%;
}
.sup_pro_cont dd div {
  padding: 0 30px;
}
.sup_pro_cont li {
  margin-bottom: 30px;
}
.sup_pro_cont dd a {
  color: #2d2825;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: solid 1px #2d2825;
  width: fit-content;
  margin: 15px 0 0 auto;
}
.sup_tra_main {
  width: 1080px;
  text-align: center;
  margin: 0 auto 50px auto;
  position: relative;
}
.sup_tra_main div {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  height: fit-content;
}
.sup_tra_main div p {
  font-size: 24px;
  margin-top: 50px;
}
.sup_tra_main div p span {
  color: #e88439;
}
.sup_tra_ex {
  background-color: #fff;
  padding: 60px 100px;
  border-radius: 20px;
}
.sup_tra_ex li {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
}
.sup_tra_ex li div {
  width: 40%;
  text-align: center;
}
.sup_tra_ex li p {
  font-size: 24px;
}
.fv_txt h1 span {
  display: block;
  font-size: 16px;
  letter-spacing: .05em;
}
.fv_txt h1 span.name {
  display: block;
  font-size: 26px;
}
.methid_cont {
  background-color: #fff;
  padding: 50px 100px;
  border-radius: 20px 20px 0 0;
}
.shien3_list {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 50px;
}
.shien_list span {
  display: block;
  border: solid 1px #e88439;
  color: #e88439;
  text-align: center;
  width: calc(80%/3);
  padding: 30px 0;
  border-radius: 10px;
}
.arrow {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 60px solid transparent;
  border-left: 60px solid transparent;
  border-top: 14px solid #e88439;
  border-bottom: 0;
  margin: 20px auto;
}
.tab_area {
  display: flex;
  gap: 10px;
  margin-bottom: 0;
}
.tab_btn {
  padding: 5px 0;
  border: solid 1px #bbb;
  background: #e5e5e5;
  cursor: pointer;
  flex: 1;
  transition: .3s;
  border-radius: 10px 10px 0 0;
  font-family: inherit;
  font-size: inherit;
  border-bottom: none;
}
.tab_btn.active {
  background: #e88439;
  color: #fff;
  border: solid 1px #e88439;
  border-bottom: none;
}
.tab_content {
  display: none;
  border: solid 1px #e88439;
  border-radius: 0 0 20px 20px;
  padding: 40px 50px;
}
.tab_content.active {
  display: block;
}
.tab_contents h3 {
  color: #e88439;
  font-size: 24px;
}
.cont_flex h4 {
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
}
.cont_flex div {
  background-color: #fff4ec;
  padding: 15px 30px;
  width: calc(100%/2);
}
.cont_flex {
  display: flex;
  gap: 30px;
  margin-top: 30px;
}
.sec_area5_methid .shien_cont {
  padding: 0 100px 50px 100px;
  border-radius: 0 0 20px 20px;
}
.shien5_method_cont dl {
  background-color: #fff;
  padding: 50px 70px;
  display: flex;
  gap: 50px;
  align-items: center;
  margin-bottom: 40px;
  border-radius: 20px;
}
.shien5_method_cont dt {
  flex-shrink: 0;
}
.shien5_method_cont dd h3 {
  font-size: 18px;
  color: #e88439;
  margin-bottom: 10px;
}
.shien5_method_cont dd span {
  background-color: #86c8d6;
  color: #fff;
  font-size: 14px;
  display: inline-block;
  padding: 3px 10px;
  border-radius: 50px;
  margin-right: 10px;
}
.shien5_method_cont dd p {
  margin-top: 20px;
}
.faci_cont {
  background-color: #fff;
  padding: 80px 100px;
  border-radius: 20px;
}
.faci_cont h3 {
  font-size: 30px;
}
.faci_map {
  padding: 30px;
  border: solid 5px #e88439;
  border-radius: 20px;
  margin: 40px auto;
}
.faci_map img {
  display: block;
  margin: 0 auto;
}
.booth_cont dl {
  margin-bottom: 40px;
}
.booth_cont h4 {
  color: #e88439;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 15px;
}
.booth_cont dd {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.booth_cont + p.center {
  font-size: 30px;
  color: #e88439;
}
.faci_flex {
  display: flex;
  gap: 40px;
  margin-bottom: 60px;
}
.faci_flex img {
  width: 50%;
  flex-shrink: 0;
}
.nayami_image {
  display: block;
  margin: 0 auto 40px auto;
}
.nayami_center {
  font-size: 24px;
}
.step_inner.step_orange {
  border: solid 2px #e88439;
  border-radius: 10px;
  background-color: #fff;
  padding: 20px;
}
.step_inner.step_blue {
  border: solid 2px #4aa8bc;
  border-radius: 10px;
  background-color: #fff;
  padding: 20px;
}
.step_inner.step_orange.none {
  border: none;
  padding: 0;
}
.step_inner.step_orange p:first-of-type {
  color: #e88439;
  margin-bottom: 10px;
}
.step_inner.step_blue p:first-of-type {
  color: #4aa8bc;
  margin-bottom: 10px;
}
.step_inner.step_blue .center {
  font-size: 24px;
}
.step_flex {
  display: flex;
  gap: 20px;
  position: relative;
  z-index: 5;
}
.step_flex .step_inner p:first-of-type {
  text-align: center;
}
.step_flex .step_outer {
  width: calc(100%/2);
}
.step_inner {
  margin-bottom: 20px;
}
.faci_border {
  position: relative;
}
.faci_border::before {
  content: '';
  display: block;
  height: 500px;
  left: 25%;
  bottom: 0;
  width: 2px;
  background-color: #e88439;
  position: absolute;
}
.faci_border::after {
  content: '';
  display: block;
  height: 500px;
  right: 25%;
  bottom: 0;
  width: 2px;
  background-color: #4aa8bc;
  position: absolute;
}
.step_out_inner {
  position: relative;
  z-index: 5;
}
.step_outer h3 {
  font-size: 30px;
  color: #fff;
  padding: 10px 0;
  margin-bottom: 20px;
}
.step_outer h3.orange {
  background-color: #e88439;
}
.step_outer h3.blue {
  background-color: #4aa8bc;
}
.step_out_inner p:first-of-type {
  font-size: 24px;
}
.sec_faci_column .column_cont ul {
  flex-wrap: wrap;
  gap: 30px;
}
.sec_faci_column .column_cont li {
  width: calc((100% - 60px) / 3);
  max-width: none;
}
.pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 80px;
  margin-top: 100px;
  margin-bottom: 100px;
}

.pager_prev,
.pager_next {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #222;
  font-weight: 700;
  font-size: 18px;
  text-decoration: none;
  transition: .3s;
}

.pager_prev::after,
.pager_next::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #bbb;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: scaleX(1);
  transform-origin: left;
  transition: .3s;
}

.pager_prev,
.pager_next {
  position: relative;
}
.pager_prev:hover,
.pager_next:hover {
  color: #e88439;
}
.pager_prev:hover::after,
.pager_next:hover::after {
  background: #e88439;
}
.pager_num {
  display: flex;
  gap: 18px;
}
.pager_num li {
  list-style: none;
}
.pager_num a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #222;
  font-weight: 700;
  text-decoration: none;
  transition: .3s;
}
.pager_num a:hover {
  background: #e88439;
  color: #fff;
}
.pager_num a.current {
  background: #e88439;
  color: #fff;
}
.pager .blog_info {
  color: #222;
}
.pager_num span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width:767px) {
  .pager {
    flex-wrap: wrap;
    gap: 30px;
  }
  .pager_prev,
  .pager_next {
    font-size: 1.4rem;
  }
  .pager_num {
    order: -1;
    width: 100%;
    justify-content: center;
  }
  .pager_num a {
    width: 44px;
    height: 44px;
    font-size: 1.6rem;
  }
}
.single_column_cont {
  background-color: #fff;
  padding: 60px 100px;
  border-radius: 20px;
}
.single_column_cont h3 {
  font-size: 20px;
  padding-bottom: 10px;
  border-bottom: solid 2px #e88439;
  margin-bottom: 10px;
}
.single_column_cont h3 + span {
  display: block;
  text-align: right;
  margin-bottom: 20px;
}
.blog_catch {
  width: 100%;
  border-radius: 20px;
  margin-bottom: 30px;
}
.blog_inner p {
  margin-bottom: 15px;
}
.single_column_cont .pager {
  margin-bottom: 0;
}
.news_list_cont {
  display: flex;
  gap: 30px;
}
.news_list_body {
  background-color: #fff;
  padding: 30px 40px;
  border-radius: 20px;
  width: 70%;
}
.news_list_inner li {
  border-bottom: dotted 4px #86c8d6;
  padding: 30px 0;
}
.news_list_body li dl {
  display: flex;
  gap: 20px;
}
.news_top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}
.news_top a {
  color: #e88439;
  display: flex;
  align-items: center;
  gap: 10px;
}
.news_top span {
  color: #e88439;
}
.news_top .cate {
  background-color: #9370db;
  color: #fff;
  font-size: 13px;
  padding: 3px 5px;
  margin-left: 15px;
}
.news_top .kame {
  background-color: #ff9966;
}
.news_top .nan {
  background-color: #66ccff;
}
.news_body h3 {
  font-size: 16px;
  margin-bottom: 0;
  margin-bottom: 10px;
}
.news_body p {
  font-size: 14px;
}
.news_list_body .pager {
  margin: 40px auto 60px auto;
}
.news_side_list {
  background-color: #fff;
  padding: 30px 16px;
  border-radius: 20px;
  margin-bottom: 20px;
}
.news_side_list a {
  font-size: 14px;
  padding: 8px 0;
  display: block;
  color: #222;
}
.news_side_list a.current {
  color: #e88439;
}
.news_side_list li {
  border-bottom: dotted 2px #85cce2;
}
.news_side_list p {
  color: #e88439;
}
.single_news_cont h3 {
  border-bottom: none;
  margin-top: 30px;
}
.single_news_cont .blog_inner img {
  display: block;
  margin: 30px auto;
}
.single_news_cont {
  max-width: 730px;
  margin: 0 auto;
}
.contact_cont {
  background-color: #fff;
  padding: 60px 100px;
  border-radius: 20px;
}
.contact_cont form {
  max-width: 800px;
  margin: 0 auto;
}
.contact_cont form input {
  width: 376px;
  padding: 10px;
  border: solid 1px #ccc;
}
.contact_cont form dl {
  margin-bottom: 30px;
}
.contact_cont form dt {
  margin-bottom: 10px;
  font-weight: 600;
}
.contact_cont form dt span {
  background-color: #e88439;
  color: #fff;
  font-size: 14px;
  padding: 0 3px;
  display: inline-block;
  margin-left: 10px;
}
.contact_cont form textarea {
  border: solid 1px #ccc;
  width: 100%;
  padding: 10px;
  height: 15rem;
}
#submit {
  margin: 0 auto;
  width: fit-content;
  position: relative;
}
#contact_back,
#contact_send {
  position: relative;
}
.contact_cont button.submit,
.contact_cont button.back {
  cursor: pointer;
  background-color: #e88439;
  border: solid 1px #e88439;
  color: #fff;
  border-radius: 50px;
  font-size: inherit;
  font-family: inherit;
  font-weight: 600;
  width: 230px;
  transition: .3s;
  padding: 10px;
}
.contact_cont button.submit:hover {
  opacity: .8;
}
#submit::after,
#contact_back::after,
#contact_send::after {
  content: '';
  background-image: url(../img/btn_orange.png);
  background-position: center;
  background-repeat: no-repeat;
  padding: 10px;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
}
#contact_back::after {
  right: auto;
  left: 20px;
  transform: rotate(180deg);
}
.confirm_btn {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}
#page .real_submit {
  display: none;
}
.contact_cont table {
  margin: 0 auto 40px auto;
}
.contact_cont table th,
.contact_cont table td {
  padding: 10px 15px;
  line-height: 1.5em;
  text-align: left;
  font-weight: 600;
}
.contact_cont.thanks h3 {
  font-size: 24px;
}
#page #confirm_cf7 {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.wpcf7-spinner {
  display: none !important;
}
.custom_error {
  display: block;
  color: red;
}
#page .contact_select .wpcf7-form-control {
  display: flex;
  gap: 20px;
}

#page .contact_select .wpcf7-list-item {
  flex: 1;
  margin: 0;
}

#page .contact_select .wpcf7-list-item label {
  display: block;
  cursor: pointer;
}

#page .contact_cont form .contact_select input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: fit-content;
}
#page .contact_select .wpcf7-list-item-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 70px;
  border: 2px solid #ddd;
  border-radius: 10px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.3s;
}

#page .contact_select .first input[type="radio"]:checked + .wpcf7-list-item-label {
  background: #ff9966;
  border-color: #ff9966;
  color: #fff;
}
#page .contact_select .last input[type="radio"]:checked + .wpcf7-list-item-label {
  background: #9370db;
  border-color: #9370db;
  color: #fff;
}
#page .contact_select input[type="radio"]:checked + .wpcf7-list-item-label {
  background: #66ccff;
  border-color: #66ccff;
  color: #fff;
}
@media screen and (max-width: 1380px) {
  .inner_wrapp {
    max-width: 95%;
  }
  header .inner_wrapp ul {
    gap: 20px;
  }
  .header_logo {
    gap: 20px;
  }
}
@media(max-width:1240px) {
  .column_cont li {
    flex-shrink: 1;
  }
  .column_cont dt {
    width: 100%;
    height: 20.968vw;
  }
}
@media screen and (max-width: 1200px) {
  .inner_wrapp,
  .sml_wrapp,
  .page_wrapp {
    max-width: 95%;
  }
  .sup_tra_main {
    width: 100%;
  }
  .shien_cont,
  .vision_cont,
  .sup_tra_ex,
  .methid_cont,
  .faci_cont,
  .single_column_cont,
  .contact_cont {
    padding-left: 5%;
    padding-right: 5%;
  }
  .sec_area5_methid .shien_cont {
    padding-left: 5%;
    padding-right: 5%;
  }
  .shien5_method_cont dl {
    padding-left: 5%;
    padding-right: 5%;
  }
  .menu_btn {
    position: relative;
    z-index: 1100;
    display: block;
    width: 50px;
    height: 50px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
  }
  .menu_btn span {
    position: absolute;
    left: 8px;
    width: 34px;
    height: 2px;
    background: #333;
    transition: 0.3s;
  }
  .menu_btn span:nth-child(1) {
    top: 14px;
  }
  .menu_btn span:nth-child(2) {
    top: 24px;
  }
  .menu_btn span:nth-child(3) {
    top: 34px;
  }
  .header_nav {
    position: fixed;
    top: 0;
    right: 0;
    width: min(400px, 100%);
    height: 100dvh;
    padding: 40px;
    box-sizing: border-box;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    transform: translateX(100%);
    transition:
      transform 0.4s ease,
      opacity 0.3s ease,
      visibility 0.3s;
  }
  header .inner_wrapp ul {
    display: block;
  }
  header .inner_wrapp ul li {
    margin: 10px 0;
  }
  header .inner_wrapp ul li:last-of-type {
    margin-top: 20px;
  }
  .header_nav ul li a {
    display: block;
    padding: 10px;
  }
  body.nav_open {
    overflow: hidden;
  }
  body.nav_open .header_nav {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }
  body.nav_open .menu_btn span:nth-child(1) {
    top: 24px;
    transform: rotate(45deg);
  }
  body.nav_open .menu_btn span:nth-child(2) {
    opacity: 0;
  }
  body.nav_open .menu_btn span:nth-child(3) {
    top: 24px;
    transform: rotate(-45deg);
  }
  .social .logo_cont {
    height: 22.5vw;
  }
  .contact_list a {
    border-radius: 2.167vw;
  }
  .contact_list a div + img {
    right: 0.667vw;
  }
  .contact_list {
    gap: 2.5vw;
  }
}
@media(max-width:1100px) {
  .cont_onayami dt p {
    top: 4vw;
  }
}
@media(max-width:1000px) {
  .sec_fv .inner_wrapp {
    max-width: 95%;
  }
  #page .sec_fv .inner_cont {
    margin-top: 80px;
  }
  #page .fv_badge {
    bottom: 50px;
    right: 5%;
  }
  .page_bkg {
    margin-top: -120px;
  }
  #page .fv_txt h1 {
    font-size: 25px;
  }
  #page .fv_txt {
    padding: 40px 80px;
    left: 2%;
    top: -2%;
    bottom: auto;
  }
  .contact_list {
    flex-wrap: wrap;
  }
  .contact_list a,
  .contact_list a:last-of-type {
    width: 90%;
  }
  .fv_txt h1 {
    font-size: 40px;
  }
  .fv_txt p {
    font-size: 18px;
  }
  .fv_badge a {
    width: 230px;
    height: 230px;
    font-size: 23px;
  }
  #page .page_fv {
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .page_bkg {
    padding-top: 50px;
  }
  body {
    font-size: 14px;
  }
  .inner_wrapp,
  .sml_wrapp,
  .page_wrapp {
    width: auto;
    margin-left: var(--side-sp);
    margin-right: var(--side-sp);
  }
  .inner_wrapp .sml_wrapp,
  .inner_wrapp .page_wrapp {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  .in_section {
    padding: 40px 0;
  }
  .sec_tit {
    margin-bottom: 35px;
  }
  .sec_tit h2 {
    font-size: 24px;
  }
  h3 {
    font-size: 20px;
    margin-bottom: 25px;
  }
  h3 span {
    letter-spacing: .5rem;
  }
  h3 .SP {
    display: block;
  }
  h2 .SP {
    display: block;
  }
  p .SP {
    display: block;
  }
  /* FV */
  .sec_fv {
    position: relative;
    overflow: hidden;
  }
  .fv_image {
    display: block;
    width: 100%;
    height: 67.797vw;
    min-height: 500px;
    object-fit: cover;
    object-position: center;
  }
  .fv_badge a img {
    max-width: 60%;
  }
  .sec_fv .inner_wrapp {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    max-width: none;
    margin: auto 20px;
  }
  .sec_fv .inner_cont {
    height: 67.797vw;
    min-height: 500px;
  }
  .fv_txt {
    top: 40px;
    bottom: auto;
    left: 0;
  }
  .fv_txt h1 {
    font-size: 30px;
    line-height: 1.4;
    margin-bottom: 15px;
  }
  .fv_txt p {
    width: 100%;
    font-size: 14px;
    line-height: 1.7;
  }
  .fv_txt p br {
    display: none;
  }
  .fv_badge {
    right: 0;
    bottom: 25px;
    border-width: 6px;
  }
  .fv_badge a {
    width: 145px;
    height: 145px;
    font-size: 16px;
    border-width: 1px;
  }

  /* top background */
  .top_bkg {
    padding-top: 80px;
    margin-top: -70px;
  }

  /* about */
  .cont_youkoso {
    margin-bottom: 40px;
  }
  .cont_youkoso h3 {
    font-size: 20px;
  }
  .cont_youkoso p {
    text-align: left;
    margin-bottom: 35px;
  }
  .cont_youkoso p br {
    display: none;
  }
  .cont_youkoso > a {
    display: block;
  }
  .cont_youkoso > a img {
    display: block;
    width: 100%;
    margin: 0 auto;
  }

  /* worries */
  .cont_onayami ul {
    display: block;
  }
  .cont_onayami li {
    margin-bottom: 35px;
  }
  .cont_onayami li:last-child {
    margin-bottom: 0;
  }
  .cont_onayami dt {
    width: fit-content;
    margin: 0 auto;
  }
  .cont_onayami dt p {
    top: 55px;
  }
  .cont_onayami dd p {
    margin-top: 15px;
  }
  .cont_onayami .baloon {
    margin-top: 40px;
  }
  .cont_onayami .baloon img {
    display: none;
  }
  .cont_onayami .baloon p {
    position: static;
    width: auto;
    padding: 25px 20px;
    border-radius: 20px;
    background-color: #fff;
    font-size: 14px;
  }
  .cont_onayami .baloon p br {
    display: none;
  }

  /* greeting */
  .greeting_cont dl {
    display: block;
    padding: 30px 20px;
    border-radius: 20px;
  }
  .greeting_cont dt {
    margin-bottom: 30px;
  }
  .greeting_cont dt img {
    max-width: 260px;
  }
  .greeting_cont dt p {
    padding-top: 10px;
    font-size: 12px;
  }
  .greeting_cont h3 {
    font-size: 20px;
    text-align: center;
  }
  .greeting_cont h3 span {
    letter-spacing: normal;
  }
  .greeting_cont .btn {
    margin-top: 30px;
  }

  /* support */
  .shien_cont {
    padding: 30px 20px;
  }
  .shien_cont_inner {
    margin-top: 45px;
  }
  .shien_cont_inner:first-of-type {
    margin-top: 0;
  }
  .shien_cont_inner h3 {
    font-size: 20px;
    margin-bottom: 25px;
  }
  .shien_cont_inner ul {
    display: block;
  }
  .shien_cont_inner li {
    width: 100%;
    margin-bottom: 40px;
  }
  .shien_cont_inner li:last-child {
    margin-bottom: 0;
  }
  .shien_cont_inner li dt {
    margin-bottom: 20px;
    text-align: center;
  }
  .shien_cont_inner:nth-of-type(2) dl {
    display: block;
  }
  .shien_cont_inner:nth-of-type(2) dt {
    margin-bottom: 20px;
    text-align: center;
  }
  .btn_flex {
    display: block;
    margin-top: 35px;
  }
  .btn_flex .btn {
    margin: 15px auto 0;
  }

  /* spot */
  .spot_cont h3 {
    font-size: 23px;
  }
  .spot_cont > p br {
    display: none;
  }
  .spot_cont ul {
    display: block;
    margin-top: 35px;
  }
  .spot_cont li {
    width: 100%;
    margin-bottom: 45px;
  }
  .spot_cont li:last-child {
    margin-bottom: 0;
  }
  .spot_cont li dt {
    margin-bottom: 20px;
  }

  /* FAQ */
  .sec_faq .faq_cont {
    padding: 40px 20px;
  }
  .faq_list {
    font-size: 14px;
  }
  .faq_list p {
    padding-right: 30px;
  }
  .faq_list .q::after {
    right: 0;
  }
  .faq_list .a.open {
    padding-right: 10px;
  }

  /* company */
  .shop_list > dl {
    display: block;
    margin-bottom: 45px;
  }
  .shop_list > dl > dt {
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
  }
  .shop_list > dl > dt > img {
    width: 100%;
  }
  .shop_list table {
    width: 100%;
  }
  .shop_list table tr {
    display: block;
    padding: 10px 0;
    border-bottom: 1px dotted #ccc;
  }
  .shop_list table th,
  .shop_list table td {
    display: block;
    width: 100%;
    padding: 0;
  }
  .shop_list table th {
    margin-bottom: 3px;
    color: var(--color-main);
  }
  .social dl {
    display: block;
  }
  .social dd {
    width: 100%;
    margin-bottom: 40px;
  }
  .social dd:last-child {
    margin-bottom: 0;
  }
  .social .logo_cont {
    height: auto;
    min-height: 180px;
  }

  /* column */
  .column_cont ul {
    display: block;
  }
  .column_cont li {
    width: 100%;
    max-width: none;
    margin-bottom: 45px;
  }
  .column_cont li:last-child {
    margin-bottom: 0;
  }
  .column_cont dt {
    width: 100%;
    height: auto;
    aspect-ratio: 345 / 260;
  }

  /* news */
  .news_cont {
    padding: 20px;
  }
  .news_cont li {
    padding: 15px 0;
  }
  .news_cont a {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 10px;
  }
  .news_cont .day {
    width: auto;
  }
  .news_cont .cate {
    width: fit-content;
    font-size: 12px;
  }
  .news_cont p {
    width: 100%;
  }

  /* footer */
  .foot_cont > p {
    font-size: 16px;
  }
  .contact_list {
    display: block;
    margin: 30px 0;
  }
  .contact_list a,
  .contact_list a:last-of-type {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 15px;
    padding: 15px 45px 15px 20px;
  }
  .contact_list a div + img {
    right: 15px;
  }
  .foot_cont .osw {
    font-size: 20px;
  }
  .foot_cont a p.num {
    flex-wrap: wrap;
  }
  .banner {
    display: block;
  }
  .banner img {
    width: 100%;
  }
  .foot_und {
    display: block;
    margin-top: 40px;
  }
  .foot_und > a {
    display: block;
    text-align: center;
    margin-bottom: 30px;
  }
  .foot_und > a img {
    display: block;
    max-width: 130px;
    margin: 0 auto 15px;
  }
  .foot_und table {
    margin: 0 auto;
  }
  .bottom {
    padding: 20px;
    padding-bottom: 90px;
  }
  /*page fv*/
  #page .sec_fv {
    position: relative;
    overflow: hidden;
    height: 430px;
  }

  /* FV画像 */
  #page .page_fv {
    width: 100%;
    height: 430px;
  }

  #page .fv_image {
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 0;
    margin: 0;
    object-fit: cover;
    object-position: center;
  }

  /* FV上のコンテンツエリア */
  #page .sec_fv .inner_wrapp {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    max-width: none;
    margin: 0 20px;
  }

  #page .sec_fv .inner_cont {
    height: 430px;
    min-height: 0;
    margin-top: 0;
  }

  /* 左側タイトル */
  #page .fv_txt {
    bottom: auto;
    left: 0;
    top: 2%;
    padding: 35px 45px;
    background-size: 100% 100%;
  }

  #page .fv_txt h1 {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: .2em;
  }

  #page .fv_txt h1 span {
    font-size: 12px;
  }

  #page .fv_txt h1 span.name {
    font-size: 18px;
    margin-top: 3px;
  }

  #page .fv_txt > img {
    max-width: 80px;
    margin-top: 5px;
  }

  #page .fv_badge a img {
    max-width: 60%;
  }
  /* ========================================
   page-online
======================================== */
  .sec_faci_online .faci_cont {
    padding: 30px 20px;
  }
  .sec_faci_online .faci_cont h3 {
    font-size: 22px;
    line-height: 1.6;
  }
  .sec_faci_online .faci_cont h3 span {
    display: inline;
  }
  .faci_flex {
    display: block;
    margin-bottom: 45px;
  }
  .faci_flex img {
    width: 100%;
    margin-bottom: 25px;
  }
  .faci_flex p {
    line-height: 2;
  }
  .nayami_image {
    width: 100%;
    margin: 0 auto 25px;
  }
  .nayami_center {
    font-size: 16px;
    line-height: 1.8;
  }
  .nayami_center br {
    display: none;
  }
  .sec_faci_online .btn_flex {
    display: block;
    margin-top: 30px;
  }
  .sec_faci_online .btn_flex .btn {
    margin: 15px auto 0;
  }
  .faci_step {
    width: 100%;
  }
  .step_outer h3 {
    padding: 10px;
    margin-bottom: 15px;
    font-size: 20px;
    line-height: 1.5;
    border-radius: 5px;
  }

  .step_inner.step_orange,
  .step_inner.step_blue {
    padding: 20px;
  }
  .step_inner {
    margin-bottom: 15px;
  }
  .step_flex .step_inner p:first-of-type,
  .step_out_inner p:first-of-type {
    font-size: 17px;
    line-height: 1.6;
  }
  .step_inner.step_blue .center {
    font-size: 17px;
  }
  .step_inner p:last-of-type {
    line-height: 1.8;
  }
  .step_inner.step_orange.none {
    display: none;
  }
  .step_out_inner {
    padding: 20px;
    margin-bottom: 15px;
  }
  .faci_step {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 10px;
  }

  .faci_border {
    min-width: 720px;
  }

  .step_flex {
    display: flex;
    gap: 20px;
  }

  .step_flex .step_outer {
    width: calc((100% - 20px) / 2);
    flex-shrink: 0;
  }

  .step_inner.step_orange.none {
    display: block;
  }
  .faci_border::before,
  .faci_border::after {
    display: block;
  }
  .step_outer h3 {
    font-size: 18px;
  }
  .step_flex .step_inner p:first-of-type,
  .step_out_inner p:first-of-type {
    font-size: 16px;
  }
  #page .page_fv {
    margin-top: 80px;
  }
  .scroll_note.SP {
    display: block;
    margin-bottom: 10px;
    text-align: right;
    font-size: 12px;
    color: #e88439;
  }
  .fv_badge .pc_line {
    display: none;
  }

  .fv_badge .SP {
    display: block;
  }
  /* =========================
     LINE固定CTA
  ========================= */
  .fv_badge,
  #page .fv_badge {
    position: fixed;
    top: auto;
    right: 15px;
    bottom: 15px;
    left: 15px;

    width: auto;
    height: auto;
    margin: 0;

    border: none;
    border-radius: 0;

    z-index: 1000;
  }
  .fv_badge a {
    width: 100%;
    height: auto;
    padding: 14px 0;
    display: block;
    position: relative;
    background: var(--color-orange);
    border: 2px solid #fff;
    border-radius: 50px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, .15);
    font-size: 16px;
    line-height: 1.4;
    text-align: center;
  }
  .fv_badge a > img {
    display: none;
  }
  /* ========================================
   column list
======================================== */

  .sec_faci_column .column_cont ul {
    display: block;
  }

  .sec_faci_column .column_cont li {
    width: 100%;
    max-width: none;
    margin-bottom: 25px;
  }

  .sec_faci_column .column_cont li:last-child {
    margin-bottom: 0;
  }

  .sec_faci_column .column_cont li dl {
    display: block;
  }

  .sec_faci_column .column_cont li dt {
    width: 100%;
    aspect-ratio: 345 / 215;
  }

  .sec_faci_column .column_cont li dt img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
  }

  .sec_faci_column .column_cont li dd {
    padding-top: 15px;
  }

  .sec_faci_column .column_cont .tit {
    font-size: 18px;
    line-height: 1.6;
  }

  .sec_faci_column .column_cont .day {
    font-size: 13px;
  }

  .sec_faci_column .column_cont .txt {
    font-size: 14px;
    line-height: 1.8;
  }

  .sec_faci_column .column_cont li dd > a {
    margin-top: 15px;
  }


  /* ========================================
   pager
======================================== */

  .pager {
    margin-top: 35px;
  }

  .pager_num {
    gap: 10px;
  }

  .pager_num a,
  .pager_num .current {
    width: 38px;
    height: 38px;
    font-size: 14px;
  }
  /* ========================================
   news list
======================================== */

  /* ========================================
     news list
  ======================================== */

  .sec_faci_column .news_list_cont {
    display: block;
  }

  .sec_faci_column .news_list_body {
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
  }

  .sec_faci_column .news_list_inner li {
    padding: 20px 0;
  }

  .sec_faci_column .news_list_body li dl {
    display: block;
  }

  .sec_faci_column .news_list_body li dd {
    width: 100%;
  }

  .sec_faci_column .news_top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
  }

  .sec_faci_column .news_top > span {
    font-size: 12px;
  }

  .sec_faci_column .news_top .cate {
    display: inline-block;
    font-size: 11px;
    margin-left: 5px;
    padding: 2px 4px;
  }

  .sec_faci_column .news_top a {
    margin-left: auto;
    flex-shrink: 0;
    gap: 5px;
    font-size: 12px;
  }

  .sec_faci_column .news_body h3 {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 8px;
  }

  .sec_faci_column .news_body p {
    font-size: 13px;
    line-height: 1.7;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }


  /* sidebar */

  .news_list_side {
    margin-top: 30px;
  }

  .news_side_list {
    padding: 20px;
    margin-bottom: 15px;
  }

  /* ページャー */

  .news_list_body .pager {
    margin: 35px auto 20px;
  }

  .news_list_body .pager_num {
    gap: 8px;
    flex-wrap: wrap;
  }

  .news_list_body .pager_num a,
  .news_list_body .pager_num .current {
    width: 38px;
    height: 38px;
  }

  .news_list_body .pager_num span {
    width: 38px;
    height: 38px;
    font-size: 16px;
  }
  /* ========================================
   single news
======================================== */

  .single_news_cont {
    width: 90%;
    max-width: none;
  }

  .single_news_cont h3 {
    font-size: 20px;
    line-height: 1.6;
    margin-top: 20px;
    margin-bottom: 15px;
  }

  .single_news_cont .blog_inner {
    font-size: 14px;
    line-height: 1.9;
  }

  .single_news_cont .blog_inner p {
    margin-bottom: 20px;
  }

  .single_news_cont .blog_inner img {
    width: 100%;
    height: auto;
    margin: 25px auto;
  }


  /* 日付・カテゴリ */

  .single_news_cont .news_top {
    display: block;
    margin-bottom: 20px;
  }

  .single_news_cont .news_top > span {
    display: block;
    font-size: 13px;
  }

  .single_news_cont .news_top .cate {
    display: inline-block;
    margin-left: 8px;
    font-size: 11px;
    padding: 2px 5px;
  }


  /* ========================================
   single pager
======================================== */

  .single_news_cont .pager {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 25px 15px;
    margin-top: 50px;
  }

  .single_news_cont .pager_prev,
  .single_news_cont .pager_next {
    width: calc(50% - 10px);
    box-sizing: border-box;
    font-size: 13px;
  }

  .single_news_cont .pager_next {
    justify-content: flex-end;
  }

  .single_news_cont .blog_info {
    order: 3;
    width: 100%;
    text-align: center;
  }
  /* ========================================
   single column
======================================== */

  .single_column_cont {
    padding-top: 30px;
    padding-bottom: 30px;
    border-radius: 15px;
  }

  .single_column_cont h3 {
    font-size: 18px;
    line-height: 1.6;
    padding-bottom: 10px;
    margin-bottom: 8px;
  }

  .single_column_cont h3 + span {
    font-size: 12px;
    margin-bottom: 20px;
  }

  .blog_catch {
    margin-bottom: 25px;
    border-radius: 15px;
    overflow: hidden;
  }

  .blog_catch img {
    display: block;
    width: 100%;
    height: auto;
  }

  .single_column_cont .blog_inner {
    font-size: 14px;
    line-height: 1.9;
  }

  .single_column_cont .blog_inner p {
    margin-bottom: 20px;
  }

  .single_column_cont .blog_inner img {
    display: block;
    width: 100%;
    height: auto;
    margin: 25px auto;
  }


  /* ========================================
   single column pager
======================================== */

  .single_column_cont .pager {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 25px 15px;
    margin-top: 45px;
    margin-bottom: 0;
  }

  .single_column_cont .pager_prev,
  .single_column_cont .pager_next {
    width: calc(50% - 10px);
    box-sizing: border-box;
    font-size: 13px;
  }

  .single_column_cont .pager_prev {
    justify-content: flex-start;
  }

  .single_column_cont .pager_next {
    justify-content: flex-end;
  }


  .single_column_cont .blog_info {
    order: 3;
    width: 100%;
    text-align: center;
    font-size: 14px;
  }
  .rec_single h5 {
    padding: 10px;
  }
  /* ========================================
   about - vision
======================================== */

  #page .vision_cont {
    padding: 30px 20px;
    border-radius: 15px;
  }

  #page .vision_cont:first-of-type {
    margin-bottom: 30px;
  }


  /* タイトル */

  #page .vision_cont h3 {
    font-size: 20px;
    margin-bottom: 25px;
  }

  #page .vision_1st h3 {
    margin-bottom: 5px;
  }

  #page .vision_cont h3 span {
    font-size: 36px;
    letter-spacing: .3rem;
  }

  #page .vision_1st h3 + p {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 30px;
  }


  /* ========================================
   ELEVAR 3つの理念
======================================== */

  #page .vision_3 {
    width: 100%;
    margin-bottom: 30px;
  }

  #page .vision_3 li {
    display: grid;
    grid-template-columns: 32px 85px 1fr;
    gap: 8px;
    align-items: center;
    padding: 10px 0;
  }

  #page .vision_3 li .round {
    width: 15px;
    height: 16px;
    padding: 5px 7px 8px;
    font-size: 18px;
  }

  #page .vision_3 li h4 {
    width: auto;
    font-size: 25px;
    letter-spacing: .2rem;
  }

  #page .vision_3 li h4 .yomi {
    width: fit-content;
    font-size: 10px;
    line-height: 1;
    margin-bottom: 2px;
  }

  #page .vision_3 li p {
    font-size: 13px;
    line-height: 1.5;
  }


  /* 3つの理念の説明 */

  #page .vision_3 .or_center {
    width: 100%;
    margin: 20px auto 0;
    padding-top: 20px;
    border-top: 1px dotted #e88439;
    font-size: 14px;
    line-height: 1.8;
  }

  #page .vision_3 .or_center br {
    display: none;
  }


  /* ========================================
   理念説明
======================================== */

  #page .vision_3_txt li {
    margin-bottom: 20px;
  }

  #page .vision_3_txt li::before {
    font-size: 14px;
    margin-top: 4px;
  }

  #page .vision_3_txt li p {
    font-size: 14px;
    line-height: 1.8;
  }


  /* ========================================
   支援方針
======================================== */

  #page .shien_houshin {
    margin-top: 30px;
  }

  #page .shien_houshin h4,
  #page .shien_naiyou h4 {
    font-size: 21px;
    margin-bottom: 15px;
  }

  #page .shien_houshin > div {
    padding: 20px 15px;
    border-width: 2px;
    border-radius: 15px;
  }

  #page .shien_houshin .center {
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
    margin-bottom: 20px;
  }

  #page .shien_houshin li {
    margin-bottom: 15px;
  }

  #page .shien_houshin li::before {
    flex-shrink: 0;
    margin-top: 2px;
  }

  #page .shien_houshin li p {
    font-size: 13px;
    line-height: 1.7;
  }


  /* ========================================
   支援ビジョン
======================================== */

  #page .vision_cont > img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
  }

  #page #page .shien_naiyou {
    margin-top: 25px;
  }

  #page #page .shien_naiyou p.center {
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
  }

  #page #page .shien_naiyou p.center br {
    display: none;
  }


  /* 5領域 */

  #page .shien_naiyou ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
  }

  #page .shien_naiyou li {
    width: calc((100% - 10px) / 2);
    min-height: 80px;
    box-sizing: border-box;
    padding: 15px 5px;
    font-size: 13px;
  }

  #page .shien_naiyou li:last-child {
    width: 100%;
    max-width: calc((100% - 10px) / 2);
    margin: 0 auto;
  }


  /* ========================================
   comic
======================================== */

  .comic_cont img {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    border-radius: 10px;
  }

  .comic_cont img:last-child {
    margin-bottom: 0;
  }
  /* ========================================
   5 area
======================================== */

  #page .methid_cont {
    padding: 30px 20px;
    border-radius: 15px 15px 0 0;
  }

  #page .methid_cont > p.center {
    text-align: left;
    line-height: 1.8;
  }

  #page .methid_cont > p.center br {
    display: none;
  }


  /* ========================================
   3 support
======================================== */

  #page .shien3_list {
    display: flex;
    gap: 8px;
    margin-top: 30px;
  }

  #page .shien3_list span {
    width: calc((100% - 16px) / 3);
    box-sizing: border-box;
    padding: 15px 5px;
    font-size: 13px;
  }

  #page .arrow {
    border-right-width: 35px;
    border-left-width: 35px;
    margin: 15px auto;
  }


  /* ========================================
   5 area tabs
======================================== */

  #page .tab_area {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
  }

  #page .tab_btn {
    min-height: 48px;
    padding: 8px 5px;
    border: solid 1px #bbb;
    border-radius: 8px;
    font-size: 12px;
  }

  #page .tab_btn.active {
    border: solid 1px #e88439;
  }


  /* 5個目だけ中央 */

  #page .tab_btn:last-child {
    grid-column: 1 / 3;
    width: calc(50% - 2.5px);
    margin: 0 auto;
  }


  /* ========================================
   tab contents
======================================== */

  #page .tab_content {
    margin-top: 15px;
    padding: 25px 15px;
    border-radius: 15px;
  }

  #page .tab_contents h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }

  #page .tab_content > p {
    font-size: 13px;
    line-height: 1.8;
  }


  /* ========================================
   service examples
======================================== */

  #page .cont_flex {
    display: block;
    margin-top: 25px;
  }

  #page .cont_flex > div {
    width: 100%;
    box-sizing: border-box;
    padding: 20px 15px;
  }

  #page .cont_flex > div + div {
    margin-top: 15px;
  }

  #page .cont_flex h4 {
    font-size: 15px;
    margin-bottom: 10px;
  }

  #page .cont_flex p {
    font-size: 13px;
    line-height: 1.8;
  }
  /* ========================================
   support contents
======================================== */

  #page .sec_area5_methid .shien_cont {
    padding: 30px 20px;
    border-radius: 0 0 15px 15px;
  }

  #page .shien_cont_inner {
    margin-top: 45px;
  }

  #page .shien_cont_inner:first-of-type {
    margin-top: 0;
  }

  #page .shien_cont_inner h3 {
    font-size: 20px;
    margin-bottom: 25px;
  }


  /* 本人支援・移行支援 */

  #page .shien_cont_inner ul {
    display: block;
  }

  #page .shien_cont_inner li {
    width: 100%;
    margin-bottom: 35px;
  }

  #page .shien_cont_inner li:last-child {
    margin-bottom: 0;
  }

  #page .shien_cont_inner li dl {
    display: block;
  }

  #page .shien_cont_inner li dt {
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
  }

  #page .shien_cont_inner li dt img {
    display: block;
    width: 100%;
    max-width: 380px;
    height: auto;
    margin: 0 auto;
  }

  #page .shien_cont_inner li dd {
    width: 100%;
  }

  #page .shien_cont_inner li dd p:first-child {
    margin-bottom: 10px;
    color: #e88439;
    font-size: 15px;
  }

  #page .shien_cont_inner li dd p {
    font-size: 14px;
    line-height: 1.8;
  }


  /* 家族支援 */

  #page .shien_cont_inner:nth-of-type(2) dl {
    display: block;
  }

  #page .shien_cont_inner:nth-of-type(2) dt {
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
  }

  #page .shien_cont_inner:nth-of-type(2) dt img {
    display: block;
    width: 100%;
    max-width: 380px;
    height: auto;
    margin: 0 auto;
  }

  #page .shien_cont_inner:nth-of-type(2) dd p {
    font-size: 14px;
    line-height: 1.8;
  }


  /* buttons */

  #page .btn_flex {
    display: block;
    margin-top: 35px;
  }

  #page .btn_flex .btn {
    margin: 15px auto 0;
  }


  /* ========================================
   5 methods
======================================== */

  #page .shien5_method_cont dl {
    display: block;
    padding: 25px 20px;
    margin-bottom: 25px;
    border-radius: 15px;
  }

  #page .shien5_method_cont dt {
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
  }

  #page .shien5_method_cont dt img {
    display: block;
    width: 100%;
    max-width: 189px;
    height: auto;
    margin: 0 auto;
  }

  #page .shien5_method_cont dd {
    width: 100%;
  }

  #page .shien5_method_cont dd h3 {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 15px;
  }

  #page .shien5_method_cont dd span {
    display: inline-block;
    margin: 0 5px 7px 0;
    padding: 3px 8px;
    font-size: 12px;
  }

  #page .shien5_method_cont dd p {
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.8;
  }
  /* ========================================
   contact
======================================== */

  #page .contact_cont {
    padding: 30px 20px;
    border-radius: 15px;
  }

  #page .contact_cont form {
    width: 100%;
  }

  #page .contact_cont form dl {
    margin-bottom: 25px;
  }

  #page .contact_cont form dt {
    margin-bottom: 8px;
    font-size: 14px;
  }

  #page .contact_cont form dt span {
    margin-left: 8px;
    padding: 1px 4px;
    font-size: 11px;
  }

  #page .contact_cont form dd {
    width: 100%;
  }

  #page .contact_cont form input:not(.submit),
  #page .contact_cont form textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 16px;
    border-radius: 5px;
  }

  #page .contact_cont form input:not(.submit) {
    padding: 10px;
  }

  #page .contact_cont form textarea {
    height: 180px;
    padding: 10px;
    resize: vertical;
  }


  /* ========================================
   submit
======================================== */

  #page #submit {
    margin-top: 35px;
  }

  #page .contact_cont input.submit {
    width: 220px;
    padding: 12px 40px;
    font-size: 14px;
  }


  /* ========================================
   confirm
======================================== */

  #page .contact_cont table {
    display: block;
    width: 100%;
    margin-bottom: 35px;
  }

  #page .contact_cont table tbody,
  #page .contact_cont table tr,
  #page .contact_cont table th,
  #page .contact_cont table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  #page .contact_cont table tr {
    margin-bottom: 25px;
  }

  #page .contact_cont table tr:last-child {
    margin-bottom: 0;
  }

  #page .contact_cont table th {
    padding: 0 0 8px;
    font-size: 13px;
    color: #e88439;
  }

  #page .contact_cont table td {
    padding: 15px;
    background-color: #fff9f5;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.8;
    overflow-wrap: anywhere;
  }
  /* ========================================
   facility
======================================== */

  #page .faci_cont {
    padding: 30px 20px;
    border-radius: 15px;
  }

  #page .faci_cont h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }

  #page .faci_cont > p.center {
    font-size: 14px;
    line-height: 1.8;
  }

  #page .faci_cont > p.center br {
    display: none;
  }


  /* ========================================
   map
======================================== */

  #page .faci_map {
    padding: 10px;
    margin: 30px auto;
    border-width: 3px;
    border-radius: 12px;
  }

  #page .faci_map img {
    display: block;
    width: 100%;
    height: auto;
  }


  /* ========================================
   booth
======================================== */

  #page .booth_cont dl {
    margin-bottom: 40px;
  }

  #page .booth_cont dl:last-child {
    margin-bottom: 30px;
  }

  #page .booth_cont h4 {
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 10px;
  }

  #page .booth_cont dt p {
    font-size: 14px;
    line-height: 1.8;
  }


  /* photos */

  #page .booth_cont dd {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 15px;
  }

  #page .booth_cont dd img {
    display: block;
    width: 100%;
    height: auto;
  }


  /* 写真が奇数枚のとき */

  #page .booth_cont dd img:last-child:nth-child(odd) {
    grid-column: 1 / 3;
    width: calc(50% - 4px);
    margin: 0 auto;
  }


  /* ========================================
   bottom message
======================================== */

  #page .booth_cont + p.center {
    font-size: 18px;
    line-height: 1.8;
    margin-top: 10px;
  }
  /* ========================================
   support program
======================================== */

  #page .sec_support_program h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }

  #page .sup_pro_cont > p.center {
    font-size: 14px;
    line-height: 1.8;
  }

  #page .sup_pro_cont > p.center br {
    display: none;
  }

  #page .sec_support_program .btn {
    margin: 25px auto 35px;
  }


  /* program cards */

  #page .sup_pro_cont li {
    margin-bottom: 25px;
  }

  #page .sup_pro_cont li:last-child {
    margin-bottom: 0;
  }

  #page .sup_pro_cont dl {
    display: block;
    border-radius: 15px;
    overflow: hidden;
  }

  #page .sup_pro_cont dt {
    width: 100%;
    height: auto;
  }

  #page .sup_pro_cont dt img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  #page .sup_pro_cont dd {
    width: 100%;
  }

  #page .sup_pro_cont dd div {
    padding: 20px;
  }

  #page .sup_pro_cont dd h4 {
    font-size: 17px;
    line-height: 1.6;
    margin-bottom: 10px;
  }

  #page .sup_pro_cont dd p {
    font-size: 14px;
    line-height: 1.8;
  }

  #page .sup_pro_cont dd a {
    margin-top: 15px;
    font-size: 13px;
  }


  /* ========================================
   social skill training
======================================== */

  #page .sup_tra_main {
    width: 100%;
    margin-bottom: 30px;
  }

  #page .sup_tra_main > img {
    display: none;
  }

  #page .sup_tra_main > div {
    position: static;
    padding: 25px 20px;
    background-color: #fff;
    border-radius: 15px;
  }

  #page .sup_tra_main > div > img {
    display: block;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }

  #page .sup_tra_main div p {
    margin-top: 20px;
    font-size: 17px;
    line-height: 1.8;
  }

  #page .sup_tra_main div p br {
    display: none;
  }


  /* ========================================
   training examples
======================================== */

  #page .sup_tra_ex {
    padding: 30px 20px;
    border-radius: 15px;
  }

  #page .sup_tra_ex h3 {
    font-size: 20px;
    margin-bottom: 30px;
  }

  #page .sup_tra_ex li {
    display: grid;
    grid-template-columns: 1fr 30px 1fr;
    gap: 8px;
    align-items: center;
    margin-bottom: 30px;
  }

  #page .sup_tra_ex li div {
    width: 100%;
  }

  #page .sup_tra_ex li div img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto 10px;
  }

  #page .sup_tra_ex li > img {
    display: block;
    width: 25px;
    height: auto;
    margin: 0 auto;
  }

  #page .sup_tra_ex li p {
    font-size: 13px;
    line-height: 1.6;
  }

  #page .sup_tra_ex > p.center {
    font-size: 12px;
    line-height: 1.7;
  }
  .contact_cont.thanks h3 {
    font-size: 20px;
  }
}

@media (max-width:540px) {
  #page .page_fv {
    margin-top: 80px;
  }
  .header_logo span {
    display: none;
  }
  header .SP {
    display: block;
    font-size: 12px;
    text-align: center;
    margin-top: 10px;
  }
  header .inner_wrapp {
    margin-top: 5px;
  }
  a.header_logo {
    display: block;
    width: 20.926vw;
    min-width: 80px;
  }
  #page .contact_select .wpcf7-list-item {
    flex: none;
  }
  #page .contact_cont form .use_label_element {
    flex-wrap: wrap;
    gap: 10px;
  }
  #page .contact_cont form .use_label_element .wpcf7-list-item:first-of-type,
  #page .contact_cont form .use_label_element .wpcf7-list-item:nth-of-type(2) {
    width: 48%;
    display: block;
  }
  #page .contact_cont form .use_label_element .wpcf7-list-item:last-of-type {
    width: 100%;
    display: block;
  }
  #page .contact_select .wpcf7-list-item-label {
    min-height: 40px;
  }
}