@charset "UTF-8";

/* 'pc': 120em, // 1920px
'pcs' : 80em, // 1280px
'tab': 60em, // 960px
'sp' : 40em, // 640px
'xs': 30em // 480px */

/* カスタムプロパティ
------------------------------------------------- */
:root {
  --main-width: 1280px;
  --sub-width: 1440px;
  --line-height: 1.5;
  --line-height-p: 1.75;
  --color-primary: #3F7C84;
  --color-primary-dark: #3E7C84;
  --color-primary-pale: #F1F8F3;
  --color-link: #6CB785;
  --color-black: #000000;
  --color-white: #ffffff;
  --color-primary-red: #D34949;
  --color-red: #FF0000;
  --color-yellow: #E3AE54;
  --color-txt: #333333;
  --color-border: #D3D3D3;
  --color-gray-pale: #ECECEC;/* #E0E0E0 */
  --border-primary: #707070;
  --bg-gradation: linear-gradient(-45deg, var(--color-link) 0%, var(--color-primary) 100%);
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-weight-exbold: 800;
  /* --font-awesome: "Font Awesome 6 Free";
  --font-awesome-solid: 900;REGULARとBRANDSは「400」・LIGHTは「300」 */
  --font-gothic: "M PLUS 1p", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ", "Meiryo", "游ゴシック", "Yu Gothic", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --transition-basic: all 0.3s ease;
  --transition-slow: all 0.5s ease;
  --transition-fast: all 0.15s ease;
  --header-hight-sp: 80px;
  --header-hight-pc: 120px;
  --border-radius: 100vmax;
  --font10px: 0.625rem;
  --font12px: 0.75rem;
  --font14px: 0.875rem;
  --font16px: 1rem;
  --font17px: 1.0625rem;
  --font18px: 1.125rem;
  --font20px: 1.25rem;
  --font22px: 1.375rem;
  --font24px: 1.5rem;
  --font26px: 1.625rem;
  --font28px: 1.75rem;
  --font30px: 1.875rem;
  --font36px: 2.25rem;
  --font48px: 3rem;
  --font60px: 3.75rem;
  --font72px: 4.5rem;
}
@media screen and (max-width: 960px) {
  :root {
    scroll-padding-top: calc(var(--header-hight-sp) + 30px);
  }
}


/* ----------------------------------------------------------------------

// 見出し、ボタン、表など繰り返し使うパーツ（モジュール）のスタイルを定義

------------------------------------------------------------------------- */

/* img
------------------------------------------------- */
img {
	transition: var(--transition-basic);
}
img.for_sp {
  display: none;
}
@media screen and (max-width: 640px) {
  img.for_pc {
    display: none;
  }
  img.for_sp {
    display: inline-block;
  }
}



/* text link
------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-weight: var(--font-weight-medium);
}
svg {
  fill: currentColor;
}
a {
	color: var(--color-txt);
  text-decoration: none;
	transition: var(--transition-basic);
}
a.basic_a,
.basic_a a {
  position: relative;
  display: inline-block;
}
a.basic_a::before,
.basic_a a::before {
  position: absolute;
  bottom: 3px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--color-txt);
  transform: scale(0, 1);
  transform-origin: left top;
  transition: var(--transition-basic);
}
a.basic_a.opposite::before,
.basic_a.opposite a::before {
  transform: scale(1, 1);
}

.external a::after,
a.external::after {
  padding: 0 0 0 0.2rem;
  display: inline-block;
  width: 20px;
  content:url("../img/ico_external.svg");
}
.datadl a::after,
a.datadl::after {
  padding: 0 0 0 0.2rem;
  display: inline-block;
  width: 20px;
  content:url("../img/ico_download.svg");
}

a[href*="tel:"] {
  cursor: default;
  pointer-events: none;
	color: var(--color-secondary);
}

.basic_btn01 {
  text-align: center;
  margin-bottom: 50px;
}
.basic_btn01 a {
  display: inline-block;
  width: 100%;
  max-width: 360px;
  background: var(--color-link) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="%23fff" transform="translate(-4 -4)" d="M12,4,10.59,5.41,16.17,11H4v2H16.17l-5.58,5.59L12,20l8-8Z" /></svg>') no-repeat right 20px center/16px 16px;
  color: var(--color-white);
  border: var(--color-link) 2px solid;
  font-size: var(--font20px);
  padding: 12px 0;
  border-radius: 5px;
}
.basic_btn01 a::before {
  content: none;
}
.basic_btn02 {
  text-align: center;
  margin-bottom: 50px;
}
.basic_btn02 a {
  display: inline-block;
  width: 200px;
  background-color: var(--color-link);
  color: var(--color-white);
  border: var(--color-link) 2px solid;
  font-size: var(--font20px);
  padding: 9px 0;
  border-radius: 5px;
}

.basic_btn03 {
  text-align: center;
}
.basic_btn03 a {
  overflow: hidden;
  position: relative;
  z-index: 1;
  display: inline-block;
  border: var(--border-primary) 1px solid;
  border-radius: 3px;
  font-size: var(--font18px);
  font-weight: var(--font-weight-bold);
  padding: 8px 32px 8px 23px;
  text-transform: uppercase;
}
.basic_btn03 a::after {
  background: var(--border-primary);
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: var(--transition-basic);
  z-index: -1;
}

.basic_btn03 a img {
  vertical-align: baseline;
  padding-left: 10px;
}

/* hover for PC */
@media screen and (min-width: 961px) {
  a.basic_a:hover::before,
  .basic_a a:hover::before {
    transform: scale(1, 1);
  }
  a.basic_a.opposite:hover::before,
  .basic_a.opposite a:hover::before {
    transform: scale(0, 1);
  }
  .basic_btn01 a:hover {
    color: var(--color-link);
    background-color: var(--color-white);
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="%236CB785" transform="translate(-4 -4)" d="M12,4,10.59,5.41,16.17,11H4v2H16.17l-5.58,5.59L12,20l8-8Z" /></svg>');
  }
  .basic_btn02 a:hover {
    color: var(--color-link);
    background-color: var(--color-white);
  }
  .basic_btn03 a:hover {
    color: var(--color-white);
  }
  .basic_btn03 a:hover::after {
    transform: scale(1, 1);
  }
  .basic_btn03 a:hover img {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(139deg) brightness(103%) contrast(101%);
  }


}
@media screen and (max-width: 960px) {
  a[href*="tel:"] {
    cursor: pointer;
    pointer-events: auto;
    color: var(--color-secondary);
    text-decoration: underline;
  }

  .basic_link01 a {
    font-size: var(--font16px);
    padding: 8px 60px 8px 15px;
  }
  .basic_link01 a::before {
    top: calc(50% - 8px);
    right: 22px;
    width: 30px;
    height: 8px;
  }
}





/* title
------------------------------------------------- */
.basic_ttl01 {
  font-size: clamp(var(--font26px) , 3.4vw, var(--font48px));
  letter-spacing: 2px;
  margin-bottom: 40px;
  text-align: center;
}
.basic_ttl01::before {
  display: block;
  color: var(--color-primary);
  font-weight: var(--font-weight-exbold);
  text-transform: uppercase;
  font-size: clamp(var(--font14px) , 1.8vw, var(--font20px));
  content: attr(data-h2);
  background: url(../img/ico_leaf.svg) no-repeat left 0 bottom 6px;
  padding-left: 50px;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 10px;
}
.basic_ttl01 small {
  display: block;
  color: var(--color-link);
  font-weight: var(--font-weight-bold);
  font-size: clamp(var(--font16px) , 1.5vw, var(--font24px));
  margin-top: 20px;
}

@media screen and (max-width: 960px) {
  .basic_ttl01 {
    margin-bottom: 20px;
  }

}


/* form
------------------------------------------------- */
input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="search"], input[type="date"], input[type="url"], textarea, select {
	padding: 10px;
	border: var(--color-border) 1px solid;
	background-color: var(--color-white);
	width: 100%;
	transition: var(--transition-basic);
}
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="search"]:focus, input[type="date"]:focus, input[type="url"]:focus, textarea:focus, select:focus {
	border: var(--color-black) 1px solid;
}
input[type="button"] {
  background-color: var(--color-primary);
  color: var(--color-white);
  border: none;
  border-radius: 25px;
  transition: var(--transition-slow);
}
/* hover for PC */
@media screen and (min-width: 961px) {
  input[type="button"]:hover {
    opacity: .8;
  }
}

/* チェックボックス */
input[type="checkbox"] {
  position: relative;
  cursor: pointer;
  border: none;
  background-color: var(--color-white);
  appearance: none;
  width: 22px;
  height: 16px;
}
input[type="checkbox"]::before {
  transition: var(--transition-basic);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 19px;
  height: 19px;
  border-radius: 3px;
	border: 1px solid var(--color-txt);
}
input[type="checkbox"]:checked::before {
  transform: rotate(-45deg);
  height: 7px;
  border-color: var(--color-primary);
  border-width: 2px;
  border-top-style: none;
  border-right-style: none;
  border-radius: 0;
  top: 4px;
}

/* Radioボタン（labelはinputの隣） */
input[type=radio] {
  position: absolute;
  opacity: 0;
}
input[type=radio] + label:before {
  content: "";
  background: var(--color-white);
  border-radius: 100%;
  border: 1px solid var(--border-primary);
  display: inline-block;
  width: 22px;
  height: 22px;
  position: relative;
  top: 2px;
  margin-right: 12px;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  transition: all 250ms ease;
}
input[type=radio]:checked + label:before {
  background-color: var(--color-primary);
  box-shadow: inset 0 0 0 4px var(--color-white);
}
input[type=radio]:focus + label:before {
  outline: none;
  border-color: var(--color-primary);
}
input[type=radio]:disabled + label:before {
  box-shadow: inset 0 0 0 4px var(--color-white);
  border-color: var(--border-primary);
  background: var(--border-primary);
}
input[type=radio] + label:empty:before {
  margin-right: 0;
}

/* Contact Form 7用 */
.submit_btn .wpcf7-spinner {
  width: 0;
  height: 0;
  margin: 0;
}
/* Contact Form 7用 プライバシーポリシーチェックボタン */
.check_privacy_box .wpcf7-list-item label {
  display: flex;
}

/* Contact Form 7用（個々の項目をlabel要素で囲む） */
input[type="radio"] {
  opacity: 0;
  position: absolute;
}
.wpcf7-list-item.first {
  margin: 0;
}
.wpcf7-list-item-label {
  cursor: pointer;
  display: flex;
}
input[type="radio"] + .wpcf7-list-item-label::before {
  background: var(--color-white);
  border: 2px solid var(--color-txt);
  border-radius: 100%;
  content: "";
  width: 22px;
  height: 22px;
  margin-bottom: auto;
  margin-right: 12px;
  margin-top: auto;
  transition: all 250ms ease;
}
input[type="radio"]:checked + .wpcf7-list-item-label::before {
  background-color: var(--color-primary-dark);
  box-shadow: inset 0 0 0 4px var(--color-white);
}


textarea {
	height: 200px;
	resize: vertical;
}
label {
	margin-bottom: 10px;
	display: inline-block;
}
select {
  cursor: pointer;
}
.date_wrap {
  position: relative;
}
.date_wrap::after {
	position: absolute;
	content: "\f073";
  font-family: var(--font-awesome);
  font-weight: var(--font-awesome-solid);
	font-size: var(--font18px);
	color: var(--color-primary);
	top: 10px;
	right: 5%;
}
.select_wrap {
  position: relative;
}
.select_wrap::after {
	position: absolute;
	content: "\f0d7";
  font-family: var(--font-awesome);
  font-weight: var(--font-awesome-solid);
	font-size: var(--font18px);
	color: var(--color-primary);
	top: 10px;
	right: 5%;
}

::placeholder {
  color: var(--color-primary-pale);
}
input:-webkit-autofill {
  background-color: var(--color-primary-pale);
}
input:autofill {
  background-color: var(--color-primary-pale);
}

.error_txt {
  display: inline-block;
  color: var(--color-red);
}
.searchform {
  position: relative;
}
.searchform input[type="text"]{
  height: 44px;
}
.searchform input[type="text"]:focus,
.searchform input[type="text"]:checked {
  outline: 0;
}

.submit_btn {
  text-align: center;
  position: relative;
}
.submit_btn input {
  width: 300px;
  font-size: var(--font24px);
  background-color: var(--color-link);
  border: var(--color-link) 2px solid;
  color: var(--color-white);
  letter-spacing: 2px;
  height: 70px;
  border-radius: 3px;
  margin: 0 1%;
}
.submit_btn input[type="button"] {
  color: var(--color-txt);
  border-color: var(--color-gray-pale);
  background-color: var(--color-gray-pale);
}

/* hover for PC */
@media screen and (min-width: 961px) {
  .submit_btn input:hover {
    opacity: 1;
    color: var(--color-link);
    background-color: var(--color-white);
    transform: scale(1.02);
    transition: color 375ms cubic-bezier(.215,.61,.355,1),background-color .25s cubic-bezier(.215,.61,.355,1),border-color 375ms cubic-bezier(.215,.61,.355,1),transform .5s cubic-bezier(.215,.61,.355,1);
  }
  .submit_btn input[type="button"]:hover {
    background-color: var(--color-white);
    color: var(--color-txt);
  }

}

@media screen and (max-width: 640px) {
  textarea {
    height: 150px;
  }
  label {
    margin-bottom: 5px;
  }
  .submit_btn input {
    width: 45%;
    font-size: var(--font20px);
    height: 50px;
    letter-spacing: 0;
  }
  .submit_btn.two_btn input {
    width: 40%;
  }
/* Contact Form 7用 */
  .check_privacy_box .wpcf7-list-item {
    margin-left: 0;
  }
}


/* Google reCAPTCHA 非表示
------------------------------------------------- */
.grecaptcha-badge { visibility: hidden; }


/* table
------------------------------------------------- */
/* table {
  border-top: var(--color-gray-pale) 1px solid;
  border-left: var(--color-gray-pale) 1px solid;
	width: 100%;
}
table tr th, table tr td {
  border-bottom: var(--color-gray-pale) 1px solid;
  border-right: var(--color-gray-pale) 1px solid;
	vertical-align: middle;
	padding: 25px 3%;
	text-align: left;
  font-weight: var(--font-weight-regular);
}
table tr th {
	background-color: var(--color-primary-pale);
  font-weight: var(--font-weight-medium);
}
table tr td {
  border-left: var(--border-primary) 1px solid;
}
@media screen and (max-width: 960px) {
  table tr th, table tr td {
    padding: 15px 3%;
    border-left: none;
    display: block;
  }
} */


/* body
------------------------------------------------- */
html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-hight-pc);
  font-size: 100%; 

}
@media screen and (max-width: 960px) {
  html {
    scroll-padding-top: var(--header-hight-sp);
  }
}
body {
	position: relative;
	overflow-x: hidden;
	background: var(--color-white);
	color: var(--color-txt);
	font-family: var(--font-gothic);
	font-size: var(--font16px);
	font-weight: var(--font-weight-medium);
	font-style: normal;
	line-height: var(--line-height);
	overflow-wrap: break-word;
	word-wrap: break-word;
}


/* one column layout
------------------------------------------------- */
.inner {
  max-width: calc(var(--main-width) + 15px + 15px);
  padding: 0 15px;
	margin: 0 auto;
}
.sub_inner {
  max-width: calc(var(--sub-width) + 15px + 15px);
  padding: 0 15px;
	margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .inner,.sub_inner {
    margin: 0;
  }
}


/* header
------------------------------------------------- */
.site_header {
  position: fixed;
  width: 100%;
  z-index: 2;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  height: var(--header-hight-pc);
  padding-inline: 50px;
  background-color: var(--color-white);
}
.site_header .head_logo {
}
.site_header .head_logo img {
  width: 230px;
}
@media screen and (max-width: 960px) {
  .site_header {
    height: var(--header-hight-sp);
    padding-inline: 20px;
  }
  .site_header .head_logo img {
    width: 170px;
  }
}


/* ハンバーガー
------------------------------------------------- */
/* hamburger button */
.nav_toggle {
	display: none;
	z-index: 100;
}
@media screen and (max-width: 960px) {
  .nav_toggle {
    display: block;
    position: absolute;
    top: 26px;
    right: 20px;
    width: 36px;
    height: 29px;
    cursor: pointer;
  }
  .nav_toggle span {
    display: block;
    position: absolute;
    top: 50%;
    width: 100%;
    height: 2px;
    background-color: var(--color-txt);
    transition: var(--transition-basic);
  }
  .nav_toggle span:nth-of-type(1) {
    margin-top: -8px;
  }
  .nav_toggle span:nth-of-type(3) {
    margin-top: 8px;
  }
  
  /* hamburger open */
  .site_header.nav_open .nav_toggle {
    position: fixed;
    background-color: var(--color-primary);
    height: 40px;
    width: 40px;
    border-radius: 100vmax;
  }
  .site_header.nav_open .nav_toggle span {
    background-color: var(--color-white);
    width: 76%;
    left: 12%;
  }
  .site_header.nav_open .nav_toggle span:nth-of-type(1) {
    top: 19px;
    transform: rotate(150deg);
    margin-top: 0;
  }
  .site_header.nav_open .nav_toggle span:nth-of-type(2) {
    left: 50%;
    width: 0;
  }
  .site_header.nav_open .nav_toggle span:nth-of-type(3) {
    top: 19px;
    transform: rotate(-150deg);
    margin-top: 0;
  }
}


/* グローバルナビ
------------------------------------------------- */
.global_nav ul .nav_contact a {
  width: 200px;
  text-align: center;
  font-size: var(--font18px);
  color: var(--color-white);
  background: var(--bg-gradation);
  padding: 16px 0;
  border-radius: 5px;
}
.global_nav ul .nav_contact a img {
    vertical-align: baseline;
    margin-right: 8px;
}

/* global_nav for PC */
@media screen and (min-width: 961px) {
  .global_nav {
  }
  .global_nav ul {
    display: grid;
    grid-auto-flow: column; /* 横並びにする */
    justify-content: end;
    gap: 5%;
  }
  .nav_list li {
    width: fit-content;
  }
  .global_nav ul a {
    position: relative;
    display: inline-block;
    font-size: var(--font18px);
    padding: 15px 0;
  }
  .global_nav ul li a::before {
    position: absolute;
    bottom: 15px;
    left: 0;
    content: "";
    width: 100%;
    height: 2px;
    background: var(--color-txt);
    transform: scale(0, 1);
    transform-origin: left top;
    transition: var(--transition-basic);
  }
  .global_nav ul li a:hover::before {
    transform: scale(1, 1);
  }
  .global_nav ul .nav_contact a:hover {
    opacity: .8;
  }
  .global_nav ul .nav_contact a::before {
    content: none;
  }
}

/* global_nav for SP */
@media screen and (max-width: 960px) {
  .site_header.nav_open .global_nav {
    top: var(--header-hight-sp);
    transform: translateX(0);
  }
  .global_nav {
    position: fixed;
    top: var(--header-hight-sp);
    left: 0;
    transform: translateX(100%);
    width: 100%;
    height: auto;
    /* 全体を覆う場合
      height: calc(100vh - var(--header-hight-sp)); */
    padding: 40px 0 60px;
    background: var(--color-white);
    transition: var(--transition-basic);
    text-align: center;
  }
  .global_nav ul {
    display: inline-block;
    overflow-y: auto;
    height: 100%;
  }
  .global_nav ul a {
    display: inline-block;
    padding: 20px;
    text-decoration: none;
    color: var(--color-txt);
  }
  .global_nav ul li.nav_contact {
    margin-top: 20px;
  }
  .global_nav ul .nav_contact a {
    width: 250px;
  }

  /* background overlay */
  .nav_bg {
    position: relative;
  }
  .nav_bg::after {
    position: absolute;
    top: var(--header-hight-sp);
    left: 0;
    content: "";
    width: 100%;
    height: calc(100vh - var(--header-hight-sp));
    background: rgb(0 0 0 / .5);
    z-index: 1;
  }
}


/* footer
------------------------------------------------- */
.app_download_box {
  background: var(--color-primary-pale) url(../img/bkg_bnr_app.png) no-repeat top right/contain;
  padding: 40px 0 40px max(15px , calc((100vw - var(--main-width)) / 2));
  margin-bottom: 100px;
}
.app_download_box .logo {
  margin-bottom: 40px;
}
.app_download_box .logo img {
  width: 377px;
}
.app_download_box p {
  font-size: clamp(var(--font16px) , 1.5vw, var(--font24px));
  font-weight: var(--font-weight-bold);
  margin-bottom: 40px;
}
.app_download_box ul {
  width: 377px;
  display: flex;
  gap: 4%;
}
.coming_soon .app_download_box .logo {
  margin-bottom: 20px;
}
.coming_soon .app_download_box .logo {
  margin-bottom: 20px;
}
.coming_soon .app_download_box p {
  margin-bottom: 15px;
}
.coming_soon .app_download_box .coming {
  width: 377px;
  font-size: clamp(var(--font20px) , 2.4vw, var(--font30px));
  font-weight: var(--font-weight-exbold);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  text-align: center;
}
.coming_soon .app_download_box .coming::before,
.coming_soon .app_download_box .coming::after {
  content:"";
  flex-grow: 1;
  border-bottom: var(--border-primary) 1px solid;
}
.coming_soon .app_download_box .coming::before {
	margin-right: 10px;
	padding-left: 15px;
}
.coming_soon .app_download_box .coming::after {
	margin-left: 10px;
	padding-right: 15px; 
}


footer {
  border-top: var(--color-gray-pale) 1px solid;
  font-weight: var(--font-weight-regular);
}
.foot_logo {
  text-align: center;
  padding: 50px 0;
}
.foot_logo a {
  display: inline-block;
}
.foot_logo a img {
  width: 226px;
}
.foot_logo .txt {
  margin-top: 20px;
  font-size: 12px;
}
footer .foot_nav ul {
  display: flex;
  justify-content: center;
}
footer .foot_nav ul li {
  width: fit-content;
  margin: 0 3%;
}
footer .foot_nav ul li a {
  position: relative;
  display: inline-block;
  padding: 25px 5px;
}
.copyright {
  background-color: var(--color-primary-dark);
  color: var(--color-white);
  text-align: center;
  padding: 15px 0;
}

/* hover for PC */
@media screen and (min-width: 961px) {
  .app_download_box ul a:hover img {
    opacity: .8;
  }
  footer .foot_nav ul li a::before {
    position: absolute;
    bottom: 22px;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: var(--color-txt);
    transform: scale(0, 1);
    transform-origin: left top;
    transition: var(--transition-basic);
  }
  footer .foot_nav ul li a:hover::before {
    transform: scale(1, 1);
  }

}

@media screen and (max-width: 960px) {
  .app_download_box {
    background-image: none;
    position: relative;
    overflow: hidden;
    padding: 40px 20px;
    margin-bottom: 50px;
    text-align: center;
  }
  .app_download_box::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../img/bkg_bnr_app.png");
    background-size: cover;
    background-position: right;
    opacity: 0.5;
    z-index: 0;
  }
  .app_download_box > * {
    position: relative;
    z-index: 1;
  }

  .app_download_box .logo {
    margin-bottom: 20px;
  }
  .app_download_box .logo img {
    width: 90%;
    max-width: 290px;
  }
  .app_download_box p {
    margin-bottom: 20px;
  }
  .app_download_box ul,
  .coming_soon .app_download_box .coming {
    width: 90%;
    max-width: 290px;
    margin-inline: auto;
  }

  .foot_logo {
    padding: 25px 0;
  }
  .foot_logo a img {
    width: 175px;
  }
  footer .foot_nav ul li {
    margin: 0 2%;
  }
  footer .foot_nav ul li a {
    padding: 15px 0;
    font-size: var(--font14px);
  }
  .copyright {
    padding: 10px 0;
  }

}

/* page_top
------------------------------------------------- */
#page_top {
	position: fixed;
	right: 15px;
	bottom: 15px;
	z-index: 5;
}
#page_top a {
  position: relative;
  display: block;
  width: 44px;
  height: 44px;
  padding: 10px;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 0;
  text-align: center;
  border-radius: var(--border-radius);
  border: var(--color-primary) 2px solid;
}
#page_top a::after {
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  content: "";
  width: 12px;
  height: 12px;
  border-top: 3px solid var(--color-white);
  border-right: 3px solid var(--color-white);
}
/* hover for PC */
@media screen and (min-width: 961px) {
  #page_top a:hover {
    background-color: var(--color-white);
  }
  #page_top a:hover::after {
    border-color: var(--color-primary);
  }
}


/* breadcrumb 
------------------------------------------------- */
.bread {
  margin-bottom: 50px;
}
.bread ul li {
  display: inline;
  font-size: var(--font12px);
}
.bread ul li:not(:first-child) {
  margin-left: 16px;
  padding-left: 28px;
  background: url(../img/icon_arrow.svg) no-repeat 0 50%/12px;
} 
@media screen and (max-width: 960px) {
.bread {
  margin-bottom: 40px;
}
}


/* ページネーション（WP-PageNavi）
------------------------------------------------- */
.wp-pagenavi {
  text-align: center;
}
.list_posts .wp-pagenavi a, .list_posts .wp-pagenavi span {
  display: inline-block;
  margin: 0 2px;
  padding: 3px 0 0;
  width: 32px;
  height: 32px;
}
.list_posts .wp-pagenavi a {
  background-color: var(--color-white);
  color: var(--color-txt);
  border: var(--color-txt) 1px solid;
}
/* hover for PC */
@media screen and (min-width: 961px) {
  .list_posts .wp-pagenavi a:hover {
    color: var(--color-white);
    background-color: var(--color-secondary);
    border: var(--color-secondary) 1px solid;
  }
}
.list_posts .wp-pagenavi span.current {
  color: var(--color-white);
  background-color: var(--color-secondary);
  border: var(--color-secondary) 1px solid;
}

/* ページネーション（WP-PageNavi不使用）
------------------------------------------------- */
.pagination {
  text-align: center;
  flex-basis: 100%;
}
.pagination a, .pagination span {
  display: inline-block;
  margin: 0 5px;
  padding-top: 3px;
  font-size: var(--font18px);
  width: 35px;
  height: 35px;
  border: var(--border-primary) 1px solid;
  border-radius: 20px;
}
.pagination a.prev {
  margin-right: 50px;
}
.pagination a.next {
  margin-left: 50px;
}
.pagination span.current {
  border-color: var(--color-link);
  background-color: var(--color-link);
  color: var(--color-white);
}
/* hover for PC */
@media screen and (min-width: 961px) {
  .pagination a:hover {
    border-color: var(--color-link);
    background-color: var(--color-link);
    color: var(--color-white);
  }
}
@media screen and (max-width: 960px) {
  .pagination a, .pagination span {
    margin: 0 3px;
  }
  .pagination a.prev {
    margin-right: 30px;
  }
  .pagination a.next {
    margin-left: 30px;
  }

}


/* 共通コンテンツ
------------------------------------------------- */
body main {
  padding-top: var(--header-hight-pc);
}
main p {
  margin-bottom: calc(1rem * var(--line-height));
}
body:not(.home) .mainvisual {
  background-color: var(--color-primary);
  margin-bottom: 50px;
}
body:not(.home) .mainvisual .inner {
  height: 300px;
  display: flex;
  align-items: center;
}
body:not(.home) .mainvisual .ttl {
  color: var(--color-white);
  font-size: clamp(var(--font30px) , 3.4vw, var(--font48px));
  letter-spacing: 2px;
  margin-bottom: 0;
}
body:not(.home) .mainvisual .ttl::before {
  display: block;
  font-weight: var(--font-weight-exbold);
  text-transform: uppercase;
  font-size: clamp(var(--font14px) , 1.8vw, var(--font20px));
  content: attr(data-h2);
  background: url(../img/ico_leaf_white.svg) no-repeat left 0 bottom 6px;
  padding-left: 50px;
  width: fit-content;
  margin-right: auto;
}


@media screen and (max-width: 960px) {
  section, article {
  }
  body main {
    padding-top: var(--header-hight-sp);
  }
  body:not(.home) .mainvisual {
    margin-bottom: 30px;
  }
  body:not(.home) .mainvisual .inner {
    height: 180px;
  }
}


/* ブログ一覧
------------------------------------------------- */
.column_list {
  display: flex;
  flex-wrap: wrap;
  gap: 7.85%;
}
body.blog .column_list,
body.tag .column_list,
body.category .column_list {
  margin-bottom: 100px;
}
.column_box {
  flex-basis: 28.1%;
  margin-bottom: 50px;
}
.home .column_list {
  margin-bottom: 70px;
}
.home .column_box {
  margin-bottom: 0;
}
#related_column .column_box {
  margin-bottom: 0;
}
.column_box a .pic {
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 20px;
}
.column_box a .pic img {
  width: 100%;
  aspect-ratio: 9 / 5;
  object-fit: cover;
  transition: var(--transition-basic);
}
.column_dtl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-end;
}
.column_dtl .date {
  font-size: var(--font12px);
  color: rgba(45, 45, 65, 0.6);
  margin-bottom: 8px;
  line-height: 1;
}
.column_dtl .column_cat {
  margin-bottom: 7px;
}
.column_cat div {
  display: inline-block;
  background-color: var(--color-link);
  color: var(--color-white);
  font-size: var(--font10px);
  padding: 3px 10px;
  border-radius: 3px;
  margin-left: 2px;
}
.column_box a h3,
.column_box a h2 {
  font-size: clamp(var(--font18px) , 1.5vw, var(--font24px));
  font-weight: var(--font-weight-medium);
  margin-bottom: 20px;
  text-wrap: initial;
}
.column_box .clumn_tag li {
  display: inline-block;
  margin-right: 1rem;
}
.column_box .clumn_tag a {
  color: var(--color-primary);
  font-size: var(--font16px);
  font-weight: var(--font-weight-medium);
}
.column_box .clumn_tag a::before {
  content: "#";
}

/* hover for PC */
@media screen and (min-width: 961px) {
  .column_box a:hover .pic img {
    transform: scale(1.05);
  }
}

@media screen and (max-width: 960px) {
  .column_list {
    display: block;
  }
  .home .column_list {
    margin-bottom: 40px;
  }
  body.blog .column_list,
  body.tag .column_list,
  body.category .column_list {
    margin-bottom: 60px;
  }
  .column_box, .home .column_box, #related_column .column_box {
    margin-bottom: 30px;
  }
  .column_box a .pic {
    margin-bottom: 10px;
  }
  .column_box a h3,
  .column_box a h2 {
    margin-bottom: 10px;
  }
  .column_box .clumn_tag a {
    font-size: var(--font14px);
  }
}



/* ブログ詳細
------------------------------------------------- */
.blog_wrap .inner {
  display: flex;
  justify-content: space-between;
}
.blog_content {
  flex-basis: calc(100% - 360px - 4.6%);
  margin-bottom: 100px;
}

.cat_list {
  margin-bottom: 30px;
}
.cat_list a {
  display: inline-block;
  background-color: var(--color-link);
  border: var(--color-link) 1px solid;
  color: var(--color-white);
  font-size: var(--font12px);
  font-weight: var(--font-weight-bold);
  margin-right: 5px;
  border-radius: 3px;
  padding: 4px 11px;
}
.blogtxt_content + .cat_list {
  border-top: var(--color-gray-pale) 1px solid;
  border-bottom: var(--color-gray-pale) 1px solid;
  padding: 30px 0 25px;
}
.blogtxt_content + .cat_list a {
  margin-bottom: 5px;
}

.blog_content h1 {
  font-size: clamp(var(--font22px) , 2.7vw, var(--font36px));
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
  margin-bottom: 30px;
  letter-spacing: 2px;
}
.blog_content .date {
  font-size: var(--font12px);
  color: #2D2D41;
  margin-bottom: 30px;
}
.blogtxt_content h2, .blogtxt_content h3, .blogtxt_content h4 {
  font-weight: var(--font-weight-bold);
  margin-bottom: 15px;
  letter-spacing: 1px;
}
.blogtxt_content h2 {
  position: relative;
  font-size: var(--font30px);
  border-bottom: #6BB785 2px solid;
  margin-top: 70px;
  padding-bottom: 5px;
  margin-bottom: 25px;
}
.blogtxt_content h2:before,
.blogtxt_content h2:after {
  position: absolute;
  top: 100%;
  content: "";
  height: 0;
  width: 0;
}
.blogtxt_content h2:before {
  left: 29px;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent #6BB785 transparent transparent;
  border-width: 0px 14px 14px 0px;
}
.blogtxt_content h2:after {
  left: 31px;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent #ffffff transparent transparent;
  border-width: 0px 10px 10px 0px;
}

.blogtxt_content h3 {
  font-size: var(--font24px);
  margin-top: 60px;
  color: #6BB785;
}
.blogtxt_content h4 {
  font-size: var(--font20px);
  margin-top: 50px;
  border-left: #6BB785 5px solid;
  padding-left: 10px;
}
.blogtxt_content p {
  line-height: var(--line-height-p);
}
.blogtxt_content ul {
  margin-bottom: calc(1rem * var(--line-height));
}
.blogtxt_content ul li {
  list-style-type: disc;
  line-height: var(--line-height-p);
  margin-left: var(--font16px);
}
.blogtxt_content img {
  display: inline-block;
  margin: 30px 0 50px;
  border-radius: 10px;
}
.blogtxt_content .img_eye_catch img {
  margin-top: 0;
}
:where(.blogtxt_content) a {
  position: relative;
  display: inline-block;
  color: var(--color-link);
}
:where(.blogtxt_content) a::before {
  position: absolute;
  bottom: 3px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--color-link);
  transform: scale(1, 1);
  transform-origin: left top;
  transition: var(--transition-basic);
}
#related_column {
  background-color: var(--color-primary-pale);
  padding: 70px 0 100px;
  margin-bottom: 50px;
}
#related_column .basic_ttl01 {
  margin-bottom: 60px;
}

/* hover for PC */
@media screen and (min-width: 961px) {
  .cat_list a:hover {
    background-color: var(--color-white);
    color: var(--color-link);
  }
  .blogtxt_content a:hover::before {
    transform: scale(0, 1);
  }
}

@media screen and (max-width: 960px) {
  .blog_wrap .inner {
    display: block;
  }
  .cat_list {
    margin-bottom: 20px;
  }
  .blog_content {
    margin-bottom: 60px;
  }
  .blog_content h1 {
    margin-bottom: 20px;
  }
  .blog_content .date {
    margin-bottom: 20px;
  }
  #related_column {
    padding: 50px 0;
    margin-bottom: 20px;
  }
  .blogtxt_content h2 {
    font-size: var(--font26px);
    margin-top: 50px;
  }
  .blogtxt_content h3 {
    font-size: var(--font22px);
    margin-top: 45px;
  }
  .blogtxt_content h4 {
    font-size: var(--font18px);
    margin-top: 40px;
  }
  #related_column .basic_ttl01 {
    margin-bottom: 45px;
  }

}




/* ブログ詳細 表（ブロックエディター時用　スマホ横スクロール）
------------------------------------------------- */
.blogtxt_content .wp-block-table {
  margin-bottom: 50px;
}
.blogtxt_content .wp-block-table table {
  width: 100%;
  table-layout: initial;
  border-top: var(--color-gray-pale) 2px solid;
  border-left: var(--color-gray-pale) 2px solid;
  margin-left: -1px;
  margin-top: -1px;
  margin-bottom: 2px;
}
.blogtxt_content .wp-block-table table td, 
.blogtxt_content .wp-block-table table th {
  border-bottom: var(--color-gray-pale) 1px solid;
  border-right: var(--color-gray-pale) 1px solid;
  padding: 28px;
}
.blogtxt_content .wp-block-table table th {
  background-color: var(--color-primary-pale);
}
.wp-block-table table thead {
  border-bottom: none;
}

@media screen and (max-width: 960px) {
  .blogtxt_content .wp-block-table {
    overflow-x: scroll;
  }
  .blogtxt_content .wp-block-table table td, 
  .blogtxt_content .wp-block-table table th {
    padding: 20px;
    white-space: nowrap;
  }
}



/* ブログ詳細　目次　プラグインEasy Table of Contents
------------------------------------------------- */
.blogtxt_content #ez-toc-container {
  background-color: var(--color-primary-pale);
  border-radius: 10px;
  padding: 35px 4%;
  margin: 50px 0 60px;
  border: none;
}
.blogtxt_content #ez-toc-container .ez-toc-title {
  font-size: var(--font30px);
  margin-bottom: 20px;
  display: block;
}
.blogtxt_content #ez-toc-container nav {
  border-top: var(--color-border) 1px solid;
  border-bottom: var(--color-border) 1px solid;
  padding: 20px 0;
}
.blogtxt_content #ez-toc-container ul, 
.blogtxt_content #ez-toc-container ul li {
  line-height: 2.2;
}
.blogtxt_content #ez-toc-container ul li a {
  font-size: var(--font16px);
}
:where(.blogtxt_content) #ez-toc-container ul li a::before {
  content: none;
}
.blogtxt_content #ez-toc-container ul li.ez-toc-heading-level-2 > a {
  font-size: var(--font18px);
}
.blogtxt_content #ez-toc-container a,
.blogtxt_content #ez-toc-container a:visited {
  color: var(--color-txt);
}
@media screen and (max-width: 960px) {
  .blogtxt_content #ez-toc-container {
    padding: 30px 6%;
    margin: 30px 0 40px;
  }
  .blogtxt_content #ez-toc-container .ez-toc-title {
    font-size: var(--font24px);
  } 

}


/* ブログ詳細　サイドバー
------------------------------------------------- */
#sidebar {
  flex-basis: 360px;
}
.side_cat_search, .side_post_popular, .side_post_new {
  margin-bottom: 50px;
}
.side_ttl {
  border-bottom: var(--color-gray-pale) 1px solid;
  padding-bottom: 10px;
  padding-left: 30px;
  font-size: var(--font20px);
  background: url(../img/ico_search.svg) no-repeat left top 2px;
  letter-spacing: 1px;
}
.side_ttl.search_ttl {
  font-size: var(--font16px);
  background-position: left top;
}
.side_ttl.popular_ttl {
  background-image: url(../img/ico_popular.svg);
}
.side_ttl.new_ttl {
  background-image: url(../img/ico_new.svg);
}

.side_cat_search .cat_list {
  display: flex;
  flex-wrap: wrap;
  padding: 30px 0 25px;
  margin-bottom: 0;
  border-bottom: var(--color-gray-pale) 1px solid;
}
.side_cat_search .cat_list li {
  margin-bottom: 5px;
}

/* 新着記事 */
.side_column_box li {
  border-bottom: var(--color-gray-pale) 1px solid;
}
.side_column_box li a{
  padding: 15px 2%;
  display: grid;
  grid-template-columns: 50px 1fr;
  grid-template-rows: 1.3rem auto;
  grid-column-gap: 10px;
  grid-row-gap: 0px;
  font-size: var(--font12px);
}
.side_column_box li a .pic { grid-area: 1 / 1 / 3 / 2; }
.side_column_box li a .date { grid-area: 1 / 2 / 2 / 3; }
.side_column_box li a .ttl { grid-area: 2 / 2 / 3 / 3; }
.side_column_box li a .pic {
  position: relative;
}
.side_column_box li a .pic img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  overflow: hidden;
  border-radius: 3px;
}
.side_post_popular .side_column_box li:first-child figure::before,
.side_post_popular .side_column_box li:nth-child(2) figure::before,
.side_post_popular .side_column_box li:nth-child(3) figure::before {
  position: absolute;
  top: 0;
  left: 2px;
  content: "";
  width: 17px;
  height: 20px;
  background: url(../img/ico_1st.svg) no-repeat;
}
.side_post_popular .side_column_box li:nth-child(2) figure::before {
  background-image: url(../img/ico_2nd.svg);
}
.side_post_popular .side_column_box li:nth-child(3) figure::before {
  background-image: url(../img/ico_3rd.svg);
}

/* 人気記事ランキング */
.side_post_popular .wpp-list li {
  border-bottom: var(--color-gray-pale) 1px solid;
  display: flex;
  font-size: var(--font12px);
  transition: var(--transition-basic);
  margin-bottom: 0;
}
.wpp-list li a:first-child {
  position: relative;
  padding: 15px 10px 15px 2%;
}
.wpp-list li a:nth-child(2) {
  padding: 15px 2% 15px 0;
  flex-basis: 100%;
}
.wpp-list li a img.wpp-thumbnail {
  width: 50px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  overflow: hidden;
  border-radius: 3px;
  display: inline-block;
  float: none;
  margin: 0;
}
.wpp-list li a:first-child::before {
  position: absolute;
  top: 15px;
  left: 12px;
  content: "";
  width: 17px;
  height: 20px;
  background: url(../img/ico_1st.svg) no-repeat;
}
.wpp-list li:nth-child(2) a:first-child::before {
  background-image: url(../img/ico_2nd.svg);
}
.wpp-list li:nth-child(3) a:first-child::before {
  background-image: url(../img/ico_3rd.svg);
}

/* hover for PC */
@media screen and (min-width: 961px) {
  .side_column_box li a:hover,
  .wpp-list li:hover {
    background-color: var(--color-primary-pale);
  }
}

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

}


/* トップページ
------------------------------------------------- */
.home main > *:nth-child(odd) {
    background-color: var(--color-primary-pale);
}
.home section {
  padding: 70px 0 100px;
}

@media screen and (max-width: 960px) {
  .home section {
    padding: 40px 0 60px;
  }

}

/* トップページ　メインビジュアル
------------------------------------------------- */
.home .mainvisual {
  height: 960px;
  padding: 70px 0 50px;
  display: grid;
  grid-template-columns: calc(100% - 38.3%) 38.3%;
  grid-template-rows: auto auto;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  place-items: center;
}
.home .mainvisual h1 { 
  grid-area: 1 / 1 / 2 / 2;
  align-self: end;
  margin-left: max(15px , calc((100vw - var(--main-width)) / 2));
  font-size: clamp(var(--font24px) , 4.6vw, var(--font72px));
  font-weight: var(--font-weight-regular);
  line-height: 1.47;
}
.home .mainvisual h1 small {
  display: block;
  font-size: clamp(var(--font16px) , 1.8vw, var(--font24px));
  line-height: 1.66;
  font-weight: var(--font-weight-medium);
  margin-top: 30px;
}
.home .mainvisual figure { 
  grid-area: 1 / 2 / 3 / 3;
  margin-right: 12%;
}
.home .mainvisual .txt {
  grid-area: 2 / 1 / 3 / 2;
  justify-self: stretch;
  align-self: start;
  width: clamp(280px, 30vw, 463px);
  margin-top: 70px;
  margin-left: max(15px , calc((100vw - var(--main-width)) / 2));
}
.home .mainvisual .txt .logo {
    margin-bottom: 46px;
}
.home .mainvisual .txt .logo img {
  width: 100%;
}
.home .mainvisual .txt ul {
  width: clamp(280px, 30vw, 463px);
  display: flex;
  gap: 4%;
}
.home .mainvisual.coming_soon .txt {
  margin-top: 50px;
}
.home .mainvisual.coming_soon .txt .logo {
  margin-bottom: 25px;
}
.home .mainvisual.coming_soon .coming {
  font-size: clamp(var(--font22px) , 2.7vw, var(--font36px));
  font-weight: var(--font-weight-exbold);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  text-align: center;
}
.home .mainvisual.coming_soon .coming::before,
.home .mainvisual.coming_soon .coming::after {
  content:"";
  flex-grow: 1;
  border-bottom: var(--border-primary) 1px solid;
}
.home .mainvisual.coming_soon .coming::before {
	margin-right: 10px;
	padding-left: 15px;
}
.home .mainvisual.coming_soon .coming::after  {
	margin-left: 10px;
	padding-right: 15px; 
}


/* hover for PC */
@media screen and (min-width: 961px) {
  .home .mainvisual .txt ul a:hover img {
    opacity: .8;
  }
}
@media screen and (max-width: 960px) {
  .home .mainvisual {
    padding: 40px 15px;
    height: auto;
    display: block;
  }
  .home .mainvisual h1 {
    margin: 0 0 40px;
  }
  .home .mainvisual h1 small {
    margin-top: 20px;
  }
  .home .mainvisual figure {
    margin: 0 auto 40px;
    width: 70%;
    max-width: 270px;
  }
  .home .mainvisual .txt {
    margin: 0 auto;
    text-align: center;
  }
  .home .mainvisual .txt ul {
      margin-inline: auto;
  }
}


/* トップページ　コンセプト
------------------------------------------------- */
#top_concept .inner {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
#top_concept .inner .txt {
  flex-basis: 65%;
}
#top_concept .inner figure {
  flex-basis: 29%;
}
.home #top_concept .basic_ttl01 {
  text-align: left;
}
.home #top_concept .basic_ttl01::before {
  margin-left: 0;
}
#top_concept p {
  font-size: var(--font24px);
}

@media screen and (max-width: 960px) {
  #top_concept .inner {
    flex-direction: column;
  }
  #top_concept p {
    font-size: var(--font20px);
  }
  #top_concept .inner figure {
    margin-inline: auto;
    max-width: 200px;
  }
}



/* トップページ　biztreeの特徴
------------------------------------------------- */
.home #top_feature .basic_ttl01 {
  margin-bottom: 110px;
}
#top_feature .layout {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#top_feature .layout .txt {
  flex-basis: 68.7%;
  margin-top: 15px;
}
#top_feature .layout figure {
  flex-basis: 26.5%;
}
#top_feature .layout > *:first-child {
  order: 1;
}
#top_feature .layout > *:nth-child(2) {
  order: 2;
  margin-bottom: 90px;
}
#top_feature .layout > *:nth-child(3) {
  order: 4;
}
#top_feature .layout > *:nth-child(4) {
  order: 3;
}
#top_feature h3 {
  position: relative;
  font-size: var(--font30px);
  line-height: 1.5;
  letter-spacing: 1px;
  padding-left: 100px;
  margin-bottom: 20px;
}
#top_feature h3 span {
  position: absolute;
  left: 0;
  top: 3px;
  font-size: var(--font60px);
  font-weight: var(--font-weight-bold);
  color: var(--color-link);
  text-align: center;
  line-height: 1;
}
#top_feature h3 span::after {
  display: block;
  font-size: var(--font16px);
  content: "feature";
  text-transform: uppercase;
  font-weight: var(--font-weight-exbold);
}
#top_feature .layout p {
  line-height: var(--line-height-p);
}

@media screen and (max-width: 960px) {
  .home #top_feature .basic_ttl01 {
    margin-bottom: 60px;
  }
  #top_feature .layout {
    display: block;
  }
  #top_feature .layout .txt {
    margin-top: 0;
  }
  #top_feature .layout figure {
    text-align: center;
  }
  #top_feature .layout > *:nth-child(2) {
    margin-bottom: 60px;
  }
  #top_feature h3 {
    font-size: var(--font22px);
    padding-left: 80px;
  }
  #top_feature h3 span {
    font-size: var(--font48px);
  }
  #top_feature h3 span::after {
    font-size: var(--font12px);
  }
  #top_feature .layout p {
    line-height: var(--line-height-p);
  }
}


/* トップページ　biztreeの活用方法
------------------------------------------------- */
#top_conjugation .layout {
  display: flex;
  justify-content: space-between;
}
.conjugation_box {
  flex-basis: 46.8%;
  border: var(--color-gray-pale) 1px solid;
  border-radius: 5px;
  padding: 40px 2.3% 20px;
}
.conjugation_box figure {
  border-radius: 5px;
  margin-bottom: 35px;
}
.conjugation_box h3 {
  border-radius: 5px;
  text-align: center;
  font-size: clamp(var(--font18px) , 1.8vw, var(--font24px));
  font-weight: var(--font-weight-bold);
  margin-bottom: 20px;
}
.conjugation_box p {
  font-size: var(--font18px);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-p);
}

@media screen and (max-width: 960px) {
  #top_conjugation .layout {
      display: block;
  }
  .conjugation_box {
    padding: 30px 5% 10px;
  }
  .conjugation_box:first-child {
    margin-bottom: 30px;
  }
  .conjugation_box h3 {
    text-align: left;
  }
  .conjugation_box p {
    font-size: var(--font16px);
  }
}

/* トップページ　よくあるご質問
------------------------------------------------- */

.qa_list {
  position: relative;
  margin-bottom: 20px;
  border-radius: 10px;
  background-color: var(--color-white);
}
.qa_list::before,
.qa_list p::before {
  position: absolute;
  left: 25px;
  top: 20px;
  font-size: var(--font30px);
  font-weight: var(--font-weight-exbold);
  width: 50px;
  height: 50px;
  text-align: center;
  border-radius: var(--border-radius);
}
.qa_list::before {
  color: var(--color-primary);
  border: var(--color-primary) 2px solid;
  content: "Q";
}
.qa_list p::before {
  color: var(--color-white);
  background-color: var(--color-primary-red);
  content: "A";
  top: 15px;
}
.qa_list summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 25px 15px 25px 100px;
  color: var(--color-primary);
  font-size: var(--font24px);
  cursor: pointer;
}
.qa_list summary::-webkit-details-marker {
  display: none;
}
.qa_list summary::before,
.qa_list summary::after {
  position: absolute;
  right: 40px;
  width: 5px;
  height: 24px;
  background-color: var(--color-black);
  content: '';
}
.qa_list summary::before {
  rotate: 90deg;
}
.qa_list summary::after {
  transition: rotate .3s;
}
.qa_list[open] summary::after {
  rotate: 90deg;
}
.qa_list p {
  position: relative;
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: 20px 30px 25px 100px;
  transition: transform .5s, opacity .5s;
  font-size: var(--font20px);
  font-weight: var(--font-weight-regular);
}

.qa_list[open] p {
  transform: none;
  opacity: 1;
}

@media screen and (max-width: 960px) {
  .qa_list {
    margin-bottom: 15px;
  }
  .qa_list::before, .qa_list p::before {
    font-size: var(--font24px);
    width: 40px;
    height: 40px;
    left: 15px;
    top: 15px;
  }
  .qa_list summary::before, .qa_list summary::after {
    right: 20px;
    width: 4px;
    height: 20px;
  }
  .qa_list summary {
    padding: 20px 45px 20px 66px;
    font-size: var(--font18px);
  }
  .qa_list p {
    padding: 18px 35px 25px 66px;
    font-size: var(--font16px);
  }

}


/* 問い合わせ
------------------------------------------------- */
#contact_us {
  margin-bottom: 100px;
}
#contact_us .sub_ttl {
  font-size: var(--font24px);
  margin-bottom: 10px;
}
#contact_us .inner > p {
  font-weight: var(--font-weight-regular);
  margin-bottom: 50px;
}
.dl_contact {
  display: flex;
  flex-wrap: wrap;
  font-size: var(--font18px);
}
.dl_contact dt {
  margin-top: 9px;
  flex-basis: 320px;
}
.dl_contact dt p, .dl_contact dd p {
  margin-bottom: 0;
}
.dl_contact dd {
  flex-basis: calc(100% - 320px);
  margin-bottom: 40px;
}
.required {
  color: var(--color-red);
}
.check_privacy_box {
  text-align: center;
}
.about_recaptcha {
  font-size: var(--font12px);
  text-align: center;
  margin-bottom: 20px;
}

@media screen and (max-width: 960px) {
  #contact_us {
    margin-bottom: 60px;
  }
  .dl_contact {
    display: block;
    font-size: var(--font16px);
  }
  .dl_contact dt {
    margin-top: 0;
  }
  .dl_contact dd {
    margin-bottom: 30px;
  }
  .check_privacy_box {
    text-align: left;
  }
  .about_recaptcha {
    text-align: left;
  }

}



/* プライバシーポリシー
------------------------------------------------- */
.regulations {
  margin-bottom: 100px;
}
.regulations .sub_ttl {
  font-size: var(--font24px);
  margin-bottom: 20px;
}
.regulations h2 {
  font-size: var(--font20px);
  margin: 50px 0 20px;
}
.regulations p {
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-p);
}
.regulations ol > li {
  list-style: decimal;
  margin-left: 26px;
  margin-bottom: var(--font16px);
  line-height: var(--line-height-p);
}
.regulations ol.mb0 li {
  margin-bottom: 0;
}
.regulations ul li {
  list-style: disc;
  margin-left: 22px;
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-p);
}
.regulations li ul {
  margin: 5px 0;
}
.regulations li ul li {
  margin-left: 16px;
}
.inquiry_desk {
  background-color: var(--color-primary-pale);
  padding: 25px 30px;
  margin-bottom: calc(1rem * var(--line-height));
  font-weight: var(--font-weight-regular);
}

@media screen and (max-width: 960px) {
  .regulations {
    margin-bottom: 60px;
  }

}