@charset "UTF-8";

:root {
  --color-green: #2E7D46;
  --color-linegreen: #43CF45;
  --color-linegackgreen: #18A01A;
  --color-pink: #E95584;
  --color-barkpink: #BF2455;
  --color-lightgreen: #E8F0E4;
  --color-darkgreen: #1A3D24;
  --color-darkestgreen: #0E2E18;
  --color-blue: #2E3B7D;
  --color-ink: #1A1A1A;
  --color-gray: #707070;
  --color-card: #ffffff;
  --radius-pill: 50px;
  --radius-md: 24px;
  --radius-sm: 10px;
  --color-gradientgreen: var(--_, linear-gradient(180deg, #1A3D24 0%, #2E7D46 50%, #5FB278 100%));
  --color-gold: var(--_,linear-gradient(97deg, #AC9417 1%, #C5B252 25.58%, #FBF3CE 50.16%, #D1C16D 74.75%, #AD961B 99.33%));
  --color-gradientblue: var(--, linear-gradient(180deg, #14205B 0%, #2E3B7D 50%, #7887D6 100%));
  --shadow-soft: 0 0 22px 1px rgba(0, 0, 0, 0.08);
  --shadow-card: 0 0 9px 1px rgba(0, 0, 0, 0.12);
  --shadow-cta: 0 0 14px 0 rgba(0, 0, 0, 0.12);
}

/*==========================
fadeIn
==========================*/
.fadeIn {
  transform: translate3d(0, -50px, 0);
  transition: 1s;
  opacity: 0;
}

.fadeIn.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.fadeIn00 {
  opacity: 0;
  transition: 2s;
}
.fadeIn00.is-show {
  opacity: 1;
}

/* common */

html{
    font-size: 62.5%;
}

body{
    font-family: 
    "Noto Sans JP","Noto Serif JP";
    font-optical-sizing: auto;
    font-weight: 600;
    color: var(--color-ink);
    font-style: normal;
    background-color: white;
    line-height: 1.5;
    overflow-x: hidden;
}

.article_header{
    overflow: hidden;
    position: relative;
}

img{
    max-width: 100%;
    height: auto;
    overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

.title_area{
  text-align: center;
}

.title_en{
  font-family: "Noto Serif JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  color: #2E7D46;
}

.title_ja{
  font-family: "Noto Serif JP";
  color: var(--color-gradientgreen);
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  color: #1A3D24;
}

/* 追従型CTAボタン */
.float-button_icon{
  width: 30px;
  height: 30px;
  margin-left: 5px;
}

.float-button_txt{
  font-size: 11px;
}
.float-button_tt{
  font-size: 12px;
}

  .float-button__wrap {
            position: fixed;
            display: flex;
            bottom: 6px;
            right: 0px;
            z-index: 10;
            width: 100%;
            z-index: 99;
            align-items: center;
            margin: 0 auto;
            height: 100px;
            text-align: center;
            justify-content: center;
            gap: 6px;
    }

    a.btn-custom02_float{
        margin-top: 0px;
        -webkit-transition: all 0.3s;
  transition: all .3s;
    }

    a.btn-custom02_float:active {
  -webkit-transform: translate(0rem, 0.75rem);
  transform: translate(0rem, 0.75rem);
}

a.btn-custom02:active:before {
  -webkit-transform: translate3d(0, 0, -1rem);
  transform: translate3d(0, 0, -1rem);
  -webkit-box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
}

.btn-custom02 {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 3rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 10rem;
  z-index: 999;
}

.btn-custom02 {
  animation:show 0.5s none;
  animation-delay: 950ms;
}

@keyframes show {
	0% {
		-webkit-transition: all 0.3s;
        transition: all 0.3s;
        background: var(--color-linegreen);
	}
	100% {
		-webkit-transform: translate(0, 0.25rem);
        transform: translate(0, 0.25rem);
	}
}

.btn-custom02.pink {
  animation:showp 0.5s none;
  animation-delay: 950ms;
}

@keyframes showp {
	0% {
		-webkit-transition: all 0.3s;
        transition: all 0.3s;
        background: var(--color-pink);
	}
	100% {
		-webkit-transform: translate(0, 0.25rem);
        transform: translate(0, 0.25rem);
	}
}

a.btn-custom02 {
  margin-bottom: 0.5rem;
  padding: 0;
  border-radius: 10rem;
  margin-top: 20px;
}

.float-button_ttg{
  text-align: left;
}

a.btn-custom02:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translate3d(0, 0.75rem, -1rem);
  transform: translate3d(0, 0.75rem, -1rem);
  border-radius: inherit;
  background: var(--color-barkpink);
  -webkit-box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

a.btn-custom02.pink:before {
  background: var(--color-barkpink);
}

a.btn-custom02:before {
  animation:show01 0.5s none;
  animation-delay: 950ms;
}

@keyframes show01 {
	0% {
    -webkit-box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
	}
	100% {
		  -webkit-transform: translate3d(0, 0.5rem, -1rem);
            transform: translate3d(0, 0.5rem, -1rem);
            -webkit-box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
            box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
            transition: all 0.3s;
	}
}

.btn-custom02-front {
  font-family: "Noto Sans JP";
  display: flex;
  position: relative;
  padding: 1rem 2.5rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: inherit;
  background: var(--color-linegreen);
  align-items: center;
}

.btn-custom02-front.phone {
  background: var(--color-pink);
}

.fa-position-left {
  position: absolute;
  top: calc(50% - 0.5em);
  left: 1rem;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 1rem;
}

a.btn-custom02:hover {
  -webkit-transform: translate(0, 0.25rem);
  transform: translate(0, 0.25rem);
  background: var(--color-linegreen);
}

a.btn-custom02.pink:hover {
  background: var(--color-pink);
}

a.btn-custom02:hover:before {
  -webkit-transform: translate3d(0, 0.5rem, -1rem);
  transform: translate3d(0, 0.5rem, -1rem);
  -webkit-box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
}

a.btn-custom02:active {
  -webkit-transform: translate(0rem, 0.75rem);
  transform: translate(0rem, 0.75rem);
}

a.btn-custom02:active:before {
  -webkit-transform: translate3d(0, 0, -1rem);
  transform: translate3d(0, 0, -1rem);
  -webkit-box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
}


@media screen and (min-width:1024px) {
   .float-button__wrap {
        display: none;
    }

    .title_en{
  font-size: 18px;
}

.title_ja{
  font-size: 24px;
}
}

/* nav Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 0.15s ease-out, box-shadow 0.15s ease-out,
    background-color 0.15s ease-out, color 0.15s ease-out, border-color 0.15s ease-out;
}

.btn-custom01 {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 3rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 10rem;
  z-index: 999;
}

.btn-custom01 {
  animation:show 0.5s none;
  animation-delay: 950ms;
}

@keyframes show {
	0% {
		-webkit-transition: all 0.3s;
        transition: all 0.3s;
        background: var(--color-linegreen);
	}
	100% {
		-webkit-transform: translate(0, 0.25rem);
        transform: translate(0, 0.25rem);
	}
}

.btn-custom01.pink {
  animation:showp 0.5s none;
  animation-delay: 950ms;
}

@keyframes showp {
	0% {
		-webkit-transition: all 0.3s;
        transition: all 0.3s;
        background: var(--color-pink);
	}
	100% {
		-webkit-transform: translate(0, 0.25rem);
        transform: translate(0, 0.25rem);
	}
}

a.btn-custom01 {
  margin-bottom: 0.5rem;
  padding: 0;
  border-radius: 10rem;
  margin-top: 20px;
}

a.btn-custom01:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translate3d(0, 0.75rem, -1rem);
  transform: translate3d(0, 0.75rem, -1rem);
  border-radius: inherit;
  background: var(--color-linegackgreen);
  -webkit-box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

a.btn-custom01.pink:before {
  background: var(--color-barkpink);
}

a.btn-custom01:before {
  animation:show01 0.5s none;
  animation-delay: 950ms;
}

@keyframes show01 {
	0% {
    -webkit-box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
	}
	100% {
		  -webkit-transform: translate3d(0, 0.5rem, -1rem);
            transform: translate3d(0, 0.5rem, -1rem);
            -webkit-box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
            box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
            transition: all 0.3s;
	}
}

.btn-custom01-front {
  font-family: "Noto Sans JP";

  position: relative;
  display: block;
  padding: 1rem 3rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: inherit;
  background: var(--color-linegreen);
}

.btn-custom01-front.phone {
  background: var(--color-pink);
}

.btn-custom01-front.phone::before{
  content: '';/*何も入れない*/
  display: inline-block;
  width: 21px;/*画像の幅*/
  height: 21px;/*画像の高さ*/
  background-image: url(../images/phone.png);
  background-size: contain;
  vertical-align: bottom;
  background-repeat: no-repeat;
  margin-right: 10px;
}

.btn-custom01-front.line::before{
  content: '';/*何も入れない*/
  display: inline-block;
  width: 22px;/*画像の幅*/
  height: 22px;/*画像の高さ*/
  background-image: url(../images/line.png);
  background-size: contain;
  vertical-align: sub;
  margin-right: 10px;
  background-repeat: no-repeat;
}

.fa-position-left {
  position: absolute;
  top: calc(50% - 0.5em);
  left: 1rem;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 1rem;
}

a.btn-custom01:hover {
  -webkit-transform: translate(0, 0.25rem);
  transform: translate(0, 0.25rem);
  background: var(--color-linegreen);
}

a.btn-custom01.pink:hover {
  background: var(--color-pink);
}

a.btn-custom01:hover:before {
  -webkit-transform: translate3d(0, 0.5rem, -1rem);
  transform: translate3d(0, 0.5rem, -1rem);
  -webkit-box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
}

a.btn-custom01:active {
  -webkit-transform: translate(0rem, 0.75rem);
  transform: translate(0rem, 0.75rem);
}

a.btn-custom01:active:before {
  -webkit-transform: translate3d(0, 0, -1rem);
  transform: translate3d(0, 0, -1rem);
  -webkit-box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
}

/* header */
.article_header{
  overflow-x: hidden;
  overflow: hidden;
}

.header{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 999;
  position: sticky;
  top: 0;
  z-index: 999;
  background: #ffffffcc;
}

.logo{
    display: flex;
    align-items: center;
}

.header_topic,
.nav_logo,.header_logo{
    display: block;
}

.header_topic,
.nav_logo{
    margin: 14px 0px 14px 20px;
    color: var(--color-green);
    font-size: 12px;
}

/* nav */

.nav_btn,
.header_btn{
    width: 47px;
}

.nav_cta{
  width: 227px;
    height: 40px;
    padding: 10px 19px;
    font-size: 14px;
    font-weight: 700;
    justify-content: center;
     margin: 18px auto 0px auto;
    text-align: center;
}


/*============
nav
=============*/
nav {
  display: block;
  position: fixed;
  top: 0;
  left: -300px;
  bottom: 0;
  width: 311px;
  background:var(--color-green);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 3;
  opacity: 0;
}
.open nav {
  left: 0;
  opacity: 1;
  z-index: 1000;
  display: block;
}
nav .inner {
  padding: 25px;
}
nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav .inner ul li {
  position: relative;
  margin: 0;
  border-bottom: 2px solid var(--color-card);
}
nav .inner ul li a {
    display: block;
    color:var(--color-card);
    font-size: 14px;
    padding: 1em;
    font-weight: 600;
    text-decoration: none;
    transition-duration: 0.2s;
}

@media screen and (max-width: 767px) {
  nav {
    left: -300px;
    width: 311px;
  }
}
/*============
.toggle_btn
=============*/
.toggle_btn {
display: block;
    position: fixed;
    top: 8px;
    right: 18px;
    width: 30px;
    height: 30px;
    transition: all .5s;
    cursor: pointer;
    z-index: 3;
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: var(--color-green);
  border-radius: 4px;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
  top: 4px;
}
.toggle_btn span:nth-child(2) {
  top: 14px;
}
.toggle_btn span:nth-child(3) {
  bottom: 4px;
}
.open .toggle_btn span {
  background-color: #fff;
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(10px) rotate(-315deg);
  transform: translateY(10px) rotate(-315deg);
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
  -webkit-transform: translateY(-10px) rotate(315deg);
  transform: translateY(-10px) rotate(315deg);
}
/*============
#mask
=============*/
#mask {
  display: none;
  transition: all .5s;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .8;
  z-index: 2;
  cursor: pointer;
}


/* .header PC */
@media screen and (min-width:1024px) {

  a.btn-custom01 {
    margin-top: 0px;
}

  nav {
  display: block;
  position: fixed;
  top: 0;
  left: -300px;
  bottom: 0;
  width: 311px;
  background:#ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 3;
  opacity: 1;
}

nav .inner ul li{
      border-bottom: 0px solid var(--color-card);
}

nav .inner ul li a {
    display: block;
    color:#2F2F2F;
    font-size: 70%;
    padding: 8px;
    font-weight: 600;
    text-decoration: none;
    transition-duration: 0.2s;
    display: inline-block;
  position: relative;
  overflow: hidden;
  border-bottom: 3px solid #ffffff;
  margin: 0px 0px 0px 0px;
}
nav .inner ul li a:hover {
  color:#2E7D46;
  border-bottom: 2px solid #2E7D46;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
}

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

.inner ul{
  display: flex;
}


    .header_topic {
        width: 109px;
        margin: 0px 0px 10px 33px;
    }

    .header_logo{
    width: 90px;
    margin: 20px 0px 10px 10px;
    }

    nav{
        background: transparent;
        width: auto;
        height: auto;
        padding: 0;
        position: static;
        transform: translateX(0);
    }

    .toggle_btn {
        display: none;
    }

    .nav_cta{
      width: 54%;
    }

    .btn.nav_cta{
        margin: 0px 0px;
        text-align: center;
        font-size: 75%;
        color: #FFF;
    }

.header-cta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0px 10px;
}

nav .inner {
    padding: 16px;
}

}

@media screen and (min-width:1340px) {
    nav .inner ul li a {
        padding: 10px;
    }
}

/* Hero */

.mainImg_sp{
  display: block;
  position: relative;
}

.mainImg_pc{
  display: none;
}

.hero-cta {
    margin: 0 auto;
    width: 100%;
    background-color: var(--color-green);
    padding: 10px 20px 31px;
}

.hero-cta-row {
   padding: 1em 1.5em;
    background-color: #ffffff;/*背景色*/
    box-shadow: 0 0 0 4px #ffffff;/*背景色外側*/
    border:  2px solid;/*線*/
    border-image: linear-gradient(to right, #AC9417, #C5B252, #FBF3CE, #AC9417, #C5B252) 1;
    border-radius: 1px;/*角の丸み*/
}

.ctaline{
margin: 0; 
    padding: 0;
}


.btn_cta {
  margin: 0 auto;
  border-radius: 5px;
  display: block;
  background-color: var(--color-pink);
  width: 100%;
    padding: 10px 19px;
    font-size: 14px;
    font-weight: 700;
    justify-content: center;
    box-shadow: 0px 4px 0px 0px #BF2455;
    text-align: center;
}

.btn_cta.green {
  background-color: var(--color-linegreen);
  box-shadow: 0px 4px 0px 0px #18A01A;
  margin-top: 10px;
}

.flex_btn{
  display: flex;
  align-items: center;
  margin: 0 auto;
  justify-content: center;
  margin-top: 5px;
}

.hero-cta_tt{
  color: #FFF;
}

.hero-cta_txt{
  color: var(--color-pink);
    background-color: #fff;
    padding: 5px;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin: 3px 37px;
}

.hero-cta_number{
  color: #fff;
  text-align: center;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.btn-pill-icon{
  width: 22px;
  height: 22px;
  margin-right: 5px;
}

.hero-cta_txt2{
  color: #FFF;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}

.hero-cta_line{
  color: #FFF;
  font-size: 17px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}


/* .header PC */
@media screen and (min-width:1024px) {

    .mainImg_sp{
  display: none;
  
}

.mainImg_pc{
  display: block;
  width: 100%;
}

.hero-cta {
    padding: 10px 167px 31px;
}

.hero-cta-row{
  display: flex;
        align-content: center;
        justify-content: center;
}

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

.hero-cta_txt {
    margin: 3px 7px;
}

.btn_cta {
  margin: 10px;
    width: 320px;
}

.hero-cta_txt2 {
    margin-top: 9px;
    font-size: 17px;
}

.hero-cta_line {
    font-size: 28px;
}

.hero-cta_number {
    font-size: 32px;
}

.btn-pill-icon {
    width: 30px;
    height: 30px;
    margin-right: 7px;
}

.flex_btn {
  margin-top: 0px;
}

}

/* Issues */

.issues{
  background: #ffffff;
}

.issues-inner{
	background-image: url(../images/issues01.png);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 375px;
  margin: 10px;
  padding: 29px 4.5px 69px;
  margin-inline: auto;
}

.issues_list{
  margin: 16px 24px;
    text-align: center;
}

.issues_item{
  display: flex;
  align-items: center;
    background-color: #fff;
    border-radius: 50px;
    margin-top: 12px;
        padding: 9px 16px;
}

.check{
  width: 18px;
    height: 18px;
  margin-left: 3px;
}

.issues_txt{
  margin-left: 8px;
  font-size: 14px;
  text-align: left;
}

.issues_imgpc{
  display: none;
}

@media screen and (min-width:1024px) {

  .issues-inner {
    background-image: url(../images/issues01pc.png);
    background-repeat: no-repeat;
    background-size: 100%;
    width: 700px;
    margin: 10px;
    padding: 29px 2.6px 69px;
    margin-inline: auto;
}

  .issues_txt {
            margin-left: 9px;
        font-size: 15px;
}

.issues_imgpc{
  display: block;
}

.issues_imgsp{
  display: none;
}

    .issues_list {
        margin: 10px 131px;
    }

.issues_item {
    padding: 10px 21px;
    margin-top: 12px;
}

.check {
    width: 20px;
    height: 20px;
    margin-left: 10px;
}


}

/* Slove */

.solve_img{
    margin: 10px auto;
    max-width: 355px;
    overflow: hidden;
    display: block;
}

  .solve_imgpc {
    display: none;
}

@media screen and (min-width:1024px) {
  .solve_img {
    display: none;
}

  .solve_imgpc {
    margin: 10px auto;
    max-width: 355px;
    overflow: hidden;
    display: block;
    max-width: 516px;
    display: block;
}

}

/* Reasons */

.reason{
  margin-top: 20px;
}


.tt_b{
  font-size: 50px;
  font-weight: 400;
  background: var(--_, linear-gradient(180deg, #1A3D24 0%, #2E7D46 50%, #5FB278 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.reason_txtg{
  padding: 10px 20px;
}

.reason_imgg{
  padding: 0px 14px;
}

.reasons_pc_flex{
  margin-top: 20px;
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
}

.reason_back{
  position: absolute;
  top: -26px;
  left: 189px;
  width: 100%;
  height: 100%;
  z-index: -2;
  overflow: hidden;
}

.reason_back.b{
  top: -26px;
  left: -104px;
}

.reason_back.d{
  top: -26px;
  left: -104px;
}

.reason_number{
  width: 92px;
}

.reason_tt{
  font-family: "Noto Serif JP";
  font-size: 26px;
  font-weight: 500;
  background: var(--_, linear-gradient(180deg, #1A3D24 0%, #2E7D46 50%, #5FB278 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  border-bottom: 1.5px solid #FF8787;
  border-image: linear-gradient(30deg, #AC9417, #C5B252, #FBF3CE, #D1C16D, #AD961B) 1;
}

.reason_txt{
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 25px;
  margin: 10px auto;
}

.flex{
  display: flex;
  align-items: center;
  gap: 10px;
}

.flex p {
  border: 1px solid #2E7D46;
background: #FAFFF8;
color: var(--color-ink);
font-size: 10px;
font-weight: 500;
line-height: 16px; /* 160% */
padding: 3px 5px;
}

@media screen and (min-width:1024px) {
  .tt_b {
    font-size: 50px;
}

.reason{
  margin-top: 30px;
}

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

.reason_img{
  width: 401px;
  height: 100%;
}

.reason_txtg{
  width: 496px;
  height: 100%;
}

.reason_tt{
    font-size: 31px;
}

.reason_txt{
    font-size: 16px;
    line-height: 2.5rem;
}

.reason_number {
    width: 120px;
}

.reason_back {
    top: -2px;
    left: 952px;
    width: 377px;
    height: 226px;
}

.flex p {
    font-size: 14px;
    padding: 5px 10px;
}

    .reason_back {
        top: -11%;
        left: 63%;
        width: 377px;
        height: 215px;
    }

.reason_back.b {
        top: -19px;
        left: 45%;
    }

.reason_back.d{
    top: 4px;
    left: 45%;
}



}

/* plan */

.plan{
  background: #E8F0E4;
  padding: 30px;
  margin: 20px auto;
}

.subtitle_ja{
  font-size: 15px;
  margin: 7px auto;
  font-weight: 400;
}

.wrapper {
  padding: 2.5rem 1rem 0rem;
}

/* カード共通 */
.plan-card {
  position: relative;
  width: 270px;
  margin: 0 auto 32px;
}

.shadow-wrap {
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.10));
}

.plan-inner {
  position: relative;
  background: #fff;
  padding: 0;
  clip-path: polygon(20px 0%, 100% 0%, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0% 100%, 0% 20px);
  display: flex;
  flex-direction: column;
}

/* ヘッダー */
.plan-header {
  padding: 14px 16px 12px;
  text-align: center;
  flex-shrink: 0;
}

.plan-header.green { background: #3a6e3a; }
.plan-header.navy  { background: #3a6e3a; }

.plan-header span {
  font-family: "Noto Serif JP";
  font-size: 23px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.05em;
}

/* ボディ（価格＋リストのグループ） */
.plan-body {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 20px;
}

.plan-body-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  width: 100%;
}

/* 価格エリア */
.price-group {
  text-align: center;
  width: 100%;
}

.price-row {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
}

.label { font-size: 13px; color: #3a6e3a; }
.num   { font-size: 42px; font-weight: 600; color: #3a6e3a; line-height: 1; }
.unit  { font-size: 16px; color: #3a6e3a; font-weight: 500; }

.navy-card .label { color: #3a6e3a; }
.navy-card .num   { color: #3a6e3a; }
.navy-card .unit  { color: #3a6e3a; }

.gold-line {
  margin: 8px 20px 0;
  height: 2px;
  background: linear-gradient(to right, #f0d060, #c8860a, #f5e07a, #c8860a, #f0d060);
}

/* リストエリア */
.plan-list-wrap {
  display: flex;
  justify-content: center;
  width: 100%;
}

.plan-list {
  list-style: none;
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
}

.plan-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #2a2a2a;
  white-space: nowrap;
}

.plan-list li .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3a6e3a;
  flex-shrink: 0;
}

.plan-list li.note {
  font-size: 8px;
  color: #888;
  white-space: normal;
  padding-left: 16px;
  line-height: 1.6;
}

/* 家族葬プラン＋のドット色 */
.navy-card .plan-list li .dot {
  background: #3a6e3a;
}

/* SVGボーダー */
.plan-svg {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 4;
  overflow: visible;
}

/* バッジ画像 */
.badge-img {
  position: absolute;
  top: -20px;
  left: -20px;
  width: 80px;
  height: 80px;
  object-fit: contain;
  z-index: 10;
}

/* ＋ 区切り */
.plus-divider {
  text-align: center;
  font-size: 24px;
  color: #888;
  margin: 0 auto 16px;
  width: 270px;
}

.planother{
  text-align: center;
}

.planother_tt{
font-size: 16px;
font-weight: 500;
}

.planother_txt{
font-size: 14px;
font-weight: 500;
margin-top: 3px;
}

@media screen and (min-width:1024px) {
  .subtitle_ja {
    font-size: 15px;
    margin-top: 9px;
}

.plan_flex{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 33px;
}

.plan-card {
    width: 270px;
    margin: 0 0px 32px;
}

.plus-divider {
    margin: 0px;
    width: 32px;
}

.plan-header span {
    font-size: 18px;
}

.plan-body {
    align-items: flex-start;
}

.planother_tt {
    font-size: 13px;
}

.planother_txt {
    font-size: 12px;
}

.plan-inner{
  height: 281px;
}

}


/* =============================
   LINEバナー
============================= */
.line-card {
  margin: 0 auto;
  width: 340px;
  background: #18652F;
  border-radius: 5px;
  overflow: hidden;
  filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.15));
}

.line-header {
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.line-header span {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
}

.line-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: 6px;
}

.line-body {
  background: #ffe800;
  margin: 0 10px;
  border-radius: 5px;
  padding: 20px 24px 24px;
  text-align: center;
}

.line-lead {
  font-size: 16px;
  font-weight: 700;
  color: #222;
  margin-bottom: 12px;
}

.line-off-box {
  background: #18652F;
  border-radius: 5px;
  padding: 10px 24px;
  display: inline-block;
  margin-bottom: 11px;
}

.line-num {
  font-size: 52px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  letter-spacing: -1px;
  margin-right: 2px;
}

.line-off {
  font-size: 28px;
  font-weight: 700;
  color: #fff;
}

.line-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #43CF45;
  color: #fff;
  text-decoration: none;
  border-radius: 50px;
  padding: 14px 28px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: 0 6px 0 #18A01A;
  position: relative;
  top: 0;
  transition: top 0.1s, box-shadow 0.1s;
}

.line-btn:hover {
  background: #18A01A;
}

.btn-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
  border-radius: 5px;
}

.line-note {
  font-size: 16px;
  color: #555;
  margin-top: 14px;
}

.line-footer {
  height: 10px;
}

@media screen and (min-width:1024px){
  .line_flex{
    display: flex;
    justify-content: center;
        align-items: center;
  }

  .line-btn {
    font-size: 19px;
}

.line-header span {
    font-size: 22px;
}

.line-lead {
    font-size: 22px;
    margin-right: 5px;
}

.line-num {
    font-size: 47px;
}

.line-off {
    font-size: 27px;
}

.line-note {
    font-size: 13px;
}

.line-card {
    width: 566px;
}

.line-icon {
    width: 35px;
    height: 35px;
}

}

/* =============================
  maincta
============================= */
.consult-card {
  margin-bottom: -5px;
  margin-top: 15px;
  width: 100%;
  height: 100%;
  padding: 28px 24px;
  text-align: center;
  background-image: url(../images/ctaimg.png);
  background-repeat: round;
}

.consult-tags {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.tagg {
  background: rgb(255, 255, 255);
  color: linear-gradient(180deg, #1A3D24, #2E7D46 , #5FB278);
  padding: 6px 1px;
  border-radius: 4px;
  border: 1.5px solid #FF8787;
  border-image: linear-gradient(30deg, #AC9417, #C5B252, #FBF3CE, #D1C16D, #AD961B) 1;
}

.tag {
  font-family: "Noto Serif JP";
  background: var(--_, linear-gradient(180deg, #1A3D24 0%, #2E7D46 50%, #5FB278 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  font-size: 21px;
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 4px;
}

.consult-title {
  font-family: "Noto Serif JP";
  margin-bottom: 7px;
  color: #FFF;
text-align: center;
font-size: 19px;
font-weight: 500;
}

.consult-divider {
  width: 250px;
  height: 1.5px;
  background:linear-gradient(30deg, #AC9417, #C5B252, #FBF3CE, #D1C16D, #AD961B);
  margin: 0 auto 11px;
}

.consult-body {
  margin-bottom: 9px;
  color: #FFF;
text-align: center;
font-family: "Noto Sans JP";
font-size: 14px;
font-weight: 500;
line-height: 23px; /* 150% */
}

.consult-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #3a6e3a;
  text-decoration: none;
  padding: 6px 20px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  transition: opacity 0.2s;
  border-radius: 50px;
  border: 1px solid var(--GOLD, #AC9417);
  background: #FFF;
  box-shadow: 0 4px 4px 0 #FFFED5 inset, 0 -2px 4px 0 #B1A646 inset;
}

.consult-arrow {
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 4px;
}

@media screen and (min-width:1024px){
  .consult-card {
  margin-bottom: -5px;
  margin-top: 15px;
  width: 100%;
  height: 100%;
  padding: 69px 24px;
  text-align: center;
  background-image: url(../images/ctaimgpc.png);
  background-repeat: round;
}

.maincta_flex{
  display: flex;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.brsp{
  display: none;
}

.consult-btn {
    padding: 0px 36px;
    font-size: 20px;
    border-radius: 50px;
}

.consult-arrow {
    font-size: 45px;
    margin-bottom: 9px;
}

.consult-body {
    margin-bottom: 9px;
    font-size: 15px;
    line-height: 25px;
}

.consult-divider {
    width: 606px;
    margin: 0 auto 17px;
}

.consult-title {
    margin-bottom: 7px;
    font-size: 19px;
}

.tag {
    font-size: 21px;
    padding: 6px 16px;
}

}


/* comparison */

.comparison-inner{
    width: 100%;
    padding: 28px 24px;
    text-align: center;
    background-image: url(../images/backgraound.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.wrap {
  padding: 1rem;
  border-radius: 8px;
  display: inline-block;
}

.tbl-outer {
  position: relative;
  display: inline-block;
  width: 300px;
}

table {
  width: 300px;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 10px;
  border: 2px solid #3a6e3a;
  background: #fff;
}

thead tr th {
  padding: 8px 4px;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  font-size: 10px;
  background: #fff;
  border-bottom: 1px solid #3a6e3a;
  color: #222;
}

thead tr th:nth-child(3),
thead tr th:nth-child(4) {
  border-left: 1px solid #3a6e3a;
}

thead tr th.hl {
  background: #fffce0;
  line-height: 1.6;
}

.hl {
  background: #fffce0;
  font-weight: 700;
  color: #1a1a1a;
  padding: 8px 4px;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px dashed #3a6e3a;
  font-size: 10px;
}

.comparison_subtt{
  padding: 8px 4px;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px dashed #3a6e3a;
  color: #1a1a1a;
  font-size: 10px;
  background: #fff;
}

.comparison_subtt:first-child {
  text-align: left;
  padding-left: 8px;
}

.comparison_subtt:nth-child(3) {
  border-left: 1px solid #3a6e3a;
}

.comparison_subtt:nth-child(4) {
  border-left: 1px solid #3a6e3a;
}

.hl:first-child {
  text-align: left;
  padding-left: 8px;
}

.hl:nth-child(3) {
  border-left: 1px solid #3a6e3a;
}

.hl:nth-child(4) {
  border-left: 1px solid #3a6e3a;
}

.gold-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

@media screen and (min-width:1024px){
  thead tr th {
    font-size: 15px;
}

.hl {
    font-size: 15px;
}

.comparison_subtt {
    font-size: 15px;
}

.tbl-outer {
    width: 100%;
}

table {
    width: 442px;
}

.wrap {
    margin-top: 20px;
}

}



/* flow */

.title_en.flow{
  color: #fff;
}

.title_ja.flow{
  color: #fff;
}

.flow-flex{
  padding: 28px 24px;
    margin: 0 auto;
}

.flow-inner{
  background: #2E7D46;
  padding: 28px 24px;
  margin: 0 auto;
}

.flow-outer {
  display: flex;
  justify-content: center;
}

.flow-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.flow-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.flow-card-wrap {
  position: relative;
}

.flow-card-shadow {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 100%;
  height: 100%;
  background: linear-gradient(97deg, #AC9417 1%, #C5B252 25.58%, #FBF3CE 50.16%, #D1C16D 74.75%, #AD961B 99.33%);
  clip-path: polygon(0% 0%, calc(100% - 16px) 0%, 100% 16px, 100% 100%, 16px 100%, 0% calc(100% - 16px));
  z-index: 0;
}

.flow-card {
  width: 333px;
  background: #fff;
  padding: 16px 20px;
  position: relative;
  z-index: 1;
  clip-path: polygon(0% 0%, calc(100% - 16px) 0%, 100% 16px, 100% 100%, 16px 100%, 0% calc(100% - 16px));
}

.flow-card-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.flow-num {
  color: rgba(46, 125, 70, 0.65);
font-family: "Noto Serif JP";
font-weight: 400;
  font-size: 47px;
  line-height: 1;
  flex-shrink: 0;
  width: 52px;
  text-align: center;
}

.flow-text {
  flex: 1;
  text-align: left;
}

.flow-card-title {
  margin-bottom: 5px;
  color: #2E7D46;
font-family: "Noto Serif JP";
font-size: 18px;
font-weight: 600;
}

.flow-card-body {
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-weight: 400;
  line-height: 20px; /* 150% */
}

.flow-connector {
  width: 2px;
  height: 28px;
  background: #fff;
  flex-shrink: 0;
}

.brpc{
  display: none;
}

@media screen and (min-width:1024px){

  .flow-outer {
    padding: 0px;
    position: relative;
    display: block;
}
.flow-outer::before{
        position: absolute;
        display: block;
        content: "";
        width: 93%;
        height: 2px;
        background-color: #fff;
        top: 50%;
        left: 36px;
}

  .flow-flex{
    display: flex;
}

.flow-card-inner{
  display: block;
  align-items: center;
}

.flow-text {
    text-align: center;
    margin: 0 auto;
}

.flow-num {
    font-size: 40px;
    text-align: center;
    margin: 0 auto;
}

.flow-card-title {
    font-size: 17px;
    margin-top: 10px;
}

.flow-card-body {
    font-size: 14px;
    line-height: 21px;
    margin-top: 10px;
}

.flow-card {
        width: 178px;
        height: 208px;
}

.flow-item {
    margin: 0px 9px;
}

.flow-connector{
  display: none;
}

.brpc{
  display: block;
}

.flow-card-body.first{
  margin-top: 1px;
}

}


/* facility */

.facility-inner{
  width: 100%;
    padding: 28px 24px;
    text-align: center;
    background-image: url(../images/backgraound.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.facility_img{
  margin-top: 15px;
}

.facility_flex{
  display: flex;
}

.facility_map{
  text-align: left;
  margin: 15px 15px;
}

.facility_tt{
font-size: 18px;
font-weight: 500;
color: var(--color-ink);
}

.facility_txt{
  font-size: 17px;
  font-weight: 400;
  margin-top: 2px;
  -webkit-background-clip: text;
  border-bottom: 1.5px solid #2E7D46;
}

.map{
    margin-top: 10px;
    width: 100%;
    height: 200px;
    overflow: hidden;
}

@media screen and (min-width:1024px){
  .facility_img{
    display: flex;
    justify-content: center;
        align-items: center;
  }

  .facility-inner {
    padding: 28px 67px;
}

.facility_tt {
    font-size: 16px;
}

.facility_txt {
    font-size: 14px;
}

.facility_map {
    margin: 15px 114px;
}

.map{
  margin-top: 10px;
  height: 300px;
}

}


/* FAQ */

.fa-inner{
  padding: 28px 24px;
  background: #2E7D46;
}

.title_en.fa{
  color: #fff;
}

.title_ja.fa{
  color: #fff;
}

.qa-7 {
    max-width: 500px;
    margin: 10px auto;
    border: none;
    border-radius: 5px;
    box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);
    background-color: #fff;
}

.qa-7 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #2F2F2F;
    font-weight: 600;
    cursor: pointer;
    font-size: 15px;
    list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

.qa-7 summary::before,
.qa-7 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-7 p::before {
    position: absolute;
    left: 0.5em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-7 summary::before {
    color:#2E7D46;
    content: "Q";
}

.qa-7 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.qa-7[open] summary::after {
    transform: rotate(225deg);
}

.qa-7 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
        padding: .3em 2.3em 1.5em;
    color: #2F2F2F;
    transition: transform .5s, opacity .5s;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 400;
}

.qa-7[open] p {
    transform: none;
    opacity: 1;
    border-top: 1.5px solid #2E7D46;
    margin: 0rem 1rem;
}

.qa-7 p::before {
    color:#2E3B7D;
    line-height: 1.2;
    content: "A";
}

.faq {
  padding: 29px 10px;
  background: var(--color-yellow);
  overflow-x: hidden;
  margin-top: 30px;
}

.faq-inner {
  width: min(868px, 100% - 32px);
  margin-inline: auto;
}

.faq-head{
  margin:  0 auto;
  text-align: center;
      margin-bottom: 17px;
}

.faq-title{
    font-size: 20px;
    font-weight: 600;
      color: var(--color-card);
}

.faq-sub {
  margin: 10px 0 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-card);
}



@media screen and (min-width:1024px){

  .faq {
    padding: 54px 10px;
}

.faq-title{
  font-size: 33px;
}

.faq-sub{
  font-size: 20px;
}

.qa-7 {
    max-width: 740px;
    margin: 18px auto;
}

.qa-7 summary {
    font-size: 16px;
}

.qa-7 p {
    font-size: 16px;
}

.faq-head {
    margin-bottom: 35px;
}

.qa-7[open] p {
    margin: 0rem 3rem;
    padding-top: 11px;
}

.qa-7 summary {
    padding: 1em 3em 1em 4em;
}

.qa-7 summary::before{
    left: 1.8em;
}

}

/* contact */

.contact-inner{
  padding: 28px 0px;
}

.contact_cta{
  margin-top: 20px;
}

.hero-cta-row.contact{
    border: 0px solid;
}

.formtt{
  color: #2E7D46;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 500;
}

.form{
  border-radius: 4px;
  background: #E8F0E4;
}

.formTable tr th{
  color: var(--, #1A1A1A);
font-family: "Noto Sans JP";
font-size: 10px;
font-style: normal;
font-weight: 500;
line-height: 23.5px; 
background: #E8F0E4;
}

#formWrap {
	width:700px;
	margin:0 auto;
	line-height:120%;
	font-size:90%;
  table-layout: fixed;
    font-size: 10px;
    border: 0px solid #3a6e3a;
    border-radius: 4px;
    padding: 30px 30px;
    text-align: center;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
  border: 0px;
  background-color: #ffffff00;
  margin-top: 17px;
}

table.formTable th{
	font-weight:normal;
	text-align:left;
}

input{
  border: 2px solid #3a6e3a;
    color: #333;
    font-size: 10px;
    background: #fff;
    text-align: left;
}

table.formTable th, table.formTable td {
	display:block;
}

table.formTable td .form_check {
  margin:  0 auto;
  text-align: center;
}

tr {
    width: 271px;
}


#formWrap {
	width: 88%;
  margin: 20px auto;
}

table.formTable th {
	border-bottom:0;
}
form input[type="text"], form textarea {
	width:100%;
	padding:5px;
	font-size:110%;
    border: 1.5px solid #3a6e3a;
    color: #333;
    font-size: 16px;
    background: #fff;
    text-align: left;
    border-radius: 5px;
}
form input[type="submit"], form input[type="reset"], form input[type="button"] {
	display:block;
	width:100%;
	height:40px;
}

input:-internal-autofill-selected {
    background-color: light-dark(rgb(232, 254, 236), rgba(70, 90, 126, 0.4)) !important;
}

input[type="checkbox" i] {
    background-color: initial;
    cursor: default;
    appearance: auto;
    box-sizing: border-box;
    padding: initial;
    border: initial;
    margin: 3px 3px 3px 4px;
}

td {
  margin-bottom: 14px;
  font-size: 13px;
}

.submit-btn{
  width: 226px;
  height: 49px;
  border-radius: 100px;
  background: #2E7D46;
  box-shadow: 0 3px 4px 0 #5ABC78 inset, 0 -4px 4px 0 #18652F inset;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 23.5px; 
}

.formtxt{
font-size: 13px;
    line-height: 18px;
    margin-top: 10px;
    text-align: center;
    font-weight: 400;
}

/* 個人情報の取り扱いについて */

.form-7 {
    max-width: 300px;
    margin: 10px auto;
    border: none;
    border-radius: 5px;
}

.form-7 summary {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 0.5em 2em 0.5em 3em;
    color: var(--color-green);
    font-weight: 600;
    cursor: pointer;
    font-size: 12px;
    list-style: none;
    background-color: #f4f8bb;
    border-radius: 41px;
    z-index: 10;
    border: 1.5px solid;
}

summary::-webkit-details-marker {
  display: none;
}

.form-7 summary::before,
.form-7 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.form-7 p::before {
    position: absolute;
    left: 0.5em;
    font-weight: 600;
    font-size: 1.3em;
}

.form-7 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    margin-top: 1px;
    border-bottom: 3px solid #2E7D46;
    border-right: 3px solid #2E7D46;
    content: '';
    transition: transform .5s;
}

.form-7[open] summary::after {
    transform: rotate(225deg);
}

.form-7 div {
    position: relative;
    transform: translateY(-10px);
    margin: -6px 1px;
    padding: 1rem 2rem;
    color: #1A1A1A;
    transition: transform .5s, opacity .5s;
    border: 1.5px solid #18652F;
    background-color: #ffffff;
    z-index: 1;
}

.form-7[open] .footer-innertxt {
    transform: none;
    opacity: 1;
    border-bottom: 1.5px solid #2E7D46;
    font-size: 10px;
    line-height: 1;
    font-weight: 500;
    margin-top: 3px;
    padding-bottom: 3px;
}

.form-innertt{
  font-size: 10px;
  margin-top: 10px;
  line-height: 1.3;
}

.form-innertxt{
  font-size: 10px;
  margin-top: 10px;
  line-height: 1.3;
}

.formTable tr th {
    font-size: 14px;
}

@media screen and (min-width:1024px){
  table.formTable{
    width:64%;
    margin:0 auto;
    border-collapse:collapse;
    border: 0px;
    background-color: #ffffff00;
    margin-top: 17px;
  }

  .form-7 {
    max-width: 540px;
}

.form-innertt {
    font-size: 12px;
    margin-top: 15px;
    line-height: 1.5;
}

.form-innertxt {
    font-size: 12px;
    margin-top: 15px;
    line-height: 1.5;
}

.formTable tr th {
    font-size: 12px;
}

.form-7 summary {
    font-size: 12px;
}

td {
    margin-bottom: 12px;
}

table {
    font-size: 12px;
}

.formtxt {
    font-size: 10px;
}

#formWrap {
    width: 65%;
    margin: 20px auto;
}

}

/* bottom CTA */

.cta02{
  position: relative;
}

.bottom-cta-img{
  width: 375px;
    height: 316px;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    position: relative;
    margin: 0 auto;
}

.bottom-cta-row{
      margin-top: 10px;
    position: absolute;
    top: 82%;
    left: 35%;
    width: 300px;
    height: 200px;
    transform: translate(-50%, -50%);
}

.bottom_cta {
    margin: 0 auto;
    border-radius: 50px;
    display: block;
    background-color: var(--color-pink);
    width: 200px;
    padding: 10px 10px;
    font-size: 10px;
    font-weight: 600;
    justify-content: center;
    box-shadow: 0px 4px 0px 0px #BF2455;
    text-align: center;
}

.bottom_cta.green {
    background-color: var(--color-linegreen);
    box-shadow: 0px 4px 0px 0px #18A01A;
    margin-top: 3px;
}

.bottom-icon {
    width: 22px;
    height: 22px;
    margin-right: 5px;
}

.bottom-cta_txt2{
  color: #FFF;
  text-align: center;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin-top: 10px;
}

.bottom-cta_line{
  color: #fff;
  font-size: 14px;
}

  .bottom-cta-imgpc{
    display: none;
  }

  @media screen and (min-width:534px){
        .bottom-cta-row {
    left: 44%;
}

  }

@media screen and (min-width:1024px){
  .bottom-cta-img{
    display: none;
  }
  .bottom-cta-imgpc{
    display: block;
  }

      .bottom-cta-imgpc {
        display: block;
        background-repeat: no-repeat;
        background-size: cover;
        display: block;
        position: relative;
        margin: 0 auto;
        width: 100%;
        height: 100%;
    }

  .bottom-cta-row{
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 10px;
    margin-top: 10px;
    position: absolute;
    top: 40%;
    left: 44%;
    width: 457px;
    height: 200px;
    transform: translate(-50%, -50%);
  }

.bottom_cta {
    width: 220px;
}

.bottom-cta_line {
    font-size: 17px;
}

}


/* Footer */

.site-footer{
  padding: 20px 40px;
}

.fotter_tt{
  color: #2E7D46;
font-family: "Noto Sans JP";
font-size: 23px;
font-style: normal;
font-weight: 500;
line-height: 23.5px; /* 102.174% */
margin-top: 10px;
}

.fotter_txt{
  color: #2E7D46;
font-family: "Noto Sans JP";
font-size: 14px;
font-style: normal;
font-weight: 500;
line-height: 23.5px; /* 167.857% */
margin-top: 5px;
}

.footer_line{
  background-color: #18652F;
  width: 100%;
  height: 1px;
  margin-top: 10px;
}

/* 特定商取引法に基づく表記 */

.fa-inner{
  padding: 28px 13px;
  background: #2E7D46;
}

.fotter-7 {
    max-width: 500px;
    margin: 10px auto;
    border: none;
    border-radius: 5px;
    box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);
    background-color: #fff;
}

.fotter-7 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #ffffff;
    font-weight: 600;
    cursor: pointer;
    font-size: 12px;
    list-style: none;
    background-color: #18652F;
    border-radius: 41px;
    z-index: 10;
}

summary::-webkit-details-marker {
  display: none;
}

.fotter-7 summary::before,
.fotter-7 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.fotter-7 p::before {
    position: absolute;
    left: 0.5em;
    font-weight: 600;
    font-size: 1.3em;
}

.fotter-7 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #ffffffb3;
    border-right: 3px solid #ffffffb3;
    content: '';
    transition: transform .5s;
}

.fotter-7[open] summary::after {
    transform: rotate(225deg);
}

.fotter-7 div {
    position: relative;
    transform: translateY(-10px);
    margin: -6px 1px;
    padding: 2rem 2rem;
    color: #2F2F2F;
    transition: transform .5s, opacity .5s;
    border: 2px solid #18652F;
    background-color: #E8F0E4;
    z-index: 1;
}

.fotter-7[open] .footer-innertxt {
    transform: none;
    opacity: 1;
    border-bottom: 1.5px solid #2E7D46;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 500;
    margin-top: 3px;
    padding-bottom: 3px;
}

.footer-innertt{
  font-size: 12px;
  margin-top: 10px;
}



@media screen and (min-width:1024px){

.fotter-7 {
    max-width: 740px;
    margin: 18px auto;
}

.fotter-7 summary {
    font-size: 15px;
}

.fotter-7 p {
    font-size: 14px;
}

.fotter-7[open] .footer-innertxt {
    font-size: 14px;
}

.footer_flex{
  display: flex;
  gap: 10px;
}

.fotter-7 div {
    margin: -17px 1px;
    padding: 3rem 2rem;
}

.site-footer {
    padding: 20px 229px;
}


}

/* copy */

.footer-copy{
  width: 100%;
  color: #FFF;
  background-color: #0E2E18;
  text-align: center;
  font-size: 8px;
  padding: 20px 0px;
}

@media screen and (min-width:1024px){
 .footer-copy{
  font-size: 10px;
}

.br_sp{
  display: none;
}
}

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

  .title_en {
    font-size: 15px;
}

.title_ja {
    font-size: 20px;
}

  .issues_txt{
  margin-left: 5px;
  font-size: 10px;
}

  .issues-inner {
    width: 320px;
}

.issues_list {
    margin: 10px 20px;
    text-align: center;
}

.issues_item {
    margin-top: 9px;
    padding: 8px 10px;
}

.reason_txtg {
    padding: 10px 27px;
}

.reason_tt {
    font-size: 21px;
}

.reason_imgg {
    padding: 0px 23px;
}

.form-7 summary {
    font-size: 11px;
}

.solve_img {
    max-width: 300px;
}

.plan {
    padding: 30px 10px;
}

.line-card {
    width: 300px;
}

.line-btn {
    font-size: 12px;
}

.wrap {
    padding: 1rem 0;
}

.comparison-inner {
    padding: 28px 0px;
}

nav {
        width: 275px;
    }

    .container{
      overflow: hidden;
    }

    .btn-custom02-front {
    padding: 1rem 2rem;
}

.float-button_txt {
    font-size: 10px;
}

.float-button_tt {
    font-size: 11px;
}

.flow-card {
    width: 302px;
}

.flow-card-title {
    font-size: 17px;
}

.flow-card-body {
    font-size: 13px;
    line-height: 20px;
}

}


