@charset "UTF-8";
@import "base.css";
@import "fonts.css";

/*==========================================================================*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/

/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
  font-size: 170%;
  -webkit-text-size-adjust: none;
  font-weight: 400;
}

*,
::before,
::after {
  box-sizing: border-box;
  outline: none;
}

img {
  vertical-align: middle;
  max-width: 100%;
  flex-shrink: 0;
  height: auto;
}

select {
  visibility: visible !important;
}

a {
  transition: all ease 0.3s;
  text-decoration: none;
  color: var(--txt);
}

a[href^="tel:"] {
  word-break: keep-all;
}

video {
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

figure:not(:last-child) {
  margin-bottom: 20px;
}

/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html {
  background: #fff
}

body {
  -webkit-text-size-adjust: none;
  min-width: 320px;
  color: var(--txt);
  font-family: var(--f-main)
}

table {
  width: 100%
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5em;
}

p,
dd,
dt,
li,
th,
td,
address {
  line-height: 1.78em;
  letter-spacing: 0;
}

p {
  margin: 0 0 1.75em;
}

p:last-child {
  margin-bottom: 0
}

.bold {
  font-weight: bold;
}

.left {
  text-align: left
}

.right {
  text-align: right;
}

.auto {
  margin-left: auto;
  margin-right: auto;
}

.red {
  color: var(--red);
}

.txt_u {
  text-decoration: underline;
}

.f_big {
  font-size: 150%;
}

.f_sm {
  font-size: 80%;
}

.m0a {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

:root {
  --txt: #323306;
  --mcolor: #2e7629;
  --scolor: #6ca322;
  --container: 1310px;
  --container-large: 1490px;

  --gray: #e9e9e9;
  --blue: #003b7d;
  --red: red;
  --orange: #f19149;
  --green: #2f7628;

  --f-main: "Zen Maru Gothic", serif;
  --f-rbt: "Roboto", sans-serif;
  --f-yumin: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  --f-nts: "Noto Sans JP", sans-serif;

  --space-top-main: 205px;
}

#wrapper {
  min-width: 1260px;
  overflow: hidden;
  margin: 0 auto
}

.inner {
  width: var(--container);
  margin: 0 auto;
  position: relative;
  max-width: 100%;
  padding: 0 15px;
}

.inner_large {
  width: var(--container-large);
  margin: 0 auto;
  position: relative;
  max-width: 100%;
  padding: 0 15px;
}

/*==========================================================
                       H E A D E R
==========================================================*/
/* HAMBUGER BUTTON */
.hamburger {
  font: inherit;
  display: block;
  overflow: visible;
  margin: 0;
  padding: 10px 8px 5px;
  cursor: pointer;
  transition-timing-function: linear;
  transition-duration: .15s;
  transition-property: opacity, filter;
  text-transform: none;
  color: inherit;
  border: 0
}

.hamburger-box {
  position: relative;
  display: inline-block;
  width: 35px;
  height: 24px
}

.hamburger-inner {
  top: 50%;
  display: block;
  margin-top: -2px
}

.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before {
  position: absolute;
  width: 35px;
  height: 2px;
  transition: all ease 0.15s;
  background-color: #000
}

.hamburger-inner::after,
.hamburger-inner::before {
  display: block;
  content: ""
}

.hamburger-inner::before {
  top: -10px
}

.hamburger-inner::after {
  bottom: -10px
}

.hamburger--3dxy .hamburger-box {
  perspective: 80px
}

.hamburger--3dxy .hamburger-inner {
  transition: transform .15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0 cubic-bezier(0.645, 0.045, 0.355, 1) .1s
}

.hamburger--3dxy .hamburger-inner::after,
.hamburger--3dxy .hamburger-inner::before {
  transition: transform cubic-bezier(0.645, 0.045, 0.355, 1) .1s
}

.hamburger--3dxy.is_active .hamburger-inner {
  transform: rotateX(180deg) rotateY(180deg);
  background-color: transparent !important
}

.hamburger--3dxy.is_active .hamburger-inner::before {
  transform: translate3d(0, 10px, 0) rotate(45deg)
}

.hamburger--3dxy.is_active .hamburger-inner::after {
  transform: translate3d(0, -10px, 0) rotate(-45deg)
}

header {
  position: relative;
  z-index: 9;
}

h1 {
  font-size: max(min(calc(20 / 1920 * 100vw), 20px), 16px);
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  margin-bottom: 20px;
  padding-bottom: 2px;
  border-bottom: 1px solid var(--scolor);
  color: #000;
}

.h_box {
  width: 100%;
  position: fixed;
}

.logo_bg {
  position: absolute;
  background-color: var(--mcolor);
  width: 644px;
  border-radius: 50%;
  left: -174px;
  transition: 0.2s linear;
  z-index: -1;
  aspect-ratio: 1 / 1;
  bottom: -135px;
}

h1 {
  position: relative;
  z-index: 2;
}

h1::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: white;
  z-index: 3;
  pointer-events: none;
  display: block;
  overflow: hidden;
  -webkit-mask-image: radial-gradient(circle var(--circle-size, 320px) at var(--circle-x, 0) var(--circle-y, 0), rgb(50, 51, 6) 100%, transparent 101%);
  mask-image: radial-gradient(circle var(--circle-size, 320px) at var(--circle-x, 0) var(--circle-y, 0), rgb(50, 51, 6) 100%, transparent 101%);
}



.h_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  gap: 50px;
}

.h_contact {
  display: flex !important;
  align-items: center;
}

.h_contact>p {
  margin-bottom: 0;
}

.h_contact>p:not(:last-child) {
  text-align: right;
  padding-bottom: 4px;
}

.h_contact_tel {
  margin-right: 20px;
}

.h_contact_mail a {
  color: #FFF;
  text-align: center;
  background-color: var(--orange);
  display: flex;
  justify-content: center;
  align-items: center;
  width: max(min(calc(388 / 1920 * 100vw), 388px), 260px);
  height: 66px;
  position: relative;
  border-radius: 33px;
  padding-bottom: 3px;
  transition: 0s;
}

.h_contact_mail a span {
  position: relative;
  z-index: 2;
  font-size: max(min(calc(24 / 1920 * 100vw), 24px), 16px);
  display: inline-block;
  padding-left: 40px;
  letter-spacing: 0.02em;
}

.h_contact_mail a span::before {
  content: '';
  position: absolute;
  width: 29px;
  height: 20px;
  left: 0;
  top: 3px;
  bottom: 0;
  margin: auto;
  background: url('../images/ic_h_mail.png') no-repeat center /cover;
}

.h_contact_tel a {
  font-size: 33px;
  color: #323306;
  font-weight: bold;
  padding-left: 35px;
  position: relative;
  line-height: 1;
  display: inline-block;
  letter-spacing: 0.08em;
  line-height: 1.2em;
  background: url('../images/ic_h_phone.png') left top 8px / 25px 27px no-repeat;
  transition: 0s;
}

.h_contact_tel .time {
  font-size: 14px;
  display: block;
  line-height: 1.2;
  text-align: right;
  letter-spacing: 0.08em;
  position: relative;
  top: -2px
}

.is_scroll .h_box {
  padding: 15px 0;
  animation: scrolltop 1s;
  animation-iteration-count: 1;
  background-color: var(--mcolor);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}

/* .is_scroll .nav_list>li:not(:last-child)::before {right: -44px;} */
.is_scroll .h_box::before {
  opacity: 0;
}

.is_scroll .h_left {
  top: 0;
  width: auto !important;
  display: inline-block;
}

.is_scroll h1 {
  display: none;
}

.is_scroll #logo img {
  width: 240px;
}

.is_scroll .h_contact_tel a {
  font-size: 28px;
  padding-left: 25px;
  background: url(../images/ic_h_phone.png) left top 10px/18px 20px no-repeat;
  color: #fff;
  filter: brightness(0) invert(1);
}

.is_scroll .h_contact_tel .time {
  letter-spacing: 0;
  color: #fff;
}

.is_scroll .h_contact>p:not(:last-child) {
  padding-bottom: 0;
}

.is_scroll .h_contact_mail a {
  height: 50px;
}

.is_scroll .nav_list>li.parent>.hook {
  font-size: 16px;
}

.is_scroll .nav_list>li>a,
.is_scroll .nav_list>li>.hook {
  height: 50px;
}

.is_scroll .h_contact_mail a span::before {
  top: 3px;
}

.is_scroll .logo_bg {
  opacity: 0;
  pointer-events: none;
}

.h_box .inner {
  width: calc(100vw - 90px);
  max-width: 1920px;
}

.h_left {
  position: relative;
  top: 44px;
  width: calc(100% - 610px - 50px);
}

.h_right {
  position: relative;
  flex-shrink: 0;
  max-width: 750px;
}

.nav_list>li.parent>.hook {
  flex-direction: column;
  color: var(--mcolor);
  font-size: 20px;
  gap: 2px;
}

.nav_list>li.parent>.hook .hook_en {
  font-size: 70%;
  text-transform: uppercase;
  color: #6ca322;
  line-height: 1.3em;
  letter-spacing: 0.12em;
}

/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main {
  position: relative;
  z-index: 2;
}

.mv {
  position: relative;
  padding: 0;
  min-height: 1020px;
}

.mv_bg {
  position: absolute;
  overflow: hidden;
  transition: all .3s;
  z-index: 0;
}

.mv_bg.init {
  opacity: 1
}

.mv_slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1
}

.mv_bg,
.mv_slider_ite {
  width: 100%;
  height: 680px
}

.mv_slider_ite .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 0;
  top: 0;
  left: 0;
  background-size: cover;
  background-position: center
}

.mv_slider_ite.zoomed .bg {
  animation-name: zoomImg;
  animation-duration: 6s;
  animation-timing-function: linear;
  animation-fill-mode: forwards
}

/* .mv_txt{position:absolute;z-index:2;    top: calc(50% - 111px);left:50%;transform:translate(-50%,-50%);width:100%;height:auto} */
.mv_txt h2 {
  font-size: 40px;
  font-weight: bold;
  text-align: center
}

@keyframes zoomImg {
  0% {
    transform: scale(1.2)
  }

  100% {
    transform: scale(1.0)
  }
}

@keyframes scrolltop {
  0% {
    transform: translateY(-90px);
    transform-origin: center;
    opacity: 0;
    transition: ease-in-out
  }

  100% {
    transform: translateY(0);
    opacity: 1
  }
}

.mv {
  z-index: 1;
  display: flex;
  align-items: center;
}

.mv::before {
  content: "";
  position: absolute;
  background-color: #fffcde;
  width: 100%;
  height: calc(100% - 225px);
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: -1;
}

.mv::after {
  content: "";
  position: absolute;
  background: url("../images/mv_line_circle.png") center bottom no-repeat;
  background-size: 1920px 225px;
  width: 100%;
  height: 225px;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: -1;
}

.mv_bg {
  max-width: 1920px;
  left: 0;
  right: 0;
  margin: 0 auto;
  overflow: unset;
}

.mv_box {
  max-width: max(min(45.0520833333vw, 865px), 625px);
  margin: 0 auto 37px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.4em;
}

.mv_box_item {
  background-color: #fff;
  font-size: max(min(1.0416666667vw, 20px), 14px);
  color: var(--scolor);
  max-width: 9.85em;
  height: 9.85em;
  border-radius: 50%;
  font-family: var(--f-nts);
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.45em;
  padding: 0 5px 12px;
  margin-bottom: 0;
  box-shadow: 8px 8px 12px rgba(0, 0, 0, 0.05);
  letter-spacing: 0;
}

.mv_box_item span {
  padding-top: 2.5em;
  position: relative;
  z-index: 1;
}

.mv_box_item span::before {
  content: "";
  position: absolute;
  background: url("../images/ic_check_1.png") center no-repeat;
  background-size: cover;
  width: 2em;
  height: 1.65em;
  top: 0;
  left: 0.5em;
  right: 0;
  margin: auto;
  z-index: -1;
}

.mv_desc {
  font-size: 28px;
  font-weight: 500;
  text-align: center;
  line-height: 1.55em;
}

.mv_txt {
  padding-top: 71px;
}

.mv_txt h2 {
  font-size: min(max(2.96875vw, 38px), 47px);
  /*font-weight: bold;*/
  line-height: 1.43em;
  margin-bottom: 24px;
	font-family: var(--f-nts);
	font-weight: 600;
}

.mv_txt h2 span.green {
  font-family: var(--f-nts);
  color: var(--mcolor);
  /*font-weight: 400;*/
  /*font-size: 132%;*/
  display: inline-block;
  margin-bottom: 10px;
  letter-spacing: 0.1em;
	font-size: 120%;
}
.mv_txt h2 span.mv_txt_big {
	font-size: 170%;
	letter-spacing: 0.3em;
}

.mv_txt h2 span.green span {
  font-weight: 900;
}
.mv_txt h2 span.dot_bt {
	position: relative;
	display: block;
	margin-bottom: 30px;
	padding-bottom: 10px;
}
.mv_txt h2 span.dot_bt:after {
	position: absolute;
	content: '';
	border-bottom: 5px dotted var(--mcolor);
	width: 50%;
	max-width: 400px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);

}

.mv_txt h2.mv_catch img {
  display: block;
  width: min(max(55.2vw, 706px), 874px);
  height: auto;
  margin: 0 auto;
}

.mv_bg_left {
  position: absolute;
  left: -106px;
  top: calc(50% - 194px);
}

.mv_bg_left::before {
  content: "";
  position: absolute;
  background-color: #c7dd8c;
  width: 73.744%;
  height: 102.065%;
  border-radius: 50%;
  z-index: -1;
  top: 112px;
  right: -27px;
}

.mv_bg_left img {
  width: max(min(27.96875vw, 537px), 382px);
}

.mv_bg_right {
  position: absolute;
  right: -100px;
  top: calc(50% - 115px);
}

.mv_bg_right::before {
  content: "";
  position: absolute;
  background-color: #90be19;
  width: 78.772%;
  height: 109.588%;
  border-radius: 50%;
  z-index: -1;
  right: -10px;
  top: -195px;
}

.mv_bg_right img {
  width: max(min(27.96875vw, 537px), 382px);
}
.mv_box_bnr {
  max-width: max(min(45.0520833333vw, 865px), 625px);
  margin: 50px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4em;
}
.mv_box_bnr_item {
  background-color: var(--mcolor);
  font-size: max(min(1.0416666667vw, 20px), 14px);  
  border-radius: 50px;
  font-family: var(--f-nts);
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.45em;
  
  margin-bottom: 0;
  box-shadow: 8px 8px 12px rgba(0, 0, 0, 0.05);
  letter-spacing: 0;
}
.mv_box_bnr_item.mv_bnr_line{
	background-color: #4ea72e;
}
.mv_box_bnr_item a {
	color: #fff;
	padding: 50px 20px 15px;
	width: 100%;
	position: relative;
	display: block;
	font-size: 20px;
}
.mv_bnr_mail a::before {
  content: '';
  position: absolute;
  width: 40px;
  height: 28px;
  left: 0;
	right: 0;
  top: 14px;
  margin: auto;
  background: url('../images/ic_h_mail.png') no-repeat center /cover;
}
.mv_bnr_mail a:hover {
	opacity: 0.7;
}
.mv_bnr_line a::before {
  content: '';
  position: absolute;
  width: 35px;
  height: 35px;
  left: 0;
	right: 0;
  top: 10px;
  margin: auto;
  background: url('../images/icon_line.png') no-repeat center /cover;
}
/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl_h3 {
  text-align: center;
  font-weight: bold;
}

.ttl_h3:not(:last-child) {
  margin-bottom: 30px;
}

/* .ttl_h3 span{display: block;} */
.ttl_h3 .ja {
  font-size: 46px;
  padding-bottom: 13px;
  letter-spacing: -.02em;
}

/* .ttl_h3 .en{font-size: 16px;} */

/* DEFAUTL NAME BUTTON */
.btn a {
  width: 296px;
  height: 64px;
  border-radius: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url('../images/ic-right.png') no-repeat right 20px center /39px var(--orange);
  font-size: 18px;
  color: #fff;
  padding: 5px 65px 6px;
  line-height: 1.2em;
  text-align: center;
}

.btn.center a {
  margin-left: auto;
  margin-right: auto;
}

.btn_box:not(:last-child) {
  margin-bottom: 30px;
}

.btn_box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.btn_box .btn {
  margin: 10px;
}

/*============= For all ==============*/
.ttl_h3 {
  color: var(--mcolor);
  font-weight: bold;
  margin-bottom: 48px !important;
  line-height: 4em;
}

.ttl_h3 .ja {
  background: url("../images/line_dot.png") left bottom repeat-x;
}

.ttl_h3 .ja span {
  font-family: var(--f-nts);
  font-weight: 900;
  color: var(--scolor);
}

.ttl_h3 .ja span.line_dot {
  font-size: 105%;
  letter-spacing: 0.17em;
}

.ttl_h3 .ja span.line_dot span {
  position: relative;
  z-index: 1;
}

.ttl_h3 .ja span.line_dot span::before {
  content: "";
  position: absolute;
  background-color: var(--orange);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  z-index: -1;
  bottom: 95%;
  left: 0;
  right: 0;
  margin: auto;
}

.ttl_h3 .ja .txt_nor {
  color: inherit !important;
  font-family: var(--f-main);
  font-weight: 600;
}

.bg_line {
  --cl: #fff799;
  --t: 76%;
  --b: 95%;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) var(--t), var(--cl) var(--t), var(--cl) var(--b), rgba(255, 255, 255, 0) var(--b));
}

.sec_desc {
  text-align: center;
  margin-bottom: 52px;
  position: relative;
  z-index: 2;
}

.sec_desc p {
  font-size: 17px;
  line-height: 1.89em;
}

/*============= SEC01 ==============*/
.sec01 {
  padding: 0 0 107px;
}

.sec01_cnt {
  display: flex;
  justify-content: flex-end;
  gap: 65px;
  position: relative;
  z-index: 1;
}

.sec01_img {
  max-width: 491px;
  width: 34%;
  display: flex;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}

.sec01_img::before {
  content: "";
  position: absolute;
  background: url("../images/sec01_img1_dc.png") center no-repeat;
  background-size: cover;
  width: 740px;
  height: 789px;
  z-index: -1;
  top: 36%;
  left: 61%;
  transform: translate(-50%, -50%);
}

.sec01_list {
  max-width: 818px;
  width: 57%;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  z-index: 1;
}

.sec01_list dl {
  display: flex;
  align-items: center;
  padding: 13px 25px;
  border-radius: 20px;
  box-shadow: 10px 10px 12px rgba(0, 0, 0, 0.04);
  gap: 38px;
  background-color: #fff;
}

.sec01_list dl dd {
  line-height: 1.6em;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -.045em;
}

.sec01_list dl dd span {
  font-family: var(--f-nts);
  color: var(--scolor);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.dot_symbol {
  color: inherit !important;
}

/*============= SEC02 ==============*/
.sec_group {
  --space-top: 230px;
  padding: calc(var(--space-top) - 44px) 0 200px;
  position: relative;
  z-index: 1;
}

.sec_group::before {
  content: "";
  position: absolute;
  background-color: #c7dd8c;
  width: 100%;
  height: calc(100% - var(--space-top));
  top: calc(var(--space-top) - 1px);
  z-index: -1;
  left: 50%;
  transform: translate(-50%, 0);
}

.sec_group::after {
  content: "";
  position: absolute;
  background: url("../images/sec02_line_circle.png") center top no-repeat;
  background-size: 1920px var(--space-top);
  width: 100%;
  height: var(--space-top);
  top: 0;
  z-index: -1;
}

.sec02_bg {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  padding: 163px 0 0;
}

.sec02_bg::before {
  content: "";
  position: absolute;
  background: url("../images/sec02_dc1.png") center top no-repeat;
  background-size: cover;
  width: 1082px;
  height: 95px;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
  z-index: -1;
}

.sec02_ttl {
  font-size: 31px;
  font-weight: 500;
  color: #fff;
  line-height: 1.68em;
  letter-spacing: -0.02em;
  margin-bottom: 41px;
}

.sec02_cnt {
  max-width: 1070px;
  width: 100%;
  position: relative;
  z-index: 1;
}

.sec02_cnt::before {
  content: "";
  position: absolute;
  background: url("../images/sec02_dc.png") center no-repeat;
  background-size: cover;
  width: 261px;
  height: 230px;
  z-index: -1;
  bottom: 139px;
  right: 221px;
}

.sec02_cnt .desc {
  margin-bottom: 52px;
}

.sec02_cnt .desc p {
  font-family: var(--f-nts);
  color: #000;
  line-height: 1.9em;
  letter-spacing: 0.05em;
}

.sec02_img {
  max-width: 348px;
  width: 24%;
  margin-top: 16px;
}

.sec02_img img {
  max-width: 577px;
  box-shadow: 10px 10px 22px rgba(0, 0, 0, 0.15);
}

.sec02 .btn_box {
  justify-content: flex-start;
}

.sec02 .btn_box .btn {
  margin: 0;
}

/*============= SEC03 ==============*/
.sec03 {
  margin-top: -58px;
  position: relative;
  z-index: 2;
}

.sec03_bg {
  position: relative;
  z-index: 1;
  padding: 85px 175px 210px;
}

.sec03_bg::after {
  content: '';
  position: absolute;
  z-index: -2;
  width: 100%;
  height: calc(100% + 200px);
  border-radius: 60px 60px 0 0;
  box-shadow: 18px 18px 30px rgba(51, 51, 0, .14);
  border-radius: 60px 60px 0 0;
  background-color: #fff;
  top: 0;
  left: 0;
}

.sec03_bg .ttl_h3 {
  line-height: 1.7em;
  text-align: center;
  margin-bottom: 53px !important;
}

.sec03_bg .ttl_h3 .ja {
  padding-bottom: 0;
  background: none;
  color: #323306;
  line-height: 1.61em;
  font-size: 42px;
}

.sec03_bg .ttl_h3 .ja .green {
  color: #2f7628;
  font-weight: 400;
}

.sec03_bg .ttl_h3 .ja .green span {
  color: #2f7628;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 105%;
}

.sec03_bg .btn_box .btn {
  margin: 0 0 0 -190px;
}

.sec03_cnt {
  position: relative;
  z-index: 1;
  max-width: 800px;
  width: 73%;
  margin-left: auto;
}

.sec03_cnt .desc {
  position: relative;
  z-index: 1;
  margin-bottom: 57px;
}

.sec03_cnt .desc::before {
  content: "";
  position: absolute;
  background: url("../images/sec03_dc.png") center no-repeat;
  background-size: cover;
  width: max(10.78vw, 136px);
  height: max(8.49vw, 107px);
  z-index: -1;
  right: 0;
  top: -24px;
}

.sec03_cnt .desc dl {
  padding: 24px 0 24px 50px;
  border-bottom: 1px solid #dbe1e7;
  position: relative;
  z-index: 1;
}

.sec03_cnt .desc dl:first-child dt,
.sec03_cnt .desc dl:first-child dd {
  max-width: 570px;
}

.sec03_cnt .desc dl::after {
  content: "";
  position: absolute;
  background: url("../images/ic_check_1.png") center no-repeat;
  background-size: cover;
  width: 34px;
  height: 28px;
  left: 3px;
  top: 33px;
  z-index: -1;
}

.sec03_cnt .desc dl:first-child::before {
  content: "";
  position: absolute;
  max-width: 580px;
  width: 73%;
  height: 1px;
  left: 0;
  top: 0;
  z-index: -1;
  background-color: #dbe1e7;
}

.sec03_cnt .desc dt {
  font-size: 27px;
  font-weight: 500;
  color: var(--scolor);
  margin-bottom: 6px;
  letter-spacing: 0.05em;
}

.sec03_img {
  position: absolute;
  right: calc(100% + 176px);
  max-width: 540px;
  width: 68%;
}

.sec03_img img {
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
  box-shadow: 18px 18px 35px rgba(50, 51, 6, 0.14)
}

/*============= SEC04 ==============*/
.sec04 {
  --space-top: 230px;
  padding: 125px 0 340px;
  margin-top: -330px;
  position: relative;
  z-index: 1;
  background: url("../images/sec04_line_circle.png") center top no-repeat;
  background-size: 1920px var(--space-top);
}

.sec04::before {
  content: "";
  position: absolute;
  background: url("../images/sec04_bg.jpg") center top repeat-y;
  background-size: cover;
  width: 100%;
  height: calc(100% - var(--space-top));
  top: calc(var(--space-top) - 1px);
  left: 50%;
  transform: translate(-50%, 0);
  z-index: -1;
}

.sec04_ttl .ttl_h3 {
  margin-bottom: 46px !important;
}

.sec04_ttl .ttl_h3 .ja {
  font-size: 46px;
  letter-spacing: 0.04em;
  padding-bottom: 12px;
  font-weight: 500;
}

.sec04_ttl .ttl_h3 .ja .line_dot {
  letter-spacing: 0.06em;
}

.sec04 .sec_desc {
  margin-bottom: 52px;
}

.sec04_box {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 63px 76px;
}

.sec04_box:not(:last-child) {
  margin-bottom: 55px;
}

.sec04_box_full {
  position: relative;
  right: 21px;
  margin-bottom: 34px !important;
  text-align: center;
}

.sec04_box_full img {
  margin: 0 auto;
}

.sec04_item {
  width: 100%;
  max-width: 600px;
  position: relative;
  z-index: 1;
  padding: 0 50px 46px;
}

.sec04_item:nth-child(2) {
  margin-top: 60px;
}

.sec04_item::before {
  content: "";
  position: absolute;
  background-color: #fff;
  width: 100%;
  height: 74%;
  z-index: -1;
  left: 0;
  top: 103px;
  border-radius: 30px;
  box-shadow: 8px 8px 14px rgba(56, 43, 9, 0.1);
}

.sec04_item h4 {
  font-size: 27px;
  color: var(--scolor);
  text-align: center;
  letter-spacing: 0.065em;
  font-weight: 500;
  margin-bottom: 11px;
}

.sec04_item .img {
  text-align: center;
  margin-bottom: 31px;
}

.sec04_item .img img {
  border-radius: 30px;
}

.sec04_item .desc p {
  letter-spacing: -0.036em;
}

/*============= SEC05 ==============*/
.sec05 {
  --space-top: 230px;
  margin-top: calc(var(--space-top) * -1);
  padding: 147px 0 131px;
  position: relative;
  z-index: 1;
  background: url("../images/sec05_line_circle.png") center top/ 1920px 230px no-repeat;
}

.sec05::before {
  content: "";
  position: absolute;
  background-color: #c7dd8c;
  width: 100%;
  height: calc(100% - var(--space-top) - 432px);
  top: calc(var(--space-top) - 1px);
  ;
  left: 0;
  z-index: -1;
}

.sec05_ttl .ttl_h3 {
  margin-bottom: 46px !important;
}

.sec05_ttl .ttl_h3 .ja {
  font-size: 48px;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-bottom: 11px;
}

.sec05_ttl .ttl_h3 .ja span {
  color: var(--mcolor) !important;
}

.sec05_desc {
  margin-bottom: 30px;
}

.sec05_cnt {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  padding-top: 105px;
}

.sec05_box {
  position: relative;
  z-index: 2;
}

.sec05_box_frame {
  background-color: #fffcde;
  padding: 2px 40px 32px;
  border-radius: 25px;
  position: relative;
  box-shadow: 13px 13px 12px rgba(0, 0, 0, 0.05);
}

.sec05_box_dc {
  position: absolute;
  z-index: -2;
}

.sec05_box_frame::before {
  content: "";
  position: absolute;
  width: 447px;
  height: 410px;
  z-index: -1;
  left: 50%;
  top: -106px;
  transform: translate(-50%, 0);
  border-radius: 50%;
  background-color: #fffcde;
  box-shadow: 11px 14px 18px rgba(0, 0, 0, 0.05);
}

.sec05_box::after {
  content: "";
  position: absolute;
  z-index: 2;
}

.sec05_box:nth-child(1)::after {
  background: url("../images/sec05_dc1.png") center no-repeat;
  background-size: cover;
  width: min(max(8.333333vw, 134px), 160px);
  height: min(max(10.625vw, 170px), 204px);
  top: -23px;
  right: 28px;
  pointer-events: none;
}

.sec05_box:nth-child(1) .sec05_box_dc {
  left: calc(50% - 813px);
  top: -462px;
  ;
  width: max(37vw, 466px);
  max-width: 710px;
}

.sec05_box:nth-child(1) h4::before {
  background: url("../images/sec05_ic1.png") center no-repeat;
  background-size: cover;
  width: 43px;
  height: 52px;
  top: -67px;
}

.sec05_box:nth-child(2)::after {
  background: url("../images/sec05_dc2.png") center no-repeat;
  background-size: cover;
  width: min(max(8.282vw, 134px), 159px);
  height: min(max(9.948vw, 160px), 191px);
  top: -15px;
  right: 43px;
  pointer-events: none;
}

.sec05_box:nth-child(2) .sec05_box_dc {
  right: -412px;
  top: -266px;
}

.sec05_box:nth-child(2) h4::before {
  background: url("../images/sec05_ic2.png") center no-repeat;
  background-size: cover;
  width: 48px;
  height: 48px;
  top: -63px;
}

.sec05_box h4 {
  text-align: center;
  color: var(--scolor);
  font-size: 36px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.33em;
  margin-bottom: 34px;
  position: relative;
  z-index: 1;
}

.sec05_box h4::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  margin: auto;
}

.sec05_list {
  position: relative;
  z-index: 1;
  counter-reset: section;
  margin-bottom: 30px;
}

.sec05_list li {
  position: relative;
  z-index: 1;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 90px;
  padding: 10px 10px 10px 90px;
  font-size: max(min(1.4583333333vw, 28px), 20px);
  font-weight: 500;
  background-color: #f0e5c1;
  min-height: 70px;
  border-radius: 10px;
  letter-spacing: -.006em;
}

.sec05_list li a {
  color: #2f1d04;
}

.sec05_list li:not(:last-child) {
  margin-bottom: 14px;
}

.sec05_list li::before {
  counter-increment: section;
  content: "0" counter(section);
  font-size: 26px;
  font-weight: 400;
  position: absolute;
  left: 13px;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #fff;
  width: 57px;
  height: 57px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--mcolor);
  font-family: var(--f-rbt);
  padding-top: 2px;
  border-radius: 50%;
}

/*============= SEC06 ==============*/
.sec06 {
  position: relative;
  z-index: 2;
  padding: 0 0 49px;
}

.sec06::after {
  content: "";
  position: absolute;
  background: url('../images/sec06_bg.jpg') center top / cover repeat-y;
  width: 100%;
  max-width: 100%;
  height: calc(100% - 234px - 394px);
  top: 392px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
}

.sec06_bg {
  position: relative;
  z-index: 1;
}

.sec06_bg::before {
  content: "";
  position: absolute;
  background: url("../images/sec06_line_bg.png") center no-repeat;
  background-size: 1920px 160px;
  width: 100%;
  height: 160px;
  left: 50%;
  transform: translate(-50%, 0);
  top: 233px;
  z-index: -1;
}

.sec06_bg::after {
  content: "";
  position: absolute;
  background: url("../images/sec07_line_bg.png") center bottom no-repeat;
  background-size: 1920px 208px;
  width: 100%;
  height: 208px;
  bottom: 160px;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 0;
}

.sec06_bg .ttl_h3 {
  text-align: left;
  margin-bottom: 46px !important;
}

.sec06_bg .ttl_h3 .ja {
  font-size: 48px;
  letter-spacing: 0.007em;
  padding-bottom: 10px;
}

.sec06_bg .ttl_h3 .ja span.line_dot {
  letter-spacing: .1em;
}

.sec06_bg .sec_desc {
  text-align: left;
  margin-bottom: 106px;
}

.sec06_bg .sec_desc p {
  letter-spacing: 0.02em;
}

.sec06_cnt {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 61px;
  position: relative;
  z-index: 2;
}

.sec06_item {
  display: flex;
  align-items: flex-start;
  max-width: 655px;
  width: 45%;
}

.sec06_item .img {
  max-width: 380px;
  width: 60%;
}

.sec06_item .img img {
  border-radius: 30px;
  max-width: 380px;
}

.sec06_item_desc {
  width: 61%;
  max-width: 396px;
  min-height: 416px;
  background-color: rgba(108, 163, 34, 0.95);
  border: 6px solid #fff;
  border-radius: 30px;
  margin-left: -121px;
  margin-top: 102px;
  padding: 85px 15px 48px;
  display: flex;
  flex-direction: column;
  box-shadow: 10px 10px 27px rgba(32, 60, 14, 0.2);
  transition: 0.3s linear;
}

.sec06_item .btn_box .btn {
  font-size: 18px;
}

.sec06_item_desc>* {
  color: #fff;
}

.sec06_item_desc h4 {
  font-size: 32px;
  position: relative;
  z-index: 1;
  text-align: center;
  font-weight: 500;
  margin-bottom: 12px;
  line-height: 1.7em;
}

.sec06_item_desc h4 .en {
  position: absolute;
  font-family: var(--f-rbt);
  font-size: 74px;
  left: 50%;
  transform: translate(-50%, 0);
  top: -27px;
  font-weight: bold;
  color: rgba(255, 255, 255, 0.07);
  white-space: nowrap;
  z-index: -1;
  letter-spacing: 0.05em;
}

.sec06_item_desc h4 span:not(.en) {
  font-size: 137%;
  color: #fff799;
  font-weight: bold;
  font-family: var(--f-nts);
  letter-spacing: 0;
}

.sec06_item_desc .desc {
  margin-bottom: 30px;
  min-height: 96px;
  padding: 0 38px;
}

.sec06_item_desc .desc p {
  letter-spacing: 0.022em;
  line-height: 1.9em;
}

.sec06_item .btn_box .btn {
  margin: 0;
  width: 100%;
}

.sec06_item .btn_box {
  width: 100%;
}

.sec06_item .btn_box .btn a {
  max-width: 100%;
  margin: 0 auto;
}

/*============= SEC07 ==============*/
.sec07 {
  --space-top: 210px;
  position: relative;
  margin-top: calc(-1 * var(--space-top));
  padding-top: var(--space-top);
  padding-bottom: 50px;
}

.sec07::before {
  content: "";
  position: absolute;
  background: url("../images/sec07_bg.jpg") center top/ 1920px auto repeat-y;
  width: 100%;
  height: calc(100% - 208px);
  left: 50%;
  transform: translate(-50%, 0);
  top: 0;
  z-index: -1;
}

.sec07_bg {
  display: flex;
  align-items: flex-start;
}

.sec07_box {
  width: 50%;
  max-width: 730px;
  position: relative;
  z-index: 1;
  padding: 72px 0 79px;
}

.sec07_box::before {
  content: "";
  position: absolute;
  background-color: #fff;
  width: 1060px;
  height: 100%;
  top: 0;
  z-index: -1;
  box-shadow: 12px 12px 22px rgba(14, 32, 60, 0.2);
  transition: 0.3s linear;
}

.sec07_box::after {
  content: "";
  position: absolute;
  z-index: -1;
}

.sec07_box:nth-child(1) {
  margin-top: 129px;
  z-index: 3;
}

.sec07_box:nth-child(1)::before {
  right: -99px;
  border-radius: 0 30px 30px 0;
}

.sec07_box:nth-child(1)::after {
  background: url("../images/sec07_dc1.png") center/cover no-repeat;
  width: 268px;
  height: 263px;
  top: -216px;
  left: -48px;
}

.sec07_box:nth-child(1) .ttl_h3 .ja {
  color: #323306;
}

.sec07_box:nth-child(1) .desc {
  color: #323306;
}

.sec07_box:nth-child(2) {
  max-width: 540px;
  margin-left: auto;
  padding: 69px 0 78px;
  z-index: 2;
}

.sec07_box:nth-child(2)::before {
  left: -231px;
  border-radius: 30px 30px 0 0;
  background-color: #2f7628;
}

.sec07_box:nth-child(2)::after {
  background: url("../images/sec07_dc2.png") center/cover no-repeat;
  width: 286px;
  height: 280px;
  bottom: -141px;
  right: -134px;
  pointer-events: none;
}

.sec07_box:nth-child(2) .ttl_h3 {
  margin-bottom: 11px !important;
}

.sec07_box:nth-child(2) .ttl_h3 .ja {
  color: #fff;
}

.sec07_box:nth-child(2) .ttl_h3 .ja span {
  color: #c7dd8c;
}

.sec07_box:nth-child(2) .desc {
  margin-bottom: 34px;
}

.sec07_box .ttl_h3 {
  text-align: left;
  line-height: 3.09em;
  ;
  margin-bottom: 18px !important;
}

.sec07_box .ja span {
  font-weight: 700;
}

.sec07_box .ja span.bg_line {
  letter-spacing: 0.06em;
}

.sec07_box .ja {
  background: none;
  font-size: 43px;
  padding-bottom: 0;
}

.sec07_box .desc {
  color: #fff;
  margin-bottom: 54px;
}

.sec07_box .desc p {
  letter-spacing: -0.035em;
  font-size: max(min(0.9375vw, 18px), 16px);
}

.sec07_box .btn_box {
  justify-content: flex-start;
}

.sec07_box .btn_box .btn {
  margin: 0;
}

/*============= SEC08 ==============*/
.sec08 {
  --space-top: 210px;
  position: relative;
  margin-top: calc(var(--space-top) * -1);
}

.sec08_bg {
  display: flex;
}

.sec08_box {
  width: 50%;
  position: relative;
  z-index: 1;
  padding: calc(var(--space-top) + 89px) 0 420px;
  min-height: 1021px;
}

.sec08_box::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
}

.sec08_box_frame {
  position: relative;
  z-index: 1;
}

.sec08_box_frame::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -308px;
}

.sec08_box:nth-child(1) .ttl_h3 .ja {
  color: var(--mcolor);
  padding: 15px 56px 18px 0;
}

.sec08_box:nth-child(1) .ttl_h3 .ja::before {
  right: 0;
  border-radius: 0 8px 8px 0;
}

.sec08_box:nth-child(1)::before {
  background: url("../images/sec08_img1.jpg") right top -35px/cover no-repeat;
  width: 960px;
  height: 100%;
  right: 0;
}

.sec08_box:nth-child(1) .sec08_box_frame {
  padding-right: 208px;
  padding-left: 19px;
}

.sec08_box:nth-child(1) .sec08_box_frame::before {
  background: url("../images/sec08_dc1.png") center/cover no-repeat;
  width: 146px;
  height: 378px;
  left: -147px;
}

.sec08_box:nth-child(2) .ttl_h3 .ja {
  color: #90be19;
  padding: 15px 16px 18px 2px;
  letter-spacing: 0.035em;
}

.sec08_box:nth-child(2) .ttl_h3 .ja::before {
  left: -60px;
  border-radius: 8px 0 0 8px;
}

.sec08_box:nth-child(2)::before {
  background: url("../images/sec08_img2.jpg") left top -35px/cover no-repeat;
  width: 960px;
  height: 100%;
  left: 0;
}

.sec08_box:nth-child(2) .sec08_box_frame {
  padding-left: 208px;
}

.sec08_box:nth-child(2) .sec08_box_frame::before {
  background: url("../images/sec08_dc2.png") center/cover no-repeat;
  width: 154px;
  height: 403px;
  right: -90px;
}

.sec08_box .ttl_h3 {
  position: relative;
  z-index: 1;
  text-align: left;
  margin-bottom: 32px !important;
}

.sec08_box .ttl_h3 .ja {
  padding-bottom: 0;
  background: none;
  font-family: var(--f-nts);
  font-size: max(min(3.5416666667vw, 68px), 58px);
  font-weight: 900;
  display: inline-block;
  position: relative;
  z-index: 1;
  letter-spacing: 0.025em;
  transition: .2s linear;
}

.sec08_box .ttl_h3 .ja::before {
  content: "";
  position: absolute;
  background-color: #fff;
  top: 0;
  width: 960px;
  height: 100%;
  z-index: -1;
  margin: auto;
  transition: 0.3s linear;
}

.sec08_box .desc {
  color: #fff;
  margin-bottom: 35px;
}

.sec08_box .btn_box {
  justify-content: flex-start;
}

.sec08_box .btn_box .btn {
  margin: 0;
}

/*============= SEC09 ==============*/
.sec09 {
  --space-top: 230px;
  background: url("../images/sec09_line_bg.png") center top/ 1920px 230px no-repeat;
  padding: 108px 0 137px;
  ;
  position: relative;
  z-index: 2;
  margin-top: -345px;
}

.sec09::before {
  content: "";
  position: absolute;
  background: url("../images/sec09_bg.jpg") center top/cover repeat-y;
  width: 100%;
  height: calc(100% - 557px);
  z-index: -1;
  top: calc(var(--space-top) - 1px);
}

.sec09_bg .ttl_h3 {
  margin-bottom: 46px !important;
}

.sec09_bg .ttl_h3 .ja {
  font-size: 48px;
  font-weight: 500;
  padding-bottom: 10px;
}

.sec09_bg .ttl_h3 .ja span.line_dot {
  letter-spacing: 0;
}

.sec09_bg .sec_desc {
  margin-bottom: 45px;
}

.sec09_bg .sec_desc p {
  font-size: min(max(0.9375vw, 14px), 17px);
  line-height: 1.88em;
}

.sec09_cnt {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}

.sec09_box {
  font-size: max(min(0.9375vw, 18px), 14px);
  width: 28em;
  height: 28em;
  border-radius: 50%;
  background-color: #fff;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 2.056em 3.222em;
  flex-shrink: 0;
  box-shadow: 7px 7px 38px rgba(47, 29, 4, 0.1);
}

.sec09_box::before {
  content: "";
  position: absolute;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url('../images/sec09_box_dot.png') center no-repeat;
  background-size: cover;
  z-index: -1;
}

.sec09_box h4 {
  font-size: 1.555555em;
  line-height: 1.5em;
  letter-spacing: -0.07em;
  font-weight: 500;
  margin-bottom: 18px;
  color: #2f1d04;
  text-align: center;
}

.sec09_box h4 .bg_line {
  font-family: var(--f-rbt);
  color: var(--scolor);
  font-weight: 700;
  --t: 67%;
  --b: 95%;
}

.sec09_box .img {
  width: max(min(14.6875vw, 282px), 220px);
  text-align: center;
  margin-bottom: 15px;
}

.sec09_box .desc p {
  letter-spacing: -0.125em;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1em;
  text-align: center;
}

/*============= SEC10 ==============*/
.sec10 {
  padding: 0 0 142px;
  margin-top: 126px;
}

.sec10_ttl .ttl_h3 {
  margin-bottom: 55px !important;
}

.sec10_ttl .ttl_h3 .ja {
  font-size: 48px;
  padding-bottom: 11px;
}

.sec10_cnt {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  position: relative;
  z-index: 1;
}

.sec10_box {
  width: 50%;
  box-shadow: 8px 8px 22px rgba(14, 32, 60, 0.1);
  border-radius: 24px;
  padding: 67px 50px 69px;
}

.sec10_box h4 {
  color: #2f1d04;
  font-family: var(--f-rbt);
  font-size: 38px;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 23px;
}

.sec10_box h4 span {
  background-color: #fff;
  position: relative;
  padding: 0 26px;
}

.sec10_box h4 span::before {
  content: "";
  position: absolute;
  background-color: var(--mcolor);
  width: calc(100% + 80px);
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
  z-index: -1;
}

.sec10_box_list {
  margin-bottom: 52px;
}

.sec10_box_list li {
  display: flex;
  gap: 45px;
  padding: 33px 0 36px;
  background: url("../images/line-dotted.png") left bottom/8px 2px repeat-x;
}

.sec10_box_list li p {
  margin-bottom: 0;
  line-height: 1.5em;
}

.sec10_box_list li .date {
  color: var(--mcolor);
  font-size: 20px;
  font-family: var(--f-rbt);
  letter-spacing: 0.1em;
}

.sec10_box_list li .ttl {
  letter-spacing: -0.075em;
  line-height: 1.75em;
}

.sec10_box_list li .ttl a {
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.sec10_box_list li .ttl a {
  color: #2f1d04;
}

/*============= SEC11 ==============*/
.sec11 {
  padding-bottom: 32px;
}

.sec11_bg {
  position: relative;
  z-index: 2;
  padding: 90px 0 100px;
}

.sec11_bg .ttl_h3 .ja span.line_dot span::before {
  background-color: #ffe800;
  bottom: 90%;
}

.sec11_bg::before {
  content: "";
  position: absolute;
  background-color: var(--orange);
  width: max(100vw - 120px, 1230px);
  height: 100%;
  border-radius: 20px;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: -1;
}

.sec11_bg::after {
  content: "";
  position: absolute;
  background: url("../images/sec11_dc.png") center/cover no-repeat;
  width: min(max(39.6vw, 520px), 792px);
  height: min(max(53vw, 696px), 1061px);
  top: -206px;
  right: max(-145px, 50% - 1113px);
  z-index: -1;
}

.sec11_frame {
  display: flex;
}

.sec11_img {
  position: absolute;
  bottom: 0;
  right: calc(50% - 396px);
}

.sec11_cnt {
  flex-shrink: 0;
}

.sec11_cnt .ttl_h3 {
  margin-bottom: 47px !important;
  text-align: left;
}

.sec11_cnt .ttl_h3 .ja {
  font-family: var(--f-nts);
  font-size: 57px;
  color: #fff;
  letter-spacing: 0.025em;
  padding-bottom: 0;
  background: none;
}

.sec11_cnt .ttl_h3 .ja span {
  color: #fff;
  font-size: 100%;
  letter-spacing: 0.03em;
}

.sec11_cnt .desc {
  color: #fff;
  margin-bottom: 52px;
}

.sec11_cnt .desc p {
  line-height: 1.9em;
}

.sec11_cnt .desc .name {
  font-size: 28px;
  letter-spacing: 0.05em;
  line-height: 1.5em;
}

.sec11_cnt .btn_box {
  justify-content: flex-start;
}

.sec11_cnt .btn_box .btn {
  margin: 0;
}

.sec11_cnt .btn_box .btn a {
  background-color: #fff;
  color: var(--orange);
  background: url("../images/ic-right-clr.png") no-repeat right 20px center/39px #fff;
}

.byte1 {
  margin-left: -25px;
}

main {
  margin-bottom: 88px;
}

.sp425,
.sp440,
.sp360 {
  display: none;
}

.sp375 {
  display: none;
}

.is_scroll nav {
  min-width: 600px;
}

.h_contact_line {

	margin-right: 15px;
}

.is_scroll .h_contact_line {
  display: block;
  margin-left: 20px;
	margin-right: 0;
  /*border: 1px solid #fff;
  padding: 3px 10px;
  border-radius: 10px;*/
	order: 3;
}

@media screen and (min-width: 751px) {
  .pc {
    display: block;
  }

  .sp {
    display: none !important
  }

  .h_box {
    min-width: 1260px;
    left: 0 !important;
    right: 0;
    margin: auto;
  }

  /* NAV */
  /* .h_box{min-width: calc(var(--container) + 30px);} */
  .hamburger {
    display: none;
  }

  .nav_list {
    display: flex;
    justify-content: space-between;
  }

  .nav_list>li>a,
  .nav_list>li>.hook {
    display: flex;
    align-items: center;
    position: relative;
    font-weight: 500;
    height: 60px;
  }

  .nav_list>li.parent {
    position: relative;
    padding-bottom: 5px;
  }

  .nav_list>li.parent>.hook {
    cursor: default
  }

  .sub {
    position: absolute;
    z-index: 1;
    transition: all .3s;
    border-top: solid 1px #FFF;
    width: 300px;
    top: 100%;
    left: 50%;
  }

  .sub ul li a {
    font-size: 16px;
    display: flex;
    width: 100%;
    height: 60px;
    align-items: center;
    letter-spacing: .001em;
    padding: 5px 35px 6px;
    margin: 0 auto;
    border-bottom: solid 1px #FFF;
    color: #fff;
    background: var(--scolor);
    line-height: 1.5em;
  }

  .sec07_box:nth-child(1) {
    margin-top: 129px;
    z-index: 3;
    padding-right: 40px;
  }

  .ft_menu>ul li:first-child {
    min-width: 204px;
  }

  /* CUSTOM */
  .find_a,
  .find_out {
    cursor: pointer;
  }

  /* HOVER */
  .nav_list>li:hover>a {
    color: var(--scolor);
    text-decoration: none;
  }

  .parent:not(:hover) .sub {
    display: none;
  }

  .parent:hover .sub {
    transform: translate(-50%, 0);
  }

  .sub a:hover {
    background-color: var(--orange);
    text-decoration: none;
  }

  .to_top img:hover,
  .btn a:hover,
  .find_a:hover {
    opacity: .8
  }

  .btn a:hover {
    opacity: 1;
    background-color: var(--mcolor);
  }

  .sec11_cnt .btn_box .btn a:hover {
    background: url(../images/ic-right.png) no-repeat right 20px center / 39px var(--mcolor);
    color: #fff;
  }

  .ft_info_mail a:hover {
    background-color: var(--mcolor);
  }

  .is_scroll nav {
    margin: 0 auto;
    width: auto;
    max-width: 100%;
  }

  .is_scroll .nav_list {
    justify-content: center;
  }

  nav {
    position: absolute;
    max-width: 658px;
    width: 100%;
    margin: -15px auto 0;
    top: 115px;
    left: 0;
    right: 0;
    margin: auto;
  }

  .h_right {
    top: -2px;
  }

  .nav_list>li:nth-child(3) {
    padding: 0 78px;
  }

  .nav_list>li:nth-child(3)::before {
    content: '';
    position: absolute;
    background: url('../images/line-nav.png') center top / contain repeat-y;
    width: 4px;
    height: 52px;
    right: 31px;
    top: 1px;
    pointer-events: none;
  }

  .nav_list>li:nth-child(3)::after {
    content: '';
    position: absolute;
    background: url('../images/line-nav.png') center top / contain repeat-y;
    width: 4px;
    height: 52px;
    left: 31px;
    top: 1px;
    pointer-events: none;
  }

  .sec04_cnt {
    margin-bottom: 50px;
  }

  .sec06_item_desc:hover {
    opacity: 1;
    background-color: var(--orange);
  }

  .sec06_item_desc:hover .btn a {
    opacity: 1;
    background: url(../images/ic-right-clr.png) no-repeat right 20px center / 39px #fff;
    color: var(--orange);
  }

  .sec06_item:nth-child(2n+2) {
    margin-top: -258px;
  }

  .sec07_box:hover::before {
    background-color: var(--orange);
  }

  .sec07_box:hover .btn a {
    background: url(../images/ic-right-clr.png) no-repeat right 20px center / 39px #fff;
    color: var(--orange);
  }

  .sec08_box:hover .ttl_h3 .ja {
    color: #fff;
  }

  .sec08_box:hover .ttl_h3 .ja::before {
    background-color: var(--orange);
  }

  .sec08_box:hover .btn a {
    background: url(../images/ic-right-clr.png) no-repeat right 20px center / 39px #fff;
    color: var(--orange);
  }

  .sec09_box:first-child,
  .sec09_box:last-child {
    margin-top: -13.7em;
  }

  .sec09_box:nth-child(2) {
    margin: 0 -26px;
  }

  .is_scroll .nav_list * {
    color: #fff !important;
  }

  .h_contact_mail a:hover,
  .ft_info_mail a:hover {
    opacity: 0.8;
  }

  .ft_menu_sub a {
    line-height: 1.5em;
    display: inline-block;
    color: #2f1d04;
  }

  .ft_menu_sub a:hover {
    color: var(--mcolor);
    opacity: 0.8;
  }

  .nav_list .sp440 {
    display: block;
  }

  .nav_list>li.parent:hover .hook {
    color: var(--orange) !important;
  }

  .nav_list>li.parent:hover .hook_en {
    color: var(--orange) !important;
  }

  .is_scroll .h_contact_mail a {
    width: 260px;
    height: 50px;
  }

  .is_scroll .h_contact_mail a span {
    font-size: 16px;
  }

  .is_scroll .h_contact_tel .time {
    font-size: 12px;
  }

  .is_scroll .h_inner {
    gap: 0 20px;
  }

  .sec11_cnt .ttl_h3 {
    margin-left: -15px;
    line-height: 4.5em;
  }

  .sec10_box_list li .ttl a:hover {
    color: var(--mcolor);
  }

  .sec06_item:nth-child(3) .sec06_item_desc,
  .sec06_item:nth-child(4) .sec06_item_desc {
    min-height: 475px;
  }

  .is_scroll nav {
    position: static;
  }

  .sec10 .sec10_box_list {
    min-height: 198px;
  }

  .sec10_box_list li .ttl {
    width: calc(100% - 120px - 55px);
  }

  .sec11_cnt .desc .name {
    margin-top: 32px;
  }

  .sec07_box .btn_box .btn a:hover {
    opacity: 1;
  }

  .sec08_box .btn_box .btn a:hover {
    opacity: 1;
  }

  .sec06_item_desc h4 {
    letter-spacing: -0.05em;
  }

  .is_scroll .h_left,
  .is_scroll .h_right {
    width: 100%;
  }
}

@media screen and (min-width: 1921px) {
  .sec07_box:nth-child(1)::before {
    right: -100px;
  }

  .sec07_box:nth-child(2)::before {
    left: -289px;
  }

  .mv::after {
    background-size: 100% 225px;
  }

  .sec_group::after {
    background-size: 100% var(--space-top);
  }

  .sec04 {
    background-size: 100% var(--space-top);
  }

  .sec05 {
    background-size: 100% 230px;
  }

  .sec09 {
    background-size: 100% 230px;
  }

  .sec06_bg::before {
    background-size: 100% 160px;
  }

  .sec06_bg::after {
    background-size: 100% min(10.83vw, 388px);
    height: min(10.83vw, 388px);
  }

  .sec07::before {
    background-size: 100% auto;
  }
}

@media screen and (min-width: 751px) and (max-width: 1919px) {
  .sec08_box:nth-child(1) .sec08_box_frame::before {
    left: 0;
  }

  .sec08_box:nth-child(2) .sec08_box_frame::before {
    right: 0;
  }

  .sec08_box_frame::before {
    bottom: -388px;
  }

  .sec11_bg::after {
    top: -100px
  }
}

@media screen and (min-width: 751px) and (max-width: 1700px) {
  .h_box .inner {
    width: 100%;
  }

  .is_scroll .h_contact_mail a {
    width: 200px;
  }

  .is_scroll .h_contact_mail a span {
    font-size: 14px;
    padding-left: 25px;
  }

  .is_scroll .h_contact_mail a span::before {
    width: 20px;
    height: 14px;
  }

  .is_scroll .h_left,
  .is_scroll .h_right {
    top: -2px;
  }

  .sec07_box:nth-child(1)::after {
    left: 0;
  }

  .sec07_box:nth-child(2)::after {
    right: 0;
  }
}

@media screen and (min-width: 751px) and (max-width: 1560px) {
  .is_scroll nav {
    min-width: 550px;
  }

  .is_scroll .h_left,
  .is_scroll .h_right {
    width: 690px;
    min-width: 150px;
  }

  .inner_large {
    padding: 0 20px;
  }

  .inner {
    padding: 0 20px;
  }

  .is_scroll #logo img {
    width: 200px;
  }

  .is_scroll .h_contact_tel a {
    font-size: 26px;
  }

  /* .is_scroll .h_left, .is_scroll .h_right {max-width: 428px;} */
  .is_scroll .nav_list>li:nth-child(3) {
    padding: 0 60px;
  }

  .h_left img {
    width: 220px;
  }

  .h_box::before {
    top: -350px;
    left: -240px;
  }

  .sub ul li a {
    font-size: 14px;
    height: 55px;
    padding: 5px 25px 6px;
  }

  .sub {
    width: 260px;
  }

  .h_contact_mail a {
    height: 55px;
    padding-bottom: 0;
  }

  .mv {
    height: calc(100vh + 145px);
    min-height: auto;
  }

  .mv_desc {
    font-size: 22px;
  }

  .mv_bg,
  .mv_slider_ite {
    height: 100%;
  }

  .sec03_bg .ttl_h3 .ja {
    font-size: 38px !important;
  }

  .sec01_img {
    max-width: 441px;
    width: 42%;
  }

  .sec01_list {
    width: 58%;
  }

  .sec01_list dl dt img {
    width: 80px;
  }

  .sec01_list dl {
    gap: 15px;
    padding: 13px 15px;
  }

  .sec01_list dl dd {
    font-size: 18px;
  }

  .sec01_cnt {
    gap: 35px;
  }

  .sec02_ttl {
    font-size: max(1.79vw, 22px);
  }

  .sec02_cnt {
    max-width: max(68.59vw, 864px);
  }

  .sec02_cnt::before {
    width: 215px;
    height: 190px;
    z-index: -1;
    bottom: 140px;
    right: 100px;
  }

  .sec02_img {
    max-width: 410px;
    width: 40%;
  }

  .sec02_img img {
    max-width: 507px;
  }

  .sec03_bg {
    padding: 85px 165px 210px;
  }

  .sec03_cnt {
    width: 76%;
  }

  .sec03_img {
    position: absolute;
    right: calc(100% + 86px);
    width: 55%;
  }

  .sec05_box:nth-child(1) .sec05_box_dc {
    left: min(-15vw, -200px);
    top: min(-27vw, -360px);
    width: max(33vw, 426px);
  }

  .sec05_box:nth-child(2) .sec05_box_dc {
    right: min(-12vw, -170px);
    top: min(-13.85vw, -200px);
    width: max(30vw, 386px);
    aspect-ratio: 1 / 1;
  }

  .sec05_list li {
    padding: 15px 10px 15px 78px;
  }

  .sec06_item_desc h4 {
    font-size: 26px;
  }

  .sec06_item_desc .desc {
    padding: 0 20px;
  }

  .sec06_cnt {
    gap: 55px;
  }

  .sec06_item {
    width: 47%;
  }

  .sec06_item_desc {
    width: 80%;
    min-height: 386px;
    padding: 65px 15px 48px;
  }

  .sec06_item:nth-child(3) .sec06_item_desc,
  .sec06_item:nth-child(4) .sec06_item_desc {
    min-height: 415px;
  }

  .sec07_box:nth-child(1)::before {
    right: min(-4vw, -40px);
  }

  .sec07_box:nth-child(2)::before {
    left: min(-12vw, -130px);
  }

  .sec07_box .ja {
    font-size: 36px;
  }

  .sec07_box:nth-child(1) {
    padding-right: 30px;
  }

  .sec08_box:nth-child(1) .sec08_box_frame {
    padding-right: 130px;
    padding-left: 19px;
  }

  .sec08_box:nth-child(1) {
    padding-left: 40px;
  }

  .sec08_box:nth-child(1) .sec08_box_frame::before {
    width: 85px;
    height: 226px;
    left: -50px;
  }

  .sec08_box_frame::before {
    bottom: -210px;
  }


  .sec08_box:nth-child(2) .sec08_box_frame {
    padding-left: 130px;
  }

  .sec08_box:nth-child(2) .sec08_box_frame::before {
    width: 85px;
    height: 226px;
  }

  .sec09_cnt {
    gap: 30px;
  }

  .sec09_box h4 {
    margin-bottom: 10px;
  }


  .mv_txt h2 {
    margin-bottom: 10px;
  }

  .mv_desc {
    font-size: 17px;
  }

  .mv_bg_left {
    position: absolute;
    left: -96px;
    top: calc(50% - 134px);
  }

  .mv_bg_right {
    position: absolute;
    right: -45px;
  }

  .mv_box {
    margin-bottom: 10px;
  }

  .mv_box_item {
    font-size: 14px;
    padding: 0 5px 5px;
  }

  .logo_bg {
    width: 540px;
    bottom: -95px;
    left: -200px;
  }

  h1::before {
    -webkit-mask-image: radial-gradient(circle var(--circle-size, 268px) at var(--circle-x, 0) var(--circle-y, 0), rgb(50, 51, 6) 100%, transparent 101%);
    mask-image: radial-gradient(circle var(--circle-size, 268px) at var(--circle-x, 0) var(--circle-y, 0), rgb(50, 51, 6) 100%, transparent 101%);
  }

  .sec11_bg::after {
    top: -100px
  }
}


@media screen and (min-width: 751px) and (max-width: 1440px) {
  .sec01_img::before {
    width: 610px;
    height: 649px;
  }

  .sec11_bg::before {
    width: calc(100% - 30px);
  }

  .sec11_bg::after {
    right: -40px;
    width: min(max(33.6vw, 400px), 792px);
    height: min(max(45vw, 656px), 1061px);
  }

  .sec11_cnt {
    padding: 0 30px;
  }

  .sec11_cnt .ttl_h3 .ja {
    font-size: 52px;
  }

  .is_scroll nav {
    max-width: 683px;
  }

  .is_scroll .nav_list>li:nth-child(3) {
    padding: 0 25px;
  }

  .is_scroll .nav_list>li:nth-child(3)::before {
    right: 15px;
  }

  .is_scroll .nav_list>li:nth-child(3)::after {
    left: 15px;
  }

  .is_scroll .h_box .inner {
    width: 100%;
    padding: 0 10px;
  }

  .is_scroll .h_contact_tel a {
    font-size: 25px;
  }

  .is_scroll .h_contact_tel .time {
    letter-spacing: -0.05em;
  }

  /* .is_scroll .h_left, .is_scroll .h_right {max-width: 411px;} */
  .is_scroll .nav_list>li.parent>.hook {
    font-size: 14px;
  }

  .is_scroll .h_inner {
    gap: 0 15px;
  }

  .mv {
    min-height: 700px;
  }

  .mv_txt {
    padding-top: 5vh;
  }

  .mv_txt h2 {
    font-size: 30px;
  }

  .mv_box_item {
    font-size: 13px;
  }

  .mv_box {
    max-width: 585px;
    margin-bottom: 5px;
  }

  .mv_txt h2 {
    margin-bottom: 8px;
  }

  nav {
    top: 105px;
  }

  .sec11_img {
    right: calc(50% - 406px);
  }
}




/*==========================================================
                        F O O T E R
==========================================================*/
footer {
  position: relative;
  z-index: 3;
  background-color: #fffcde;
}

.ft_cnt {
  padding: 118px 0 58px;
}

.ft_cnt_frame {
  display: flex;
  justify-content: space-between;
}

.ft_cnt_frame .flogo {
  margin-bottom: 4px;
}

.ft_cnt_frame .address {
  letter-spacing: 0.09em;
  font-size: 18px;
}

.ft_iframe iframe {
  width: 100%;
}

.ft_info>*:not(:last-child) {
  margin-bottom: 23px;
}
.ft_info_ct {
	display: flex;
  gap: 30px;
	align-items: center;
}
.ft_info_tel .num {
  margin-bottom: 3px;
  line-height: 1.5em;
}

.ft_info_tel .num a {
  font-size: 42px;
  letter-spacing: 0.115em;
  font-weight: 600;
  padding-left: 43px;
  background: url("../images/ic_h_phone.png") left 2px top 20px/31px 34px no-repeat;
}

.ft_info_tel .time {
  letter-spacing: 0.085em;
}

.ft_info_mail a {
  background-color: var(--orange);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 388px;
  padding: 17px 16px 19px;
  border-radius: 33px;
  font-size: 24px;
}

.ft_info_mail a span {
  padding-left: 42px;
  position: relative;
  z-index: 1;
  background: url("../images/ic_h_mail.png") left top 7px/29px 20px no-repeat;
}

.h_contact_mail a:hover {
  background-color: var(--scolor);
  opacity: 1;
}

.ft_menu {
  margin-top: -3px;
}

.ft_menu>a,
.ft_menu .ttl {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5em;
  display: block;
}

.ft_menu .ttl {
  color: #000;
}

.ft_menu>ul {
  display: flex;
  gap: 72px;
}

.ft_menu .nav_bnr {
  align-self: center;
}

.ft_menu .nav_bnr_homes {
  margin: 12px 0 0;
  font-size: 0;
  line-height: 1;
}

.ft_menu>ul:not(:last-child) {
  margin-bottom: 20px;
}

.ft_menu>ul>li>p {
  margin-bottom: 9px;
}

.ft_map .ttl_h3 {
  margin-bottom: 55px !important;
}

address {
  font-size: 12px;
  letter-spacing: 0.06em;
  padding: 8px 15px 13px;
  ;
  color: #2f1d04;
  text-align: center;
}

/* BACK TO TOP */
.to_top {
  position: fixed;
  z-index: 9;
  width: 70px;
  height: 70px;
  bottom: 20px;
  right: 20px;
  cursor: pointer;
  transition: all .2s;
  opacity: 0;
  visibility: hidden;
  border-radius: 50%;
}

.to_top img {
  border-radius: 50%;
}

.to_top.show {
  transform: scale(1);
  opacity: 1;
  visibility: visible
}

a.underline,
a.underline:hover {
  text-decoration: underline
}

.director_box {
  background: #fffcde;
  border-radius: 40px;
  width: 640px;
  padding: 20px 35px 30px;
  overflow: hidden;
  margin: 0 auto;
  max-width: 100%;
}

.director_box .inn {
  display: flex;
  flex-wrap: wrap;
  align-items: center
}

.director_box .title {
  font-size: 30px;
  font-weight: bold;
  color: var(--mcolor);
  text-align: center;
  line-height: 1.4;
  background: url(../images/line_dot.png) left bottom repeat-x;
  width: fit-content;
  margin: 0 auto 15px;
  padding: 0 3px 10px;
  letter-spacing: 1px;
}

.director_box .cont {
  width: calc(100% - 210px);
}

.director_box .image {
  width: 180px;
  margin: 0 30px 0 0;
}

.director_box .name {
  color: #2f1d04;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 1px
}

.director_box .button {
  margin: 0 auto;
  width: 260px;
  height: 50px;
  max-width: 100%;
}

.director_box .button a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url('../images/ic-right.png') no-repeat right 15px center /39px var(--scolor);
  color: #fff;
  border-radius: 25px;
}

.director_box .button a:hover {
  background: url('../images/ic-right.png') no-repeat right 15px center /39px var(--orange);
}

/* FIREFOX ONLY */
@-moz-document url-prefix() {}

/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution: 0.001dpcm) {}

@-moz-document url-prefix() {}

/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution: 0.001dpcm) {}

.h_contact_line a {
  color: #fff;
}


.free-assessment-heading {
  font-size: 24px;
  color: #2f7628;
  font-weight: bold;
}

.free-assessment-phone {
  border: solid 1px #008730;
  padding: 10px;
  background: #f6f6f6;
  margin-bottom: 50px;
}

.free-assessment-phone-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: rgba(255, 255, 255, 0.9);
  padding: 20px;
  border-radius: 10px;
}

.free-assessment-phone-text {
  padding: 0 40px;
  border-right: solid 1px #ddd;
  margin-bottom: 0;
}

.free-assessment-phone-text a {
  background: url(../images/phone_green.png) top 18px left no-repeat;
  background-size: 20px;
  font-weight: bold;
  color: #2f7628;
  text-decoration: none;
  letter-spacing: 1px;
  font-size: 34px;
  padding: 4px 0 0px 26px;
  line-height: 1.0;
  pointer-events: none;
  cursor: text;
}

.free-assessment-phone-hours {
  padding: 0 40px;
  font-size: 18px;
}

.free-assessment-line {
  border: 2px solid #2f7628;
  padding: 25px 25px 15px;
  border-radius: 10px;
  background: #fff;
  margin-bottom: 50px;
}

.free-assessment-line-lead {
  color: #2f7628;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 5px;
}

.sp420 {
  display: none;
}

.free-assessment-line-content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  max-width: 100%;
}

.free-assessment-line-message {
  width: 100%;
  max-width: 300px;
  margin: 0 20px;
}

.free-assessment-line-message p:first-child {
  font-size: 18px;
  margin: 0 0 15px;
}

.free-assessment-line-message p:last-child {
  margin-bottom: 0;
}

.free-assessment-line-qr {
  margin: 0 20px;
}

.free-assessment-warning {
  font-weight: bold;
  font-size: 20px;
  border: #2f7628 3px solid;
  padding: 10px 20px;
  background: #f6f6f6;
  color: #2f1d04;
  text-align: center;
}

.free-assessment-area {
  margin-bottom: 40px;
}

.free-assessment-warning-link {
  color: #2f7628;
  background: -webkit-linear-gradient(transparent 50%, #fdfb00 50%, #fdfb00 90%, transparent 90%);
  background: -o-linear-gradient(transparent 50%, #fdfb00 50%, #fdfb00 90%, transparent 90%);
  background: linear-gradient(transparent 50%, #fdfb00 50%, #fdfb00 90%, transparent 90%);
}

.btn_mail_outlook .free-assessment-warning-link {
  color: #FFF;
  text-align: center;
  background: var(--orange);
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: 50px;
  position: relative;
  border-radius: 33px;
  transition: 0s;
  margin: 10px auto 0;
  padding: 5px 20px;
}

.free-assessment-line-qr {
  width: 240px;
  margin: 0 20px;
}

@media screen and (max-width: 750px) {
  .free-assessment-phone-info {
    flex-direction: column;
    padding: 10px 10px 5px 10px;
  }

  .free-assessment-phone-text {
    border-right: none;
    border-bottom: solid 1px #ddd;
  }

  .free-assessment-phone-hours {
    padding: 10px 10px;
  }

  .free-assessment-line {
    text-align: center;
  }
}