@charset "UTF-8";

/*=============================================*
 * wpcf7
 *=============================================*/
.wpcf7 {
   position: relative;
}

.wpcf7 .select {
   position: relative;
}

.wpcf7 .select {
   display: flex;
   align-items: flex-start;
   width: 100%;
   position: relative;
}

.wpcf7 .select .wpcf7-form-control-wrap {
   display: block;
   flex: 1;
   position: relative;
}

.wpcf7 .select .wpcf7-form-control-wrap::after {
   content: '▼';
   line-height: 1;
   color: #000;
   position: absolute;
   top: 0px;
   right: 0px;
}

.wpcf7 .select select {
   display: block;
   width: 100%;
   height: 100%;
   -webkit-appearance: none;
   -moz-appearance: none;
   outline: 0;
   box-shadow: none;
   background: #F5F5F5;
   border: 0px;
   line-height: 20px;
   border-radius: 4px !important;
   padding: 5px 20px 5px 12px;
   cursor: pointer;
}

.wpcf7 .select select::-ms-expand {
   display: none;
}

.wpcf7 input:not([type="checkbox"], [type="radio"]),
.wpcf7 textarea {
   display: block;
   width: 100%;
   background-color: #F5F5F5;
   border: 0px;
   font-weight: 400;
   line-height: 20px;
   border-radius: 4px !important;
   outline: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   box-sizing: border-box;
   padding: 10px 12px;
}

.wpcf7 input[type="date"]::-webkit-calendar-picker-indicator {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   background-position: center right 10px;
   background-size: 15px auto;
}

.wpcf7 .wpcf7-checkbox {
   font-size: 0;
   line-height: 0;
}

.wpcf7 .wpcf7-checkbox span,
.wpcf7 .wpcf7-checkbox label {
   display: block;
}

.wpcf7 .wpcf7-checkbox input {
   display: none;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item-label {
   display: grid;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item-label:before,
.wpcf7 .wpcf7-checkbox .wpcf7-list-item-label:after {
   content: '';
   border: 1px solid #707070;
   width: 15px;
   height: 15px;
   grid-area: 1/1;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item-label:after {
   background-color: #707070;
   opacity: 0;
}

.wpcf7 .wpcf7-checkbox input:checked~.wpcf7-list-item-label:after {
   opacity: 1;
}

/* =============================================
* HOME
* ============================================= */
#mv {
   background: url("../img/top/mv-bg-img.jpg") no-repeat center/cover;
   position: relative;
   padding-top: 120px;
}

#mv h2 {
   width: 640px;
   padding: 0 0 45px 0px;
   margin-left: 10%;
}

#mv h3 {
   display: flex;
   align-items: center;
   height: 214px;
   background-color: #FF6301;
   padding: 0 40px 0 10%;
}

#mv h3 span {
   display: block;
   width: 643px;
}

#mv .list-sns {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    z-index: 2;
    gap: 20px;
    margin-left: 10%;
    padding: 30px 0;
    width: 640px;
   }

   #mv .list-sns li {
      width: 100%;
   }

   #mv .list-sns a {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
      height: 97px;
      border-radius: 60px;
      box-sizing: border-box;
   }

   #mv .list-sns a:before {
      content: '';
      display: block;
   }

   #mv .list-sns a.inq {
      background-color: #FF4E36;
      color: #fff;
      border: 1px solid #FF4E36;
   }

   #mv .list-sns a.inq:before {
      width: 28px;
      height: 24px;
      background: url("../img/common/icon-email.png") no-repeat center/100% auto;
   }

   #mv .list-sns a.line {
      background-color: #fff;
      color: #03C755;
      border: 1px solid #03C755;
   }

   #mv .list-sns a.line:before {
      width: 33px;
      height: 33px;
      background: url("../img/common/icon-line-green.png") no-repeat center/100% auto;
   }

#mv .slider {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 10px;
   width: 680px;
   position: absolute;
   top: 0;
   right: 10px;
   bottom: 0;
}

#mv .slider .swiper-slide {
	overflow: hidden;
	position: relative;
   height: 296px;
   margin-bottom: 10px;
	border-radius: 8px;
}
#mv .slider .swiper-slide::before{
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: 0.3;
}
#mv .slider .swiper-slide img{
	height: 100%;
	object-fit: cover;
	object-position: center;
}


#mv .slider .mv-slider2 {
   transform: rotate(180deg);
}

#mv .slider .mv-slider2 .swiper-slide {
   transform: rotate(180deg) translateZ(0);
}



@media screen and (max-width: 1600px) {
   #mv {
      padding-top: 160px;
   }

   #mv h2 {
      width: 560px;
   }

   #mv h3 span {
      width: 560px;
   }
	#mv .list-sns{
	width: 560px;
	}
}

@media screen and (max-width: 1450px) {
   #mv h2 {
      width: 510px;
   }

   #mv h3 span {
      width: 510px;
   }
	#mv .list-sns{
		width: 510px;
	}
	
}

@media screen and (max-width: 1413px) {
   #mv h2 {
      width: 450px;
   }

   #mv h3 span {
      width: 450px;
   }
	
	#mv .list-sns{
		width: 450px;
	}
}

@media screen and (max-width: 1300px) {
   #mv h2 {
      width: 430px;
   }

   #mv h3 span {
      width: 430px;
   }
	
	#mv .list-sns{
		width: 430px;
	}
}

@media screen and (max-width: 1200px) {
   #mv h2 {
      width: 640px;
      padding-bottom: 45px;
   }

   #mv h3 span {
      width: 640px;
   }
	
	#mv .list-sns{
		width: 640px;
	}
}

@media screen and (max-width: 1024px) {
   #mv {
      padding-top: 120px;
   }

   #mv h2 {
      margin: 0 auto;
      padding-left: 0;
      width: 94%;
   }

   #mv h3 {
      justify-content: center;
      height: auto;
      background-color: transparent;
   }

   #mv h3 span {
      width: 100%;
   }

   #mv .slider {
      display: block;
      width: 100%;
      position: static;
      padding: 30px 0 0;
      box-sizing: border-box;
   }

   #mv .slider .swiper-slide {
      width: 200px;
      height: 144px;
      margin-right: 10px;
   }

   #mv .slider .mv-slider2 {
      transform: rotate(0deg);
   }

   #mv .slider .mv-slider2 .swiper-slide {
      transform: rotate(0deg) translateZ(0);
   }
}

@media screen and (max-width: 767px) {
   #mv {
      padding-top: 100px;
   }

   #mv h2 {
      width: 100%;
      padding: 0 30px 25px;
      box-sizing: border-box;
   }

   #mv h3 {
      padding: 0 30px 0;
   }

   #mv h3 span {
      width: 100%;
   }

   #mv .list-sns {
      flex-direction: column;
      gap: 20px;
	   width: 100%;
	   margin-left: 0;
      padding: 30px 30px 0;
      font-size: 20px;
   }

   #mv .list-sns li {
      width: 100%;
   }

   #mv .list-sns a {
      height: 52px;
   }

   #mv .list-sns a.inq:before {
      width: 26px;
      height: 19px;
   }

   #mv .list-sns a.line:before {
      width: 30px;
      height: 30px;
   }

   #mv .slider .swiper-slide {
      width: 127px;
      height: 90px;
      margin-right: 6px;
      margin-bottom: 6px;
   }
}

/* -- -- */
#top__worries {
   position: relative;
   padding: 100px 0 75px;
}

#top__worries .txt-deco {
   color: #fff;
}

#top__worries .h2{
   position: relative;
}
#top__worries .h2::before{
   content: "";
   position: absolute;
   top: -40px;
   right: calc(50% - 360px);
   transform: scale(-1, 1);
   width: 122px;
   height: 151px;
   background-image: url("../img/top/character_worries.webp");
   background-repeat: no-repeat;
   background-size: contain;
}
@media screen and (max-width: 767px) {
   #top__worries .h2::before{
      top: -2px;
      left: calc(50% - 192px);
      width: 60px;
      height: 75px;
      transform: scale(1);
   }
}


#top__worries .box {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 48px;
   padding-top: 50px;
}

#top__worries .box figure img {
   filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
}

#top__worries .box h3 {
   text-align: center;
   padding-top: 24px;
	letter-spacing:0;
	font-size:19px;
}

#top__worries .box h3:after {
   content: '';
   display: block;
   width: 50px;
   border-top: 2px solid #70B544;
   margin: 15px auto 0;
}

#top__worries .box .txt {
   padding-top: 32px;
}

#top__worries .js-scrollable {
   margin-top: 85px;
}


@media screen and (max-width: 1024px) {
   #top__worries .box {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media screen and (max-width: 767px) {
   #top__worries {
      padding: 30px 0 60px;
      overflow: hidden;
   }

   #top__worries .box {
      gap: 20px;
      padding-top: 30px;
   }
	
	#top__worries .box h3 {
		font-size:16px;
		line-height:140%;
  		padding-top: 14px;
	}

   #top__worries .box h3:after {
      margin-top: 5px;
	   display:none;
   }

   #top__worries .box .txt {
      padding-top: 20px;
   }

   #top__worries .js-scrollable {
      margin-top: 30px;
   }

   #top__worries .js-scrollable figure {
      width: 887px;
   }
}

/* -- -- */
#top__consult {
   position: relative;
   background: url("../img/top/worries-bg.jpg") repeat center top;
   color: #fff;
   position: relative;
   padding: 80px 0 240px;
}

#top__consult:before {
   content: '';
   width: 0;
   height: 0;
   border-width: 58px 66px 0 66px;
   border-color: #F6FDF7 transparent transparent transparent;
   border-style: solid;
   position: absolute;
   top: 0;
   left: calc(50% - 66px);
}
#top__consult::after{
   content: "";
   position: absolute;
   left: 50%;
   bottom: 24px;
   width: 315px;
   height: 205px;
   transform: translateX(-50%);
   background-image: url("../img/top/character_reason.webp");
   background-repeat: no-repeat;
   background-size: contain;
}
@media screen and (max-width: 767px) {
   #top__consult::after{
      bottom: 12px;
      width: 246px;
      height: 160px;
   }
}

#top__consult h2 {
   font-weight: 800;
   font-size: 34px;
   letter-spacing: 0.015em;
   line-height: 36px;
}

#top__consult h2 small {
   font-size: 26px;
}

#top__consult .txt {
   font-size: 20px;
   line-height: 36px;
   padding-top: 15px;
}

@media screen and (max-width: 767px) {
   #top__consult {
      padding: 50px 0 200px;
   }

   #top__consult:before {
      border-width: 34px 39px 0 39px;
      left: calc(50% - 39px);
   }

   #top__consult h2 {
      font-size: 24px;
      line-height: 32px;
   }

   #top__consult h2 small {
      font-size: 16px;
   }

   #top__consult .txt {
      font-size: 15px;
      line-height: 26px;
      padding-top: 20px;
	   letter-spacing:0;
   }
}

/* -- -- */
#top__reason {
   background: url("../img/top/reason-bg-top.png") no-repeat center top/100% auto;
   padding: 80px 0 100px;
   position: relative;
}

#top__reason .box {
   display: flex;
   flex-direction: row;
   gap: 92px;
   padding-top: 95px;
}

#top__reason .box+.box {
   padding-top: 85px;
}

#top__reason .box .col {
   width: 648px;
}

#top__reason .box .no {
   width: 129px;
}

#top__reason .box h3 {
   padding-top: 30px;
}

#top__reason .box .txt {
   font-size: 18px;
   line-height: 40px;
   padding-top: 25px;
}

#top__reason .box .txt span {
   font-weight: 800;
}

#top__reason .box figure {
   width: 656px;
}

#top__reason .box.img-l {
   flex-direction: row-reverse;
}

#top__reason .box-1 {
   display: grid;
   grid-template-columns: auto 530px;
   align-items: center;
   gap: 20px 55px;
   background: url("../img/top/reason-bg.png") repeat center top;
   border: 12px solid #4AA357;
   border-radius: 24px;
   margin-top: 140px;
   padding: 33px 70px 0;
}

#top__reason .box-1 h3 {
   letter-spacing: 0.1em;
	margin-top: -30px;
   line-height: 1.45em;
}

#top__reason .box-1 .txt {
   font-weight: 800;
   letter-spacing: 0.12em;
   padding-top: 25px;
}

@media screen and (max-width: 1440px) {
	#top__reason .box-1 h3 {
	   font-size:34px;
	}
}



@media screen and (max-width: 1200px) {
   #top__reason .box-1 {
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
      padding: 30px 30px 0;
   }
}

@media screen and (max-width: 1024px) {
   #top__reason .box {
      flex-direction: column;
      align-items: center;
   }

   #top__reason .box.img-l {
      flex-direction: column;
   }

   #top__reason .box-1 {
      grid-template-columns: 100%;
   }

   #top__reason .box-1 h3 {
      text-align: center;
	   margin-top:-10px;
	   font-size:28px;

   }

   #top__reason .box-1 figure {
      text-align: center;
   }
}

@media screen and (max-width: 767px) {
   #top__reason {
      padding: 35px 0 50px;
   }

   #top__reason .box {
      gap: 30px;
      padding-top: 40px;
   }

   #top__reason .box+.box {
      padding-top: 70px;
   }

   #top__reason .box figure {
      width: 100%;
   }

   #top__reason .box .col {
      width: 100%;
   }

   #top__reason .box .no {
      width: 100px;
      margin: 0 auto;
   }

   #top__reason .box .no img {
      width: 100px;
   }

   #top__reason .box h3 {
      font-size: 20px;
      text-align: center;
      padding-top: 10px;
   }

   #top__reason .box .txt {
      font-size: 15px;
      line-height: 32px;
      padding-top: 8px;
   }

   #top__reason .box-1 {
      border-width: 2px;
      margin-top: 75px;
      padding: 40px 25px 0;
   }
	
	#top__reason .box-1 h3 {
	   margin-top:-20px;
   }

   #top__reason .box-1 .txt {
      font-size: 15px;
      line-height: 28px;
      padding-top: 20px;
   }

   #top__reason .box-1 figure {
      width: 100%;
      margin: 0 auto;
   }
}

/* -- -- */
#top__voice {
   background: url("../img/top/voice-bg-img.jpg") no-repeat center top/cover;
   color: #fff;
   padding: 100px 0;
   position: relative;
}

#top__voice .txt-deco {
   color: rgba(255, 255, 255, 0.07);
}
.p_topVoice{
   display: flex;
   align-items: center;
   gap: 36px;
}
@media screen and (max-width: 767px) {
   .p_topVoice{
      flex-direction: column;
      align-items: flex-start;
      gap: 24px;
   }
}
.p_topVoiceText{
   flex: 1;
}
.p_topVoiceText_detail{
   margin-top: 12px;
   margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
   .p_topVoiceText_detail{
      margin-top: 3px;
      margin-bottom: 24px;
   }
}
.p_topVoice_image{
   width: 656px;
}
@media screen and (max-width: 767px) {
   .p_topVoice_image{
      width: 100%;
   }
}
@media screen and (max-width: 767px) {
   #top__voice .button{
      text-align: center;
   }
}
#top__voice .button a{
   background-color: #fff;
   color: #0F9F01;
}
#top__voice .button a::after{
   background: url(../img/common/arrow-right-grn.svg) no-repeat center top / cover;
}

@media screen and (max-width: 1200px) {
   #top__voice .box {
      gap: 30px;
   }
}

@media screen and (max-width: 1024px) {
   #top__voice .box figure {
      width: 200px;
   }
}

@media screen and (max-width: 767px) {
   #top__voice {
      padding: 60px 0 50px;
      overflow: hidden;
   }

   #top__voice .box {
      grid-template-columns: 100%;
      gap: 35px;
      padding-top: 50px;
   }

   #top__voice .box figure {
      width: 190px;
   }

   #top__voice .box h3 {
      padding-top: 15px;
	   font-size:17px;
   }

   #top__voice .box .txt {
      padding-top: 5px;
	   font-size:13px;
   }
}

/* -- -- */
#top__features {
   position: relative;
   padding: 100px 0;
}
#top__features .txt-deco {
   color: rgba(74, 163, 87, 0.06);
}
@media screen and (max-width: 767px) {
   #top__features .wrap{
      padding: 0 15px;
   }
}

#top__features .inner{
   position: relative;
   margin-top: 36px;
   padding: 60px;
   border-radius: 24px;
   background-color: #fff;
   border: solid 4px #0F9F01;
}
@media screen and (max-width: 767px) {
   #top__features .inner{
      padding: 24px;
   }
}
#top__features .inner::before{
   content: "";
   position: absolute;
   top: -150px;
   right: 30px;
   width: 210px;
   height: 222px;
   background-image: url("../img/top/character_feature.webp");
   background-repeat: no-repeat;
   background-size: contain;
}
@media screen and (max-width: 767px) {
   #top__features .inner::before{
      top: -46px;
      right: -7px;
      width: 60px;
      height: 75px;
   }
}

#top__features .message{
   font-size: 16px;
   text-align: center;
}
@media screen and (max-width: 767px) {
   #top__features .message{
      font-size: 14px;
      line-height: 1.8em;
      text-align: left;
   }
}
@media screen and (max-width: 767px) {
   #top__features .message ._sp_none{
      display: none;
   }
}

#top__features .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap:  36px 24px;
   margin-top: 60px;
   text-align: center;
}

#top__features .box .col {
   background-color: #fff;
}

#top__features .box h3 {
   padding-top: 12px;
}
@media screen and (max-width: 1200px) {
   #top__features .box h3 {
      font-size: 18px;
   }
}
#top__features .box h3 ._pc_none{
   display: none;
}
#top__features .box h3 span {
   color: #FF6301;
}

#top__features .box .txt {
   padding-top: 10px;
}

@media screen and (max-width: 1024px) {
   #top__features .box {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media screen and (max-width: 767px) {
   #top__features {
      padding: 35px 0;
      overflow: hidden;
   }

   #top__features .box {
      gap: 36px 12px; 
      margin-top: 24px;
      padding: 0;
   }

   #top__features .box h3 {
      padding-top: 6px;
      font-size: 14px;
      line-height: 1.4em;
   }
   #top__features .box h3 ._pc_none{
      display: inline;
   }

   #top__features .box .txt {
      padding-top: 4px;
      font-size: 12px;
      line-height: 1.6em;
      text-align: left;
   }
   #top__features .box .txt br {
      display: none;
   }
	#top__features .box .col {
	  padding: 0;
	}
}

/* -- -- */
#top__staff {
   padding: 90px 0 100px;
   position: relative;
}

#top__staff .txt-deco {
   color: rgba(74, 163, 87, 0.06);
}

#top__staff .desc {
   font-weight: 800;
   font-size: 18px;
   padding-top: 50px;
}

#top__staff .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 98px;
   padding-top: 50px;
}

#top__staff .box figure {
   width: 100%;
   padding-top: 116.2%;
   position: relative;
}

#top__staff .box figure img {
   border-radius: 12px;
   position: absolute;
   top: 0;
   left: 0;
}

#top__staff .box figcaption {
   display: inline-block;
   background-color: #fff;
   border-radius: 24px 0 0 0;
   padding: 10px 25px 10px;
   font-size: 19px;
   position: absolute;
   bottom: 0;
   right: 0;
}

#top__staff .box .txt {
   color: #000;
   padding-top: 30px;
}

#top__staff .button {
   padding-top: 50px;
}

@media screen and (max-width: 1200px) {
   #top__staff .box {
      gap: 50px;
   }
}

@media screen and (max-width: 767px) {
   #top__staff {
      padding: 75px 0 50px;
   }

   #top__staff .desc {
      text-align: justify;
      font-size: 15px;
      line-height: 32px;
      padding-top: 20px;
   }

   #top__staff .box {
      grid-template-columns: 100%;
      gap: 40px;
   }

   #top__staff .box figcaption {
      font-size: 14px;
      line-height: 24px;
   }

   #top__staff .box .txt {
      font-size: 15px;
      line-height: 28px;
      padding-top: 20px;
   }

   #top__staff .button {
      padding-top: 40px;
   }
}

/* -- top__store -- */
#top__store {
   padding: 90px 0 100px;
   position: relative;
}
@media screen and (max-width: 767px) {
   #top__store {
      padding: 75px 0 50px;
   }
}
#top__store .txt-deco {
   color: rgba(74, 163, 87, 0.06);
}
#top__store .desc {
   font-weight: 800;
   font-size: 18px;
   padding-top: 50px;
}
@media screen and (max-width: 767px) {
   #top__store .desc {
      text-align: justify;
      font-size: 15px;
      line-height: 32px;
      padding-top: 20px;
   }
}

#top__store .p_storeList{
   margin: 48px 0;
}

/* -- -- */
#top__column {
   padding: 110px 0;
   position: relative;
}

#top__column .wrap {
   display: flex;
   gap: 55px;
   width: calc(50% + 700px);
   max-width: inherit;
   margin-right: 0;
}

#top__column .txt-deco {
   color: #fff;
}

#top__column .col {
   width: 320px;
}

#top__column .txt {
   padding-top: 60px;
}

#top__column .button {
   padding-top: 40px;
}

#top__column .swiper {
   width: calc(100% - 410px);
   padding: 50px 35px 0;
   box-sizing: border-box;
}

#top__column .swiper-slide {
   width: 430px;
   margin-right: 60px;
   position: relative;
}

#top__column .swiper-slide time {
   display: block;
   background: url("../img/top/column-mask.png") no-repeat center top/cover;
   width: 165px;
   height: 119px;
   position: absolute;
   top: 0;
   left: 0;
   box-sizing: border-box;
   font-size: 16px;
   z-index: 1;
   padding: 10px 0 0 15px;
}

#top__column .swiper-slide figure a {
   display: block;
   width: 100%;
   padding-top: 69.2%;
   border-radius: 20px;
   position: relative;
}

#top__column .swiper-slide figure a img {
   position: absolute;
   top: 0;
   left: 0;
}

#top__column .swiper-slide .cat {
   font-weight: 800;
   font-size: 18px;
   padding-top: 24px;
}

#top__column .swiper-slide .cat a {
   display: inline-block;
   position: relative;
   padding-left: 20px;
}

#top__column .swiper-slide .cat a:before {
   content: '';
   width: 12px;
   height: 12px;
   background-color: #EDEDED;
   border-radius: 50%;
   position: absolute;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
}

#top__column .swiper-slide .ttl {
   font-weight: 800;
   padding-top: 15px;
}

#top__column .swiper-slide .ttl a {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   display: -webkit-box;
   overflow: hidden;
}

#top__column .swiper-button-next,
#top__column .swiper-button-prev {
   top: 39%;
}

#top__column .swiper-button-next {
   right: 0;
}

#top__column .swiper-button-prev {
   left: 0;
}

@media screen and (max-width: 1440px) {
   #top__column .wrap {
      width: calc(50% + 570px);
   }
}

@media screen and (max-width: 1200px) {
   #top__column .wrap {
      width: calc(50% + 480px);
   }
}

@media screen and (max-width: 1024px) {
   #top__column .wrap {
      flex-direction: column;
      width: calc(50% + 360px);
   }

   #top__column .swiper {
      width: 100%;
   }
}

@media screen and (max-width: 767px) {
   #top__column {
      padding: 50px 0;
      overflow: hidden;
   }

   #top__column .wrap {
      gap: 0px;
      width: 100%;
   }

   #top__column h2 {
      text-align: center;
   }

   #top__column .txt {
      padding-top: 25px;
   }

   #top__column .swiper {
      width: auto;
      margin: 0 -20px;
      padding: 50px 20px 0;
   }

   #top__column .swiper-slide {
      width: 100%;
   }

   #top__column .swiper-slide time {
      width: 120px;
      height: 100px;
      font-size: 13px;
      line-height: 24px;
   }

   #top__column .swiper-slide time span {
      font-size: 20px;
   }

   #top__column .swiper-slide .cat {
      font-size: 15px;
   }

   #top__column .swiper-slide .ttl {
      font-size: 16px;
   }

   #top__column .swiper-slide .ttl a {
      -webkit-line-clamp: 3;
   }

   #top__column .button {
      text-align: center;
      padding-top: 30px;
   }
}

/* -- -- */
#top__slider .swiper-slide {
   width: 431px;
}

@media screen and (max-width: 767px) {
   #top__slider .swiper-slide {
      width: 250px;
   }
}

/* -- -- */
#top__faq {
   position: relative;
   padding: 100px 0 140px;
}

#top__faq .txt-deco {
   color: rgba(74, 163, 87, 0.06);
}

#top__faq .h2::before{
   content: "";
   position: absolute;
   top: -7px;
   left: calc(50% - 260px);
   width: 132px;
   height: 116px;
   background-image: url("../img/top/character_faq_1.webp");
   background-repeat: no-repeat;
   background-size: contain;
}
@media screen and (max-width: 767px) {
   #top__faq .h2::before{
      top: -10px;
      left: calc(50% - 172px);
      width: 94px;
      height: 83px;
   }
}

#top__faq .h2::after{
   content: "";
   position: absolute;
   top: 0px;
   right: calc(50% - 253px);
   transform: scale(-1, 1);
   width: 104px;
   height: 105px;
   background-image: url("../img/top/character_faq_2.webp");
   background-repeat: no-repeat;
   background-size: contain;
}
@media screen and (max-width: 767px) {
   #top__faq .h2::after{
      top: -8px;
      right: calc(50% - 156px);
      width: 74px;
      height: 75px;
   }
}


#top__faq .box-qa {
   max-width: 1000px;
   margin: 0 auto;
   padding-top: 80px;
}

#top__faq .box-qa dl+dl {
   padding-top: 12px;
}

#top__faq .box-qa dl dt {
   background-color: #0F9F01;
   color: #fff;
   border-radius: 12px;
   padding: 13px 20px 13px 50px;
   position: relative;
   cursor: pointer;
}

#top__faq .box-qa dl dt:before {
   content: '';
   width: 19px;
   height: 18px;
   background: url("../img/top/icon-q.png") no-repeat center top/cover;
   position: absolute;
   top: 21px;
   left: 20px;
}

#top__faq .box-qa dl dt i {
   display: block;
   width: 20px;
   height: 20px;
   position: absolute;
   top: 50%;
   right: 20px;
   transform: translateY(-50%);
}

#top__faq .box-qa dl dt i:before,
#top__faq .box-qa dl dt i:after {
   content: '';
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   transition: all 0.3s;
}

#top__faq .box-qa dl dt i:before {
   width: 100%;
   height: 0;
   border-top: 2px solid #fff;
}

#top__faq .box-qa dl dt i:after {
   width: 0;
   height: 100%;
   border-left: 2px solid #fff;
}

#top__faq .box-qa dl dd {
   display: none;
   padding: 20px 0;
}

#top__faq .box-qa dl.active dt i:after {
   transform: translate(-50%, -50%) rotate(90deg);
}

@media screen and (max-width: 1200px) {
   #top__faq {
      padding-bottom: 0;
   }
}

@media screen and (max-width: 767px) {
   #top__faq {
      padding: 40px 0;
   }

   #top__faq .box-qa {
      padding-top: 30px;
   }

   #top__faq .box-qa dl dt {
      font-size: 15px;
      line-height: 24px;
      padding: 6px 32px 6px 34px;
   }

   #top__faq .box-qa dl dt:before {
      top: 50%;
      left: 10px;
      transform: translateY(-50%);
   }

   #top__faq .box-qa dl dt i {
      width: 14px;
      height: 14px;
      right: 10px;
   }

   #top__faq .box-qa dl dd {
      padding: 15px 0 10px;
   }
}

/* -- -- */
#reserve {
   width: calc(100% - 980px);
   position: absolute;
   top: 125px;
   left: 36%;
}

#reserve .wrap {
   background-color: #fff;
   border-radius: 7px;
   padding: 15px 45px;
   box-sizing: border-box;
   font-weight: 700;
   font-size: 11px;
   line-height: 15px;
   letter-spacing: 0.024em;
   color: #393939;
   max-width: 640px;
}

#reserve h3 {
   font-weight: bold;
   font-size: 24px;
   line-height: 26px;
   letter-spacing: 0.044em;
   text-align: center;
}

#reserve h3 span {
   display: inline-block;
   width: 75px;
   background-color: #FF6301;
   color: #fff;
   font-size: 10px;
   line-height: 14px;
   text-transform: uppercase;
   border-radius: 26px;
   margin-bottom: 4px;
}

#reserve .desc {
   color: #000;
   padding-top: 10px;
   font-size: 13px;
}

#reserve .form-row {
   display: grid;
   grid-template-columns: 95px auto;
   align-items: center;
   padding-top: 24px;
   font-size: 14px;
   gap: 10px;
}

#reserve .form-row .caption {
   line-height: 140%;
}


#reserve .form-row+.form-row {
   padding-top: 12px;
}

#reserve .form-row .date {
   display: grid;
   grid-template-columns: auto 95px;
   gap: 8px;
}

#reserve .form-row .wpcf7-not-valid-tip {
   font-size: 9px;
   line-height: 1;
   position: absolute;
   top: 100%;
   left: 0;
}

#reserve .form-row .result_txt {
   display: block;
   word-break: break-all;
   white-space: pre-wrap;
}

#reserve .form-pp {
   padding-top: 15px;
}

#reserve .form-pp label {
   display: flex;
   justify-content: center;
   align-items: center;
   position: relative;
}

#reserve .form-pp a {
   display: inline-block;
   text-decoration: underline;
   margin-left: 10px;
   font-size: 13px;
}

#reserve .form-pp a:hover {
   text-decoration: none;
}

#reserve .form-pp .wpcf7-not-valid-tip {
   width: max-content;
   font-size: 9px;
   position: absolute;
   top: 100%;
   left: 0;
}

#reserve .form-btn {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 10px;
   padding-top: 20px;
   margin-bottom: 10px;
}

#reserve .form-btn p {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   height: 42px;
   background-color: #109F00;
   color: #fff;
   font-size: 14px;
   line-height: 26px;
   border-radius: 50px;
   padding: 0 9px 0 14px;
   position: relative;
}

#reserve .form-btn p:after {
   content: '';
   width: 20px;
   height: 20px;
   background: url("../img/common/form-arrow.png") no-repeat center top/cover;
   display: block;
}

#reserve .form-btn p input,
#reserve .form-btn p a {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   opacity: 0;
}

#reserve .form-btn p input:not([disabled]) {
   cursor: pointer;
}

#reserve .form-btn .btn-prev {
   flex-direction: row-reverse;
   background-color: #333;
}

#reserve .form-btn .btn-prev:after {
   transform: rotate(180deg);
}

#reserve .wpcf7-spinner {
   display: none;
}

#reserve .wpcf7-response-output {
   margin: 5px 0 0;
   padding: 0 10px;
}

#reserve .form-step__wrapper-box {
   display: none;
}

#reserve .form-step__wrapper-box.current {
   display: block;
}

#reserve .form-step__wrapper-box .wpcf7-list-item {
   margin: 0;
}

@media screen and (max-width: 1880px) {
   #reserve {
      left: 37%;
   }
}

@media screen and (max-width: 1850px) {
   #reserve {
      left: 37.8%;
   }
}

@media screen and (max-width: 1820px) {
   #reserve {
      left: 38%;
   }
}

@media screen and (max-width: 1800px) {
   #reserve {
      left: 39%;
   }

   #reserve .wrap {
      max-width: 580px;
   }
}

@media screen and (max-width: 1750px) {
   #reserve {
      left: 40%;
   }

   #reserve .wrap {
      max-width: 540px;
   }
}

@media screen and (max-width: 1700px) {
   #reserve {
      left: 41%;
   }

   #reserve .wrap {
      max-width: 500px;
   }
}

@media screen and (max-width: 1650px) {
   #reserve {
      left: 42%;
   }

   #reserve .wrap {
      max-width: 490px;
      padding: 15px 35px;
   }
}

@media screen and (max-width: 1620px) {
   #reserve {
      left: 42.5%;
   }
}

@media screen and (max-width: 1600px) {
   #reserve {
      width: calc(100% - 840px);
      left: 580px;
      top: 110px;
   }
}

@media screen and (max-width: 1540px) {
   #reserve {
      left: 570px;
   }
}

@media screen and (max-width: 1510px) {
   #reserve {
      left: 545px;
   }
}

@media screen and (max-width: 1450px) {
   #reserve {
      left: 520px;
   }
}

@media screen and (max-width: 1413px) {
   #reserve {
      left: 490px;
   }
}

@media screen and (max-width: 1366px) {
   #reserve {
      left: 490px;
   }

   #reserve .wrap {
      padding: 15px 20px;
   }

   #reserve .form-row .date {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media screen and (max-width: 1350px) {
   #reserve {
      left: 490px;
      top: 100px;
   }

   #reserve .wrap {
      max-width: 420px;
   }
}

@media screen and (max-width: 1300px) {
   #reserve {
      left: 480px;
   }
}

@media screen and (max-width: 1200px) {
   #reserve {
      width: 100%;
      position: relative;
      top: auto;
      left: auto;
      font-size: 14px;
      line-height: 20px;
      padding: 140px 0 100px;
   }

   #reserve .txt-deco {
      display: block;
      color: rgba(74, 163, 87, 0.06);
   }

   #reserve .wrap {
      max-width: 600px;
   }

   #reserve h2 {
      display: block;
   }

   #reserve h3 {
      display: none;
   }

   #reserve .form-row {
      grid-template-columns: 120px auto;
   }

   #reserve .form-row input:not([type="checkbox"], [type="radio"]),
   #reserve .form-row textarea {
      line-height: 30px;
   }

   #reserve .form-pp {
      padding-top: 20px;
   }

   #reserve .form-btn p {
      height: 42px;
      font-size: 14px;
   }
}

@media screen and (max-width: 767px) {
   #reserve {
      padding: 50px 0;
      overflow: hidden;
   }

   #reserve .txt-deco {
      color: rgba(74, 163, 87, 0.06);
      display: none;
   }

   #reserve .form-wrap {
      padding-top: 20px;
   }

   #reserve .form-row {
      grid-template-columns: 100px auto;
   }
}

/* -- -- */
#thanks {
   text-align: center;
   padding: 100px 0;
}

#thanks p+p {
   padding-top: 30px;
}

@media screen and (max-width: 767px) {
   #thanks {
      text-align: justify;
      padding: 50px 0;
      font-size: 14px;
   }

   #thanks .button {
      text-align: center;
   }
}

/* -- -- */
.section__cta {
   background-color: #0F9F01;
   color: #fff;
   margin-top: 118px;
   padding: 100px 0;
   position: relative;
}

.section__cta:before {
   content: '';
   width: 100%;
   height: 118px;
   background: url("../img/top/cta-deco.png") repeat-x center top/auto 100%;
   position: absolute;
   bottom: 100%;
   left: 0;
}

.section__cta .swiper {
   width: 100%;
   position: absolute;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
}

.section__cta .swiper-slide {
   width: 1707px;
   margin-right: 70px;
}

.section__cta .wrap {
   z-index: 1;
}

.section__cta h2 {
   font-weight: 800;
   font-size: 44px;
   letter-spacing: 0.1em;
   line-height: 80px;
}

.section__cta h2 span {
   font-weight: 500;
   letter-spacing: 0;
}

.section__cta .bnr {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 20px;
   padding-top: 20px;
}

.section__cta .bnr li {
   width: 470px;
}

.section__cta .bnr a {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 10px;
   height: 80px;
   border-radius: 60px;
}

.section__cta .bnr a:before {
   content: '';
   display: block;
}

.section__cta .bnr a.inq {
   background-color: #FF4E36;
   color: #fff;
   box-shadow: 0 8px 0 #E72208;
}

.section__cta .bnr a.inq:before {
   width: 28px;
   height: 24px;
   background: url("../img/common/icon-email.png") no-repeat center/100% auto;
}

.section__cta .bnr a.line {
   background-color: #fff;
   color: #4CAF50;
   box-shadow: 0 8px 0 #118C16;
}

.section__cta .bnr a.line:before {
   width: 33px;
   height: 33px;
   background: url("../img/common/icon-line-green.png") no-repeat center/100% auto;
}

.section__cta .bnr a:hover {
   transform: translateY(8px);
   box-shadow: none;
   opacity: 1;
}

.section__cta .tel {
   display: flex;
   justify-content: center;
   align-items: baseline;
   gap: 10px;
   font-size: 14px;
   padding-top: 30px;
}

.section__cta .tel a {
   display: inline-block;
   font-weight: 800;
   font-size: 35px;
   letter-spacing: 0;
   line-height: 35px;
   background: url("../img/common/icon-tel.png") no-repeat center left/30px auto;
   padding-left: 40px;
}

@media screen and (max-width: 767px) {
   .section__cta {
      margin-top: 70px;
      padding: 30px 0;
   }

   .section__cta:before {
      height: 70px;
      background-position: top left;
   }

   .section__cta .swiper-slide {
      width: 1248px;
      margin-right: 50px;
   }

   .section__cta h2 {
      font-size: 22px;
      line-height: 32px;
   }

   .section__cta .bnr {
      flex-direction: column;
      gap: 20px;
      padding-top: 20px;
      font-size: 20px;
   }

   .section__cta .bnr li {
      width: 100%;
   }

   .section__cta .bnr a {
      height: 65px;
   }

   .section__cta .tel {
      flex-direction: column;
      align-items: center;
      gap: 0px;
   }

   .section__cta .tel a {
      font-size: 22px;
      line-height: 30px;
      background-size: 21px auto;
      padding-left: 25px;
   }

   .section__cta .tel time {
      font-size: 14px;
      line-height: 20px;
   }
}

/*=============================================*
* 運営会社
*=============================================*/
#philosophy {
   padding: 85px 0 75px;
}

#philosophy h3 {
   font-weight: 500;
   line-height: 64px;
   letter-spacing: 0.46em;
   padding-top: 40px;
}

#philosophy h3 .hl1 {
   position: relative;
}

#philosophy h3 .hl1:before {
   content: '';
   width: 100%;
   height: 11px;
   background: linear-gradient(to bottom, #C6FF8C, #C6FF8C);
   position: absolute;
   bottom: 0;
   left: 0;
   border-radius: 12px;
   z-index: -1;
}

#philosophy h3 .hl2 {
   position: relative;
}

#philosophy h3 .hl2:before {
   content: '';
   width: 100%;
   height: 11px;
   background: linear-gradient(to bottom, #FFB468, #FFB468);
   position: absolute;
   bottom: 0;
   left: 0;
   border-radius: 12px;
   z-index: -1;
}

#philosophy figure {
   padding-top: 50px;
}

@media screen and (max-width: 767px) {
   #philosophy {
      padding: 50px 0;
   }

   #philosophy h3 {
      line-height: 48px;
      padding-top: 20px;
   }

   #philosophy figure {
      padding-top: 20px;
   }
}

/* -- -- */
#overview {
   padding-bottom: 80px;
}

#overview .tb-style {
   padding-top: 50px;
}

@media screen and (max-width: 767px) {
   #overview {
      padding-bottom: 50px;
   }

   #overview .tb-style {
      padding-top: 30px;
   }
}

/* -- -- */
#message {
   padding-bottom: 80px;
}

#message .box {
   display: flex;
   flex-direction: row-reverse;
   gap: 50px;
   padding-top: 50px;
}

#message .box .txt {
   width: 525px;
}

#message .box .txt p+p {
   padding-top: 30px;
}

#message .box figure {
   width: 325px;
}

@media screen and (max-width: 767px) {
   #message {
      padding-bottom: 50px;
   }

   #message .box {
      flex-direction: column;
      gap: 30px;
   }

   #message .box figure,
   #message .box .txt {
      width: 100%;
   }
}

/* -- -- */
#access {
   padding-bottom: 150px;
}

#access .box {
   padding-top: 40px;
}

#access .box+.box {
   padding-top: 80px;
}

#access .gmap {
   width: 100%;
   height: 430px;
   border-radius: 24px;
   overflow: hidden;
}

#access .gmap iframe {
   display: block;
   width: 100%;
   height: 100%;
}

#access .txt {
   padding-top: 25px;
}

#access .txt strong {
   font-weight: 800;
}

@media screen and (max-width: 767px) {
   #access {
      padding-bottom: 50px;
   }

   #access .box {
      padding-top: 30px;
   }

   #access .box+.box {
      padding-top: 50px;
   }

   #access .gmap {
      height: 300px;
   }
}

/*=============================================*
* 土地相場情報
*=============================================*/
#land-market {
   padding: 85px 0 100px;
}

#land-market .box {
   display: flex;
   gap: 50px;
   padding-top: 50px;
}

#land-market .box .txt {
   width: 500px;
}

#land-market .box figure {
   width: 350px;
}

#land-market .table {
   background-color: #F9F9F9;
   margin-top: 50px;
   padding: 30px;
   border-radius: 12px;
   box-sizing: border-box;
}

#land-market .table dl {
   display: grid;
   grid-template-columns: 150px 150px 1fr;
   align-items: center;
   border-bottom: 1px solid #EBEBEB;
   padding-bottom: 25px;
}

#land-market .table dl+dl {
   padding-top: 25px;
}

#land-market .table dl dt {
   font-size: 16px;
}

#land-market .table dl .price strong {
   font-weight: 800;
   font-size: 20px;
}

#land-market .table dl .process div {
   height: 16px;
   background-color: #FD6708;
}

#land-market .note {
   font-size: 16px;
   color: #555;
   padding-top: 50px;
}

#land-market .note p:last-child {
   font-size: 14px;
   padding-top: 30px;
}

@media screen and (max-width: 767px) {
   #land-market {
      padding: 50px 0;
   }

   #land-market .box {
      flex-direction: column;
      gap: 30px;
      padding-top: 30px;
   }

   #land-market .box figure,
   #land-market .box .txt {
      width: 100%;
   }

   #land-market .table {
      width: 900px;
   }

   #land-market .table dl {
      grid-template-columns: 80px 120px 1fr;
   }

   #land-market .table dl dt {
      font-size: 14px;
   }

   #land-market .table dl .price strong {
      font-size: 16px;
   }

   #land-market .table dl .process div {
      height: 13px;
   }

   #land-market .note {
      font-size: 13px;
   }

   #land-market .note p:last-child {
      font-size: 11px;
      line-height: 160%;
   }
}

/*=============================================*
* スタッフ紹介
*=============================================*/
#staff {
   padding: 100px 30px;
}

#staff .wrap {
   max-width: 1575px;
}

#staff .box {
   display: grid;
   grid-template-columns: 690px 1fr;
   align-items: flex-start;
   gap: 65px;
   font-size: 18px;
}

#staff .box+.box {
   padding-top: 85px;
}

#staff .box figure img {
   border-radius: 12px;
}

#staff .box .col {
   display: flex;
   align-items: flex-start;
   flex-wrap: wrap;
}

#staff .box .position {
   width: 48px;
   border: 1px solid #0F9F01;
   border-radius: 40px;
   box-sizing: border-box;
   line-height: 26px;
   padding: 20px 14px;
}

#staff .box .name-kana {
   width: 38px;
   min-height: 245px;
   font-weight: 500;
   font-size: 38px;
   line-height: 48px;
   margin-left: 40px;
}

#staff .box .name {
   width: 14px;
   font-size: 14px;
   line-height: 14px;
   margin-left: 20px;
}

#staff .box .qualifications {
   width: calc(100% - 210px);
   margin-left: 50px;
}

#staff .box .qualifications dt {
   font-weight: 500;
}

#staff .box .qualifications dd {
   padding-top: 15px;
}

#staff .box .desc {
   width: 100%;
   background-color: #F6FDF7;
   border-radius: 12px;
   margin-top: 15px;
   padding: 30px 40px;
   box-sizing: border-box;
}

@media screen and (max-width: 1440px) {
   #staff .box {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media screen and (max-width: 1024px) {
   #staff .box {
      grid-template-columns: 1fr;
   }
}

@media screen and (max-width: 767px) {
   #staff {
      padding: 50px 0;
   }

   #staff .box {
      gap: 30px;
      font-size: 16px;
   }

   #staff .box+.box {
      padding-top: 50px;
   }

   #staff .box .col {
      flex-direction: column;
      align-items: center;
   }

   #staff .box .position {
      display: inline-block;
      width: auto;
      letter-spacing: 0.1em;
      padding: 2px 25px;
   }

   #staff .box .name-kana {
      width: auto;
      min-height: inherit;
      font-size: 30px;
      letter-spacing: 0.1em;
      line-height: 36px;
      margin-left: 0;
      padding-top: 10px;
   }

   #staff .box .name {
      width: auto;
      margin-left: 0;
      padding-top: 10px;
   }

   #staff .box .qualifications {
      width: 100%;
      margin-left: 0;
      padding-top: 20px;
   }

   #staff .box .desc {
      margin-top: 30px;
      padding: 20px 20px;
   }
}

/*=============================================*
* コラム
*=============================================*/
.sidebar {
   display: flex;
   flex-direction: column;
   gap: 75px;
}

.sidebar h3 {
   font-weight: 800;
   font-size: 21px;
   line-height: 36px;
   border-bottom: 3px solid #70B544;
   padding-bottom: 12px;
}

.sidebar ul {
   padding-top: 35px;
}

.sidebar .list-ranking {
   font-weight: 700;
   font-size: 15px;
   line-height: 25px;
}

.sidebar .list-ranking li {
   display: grid;
   grid-template-columns: 120px 1fr;
   align-items: center;
   gap: 20px;
}

.sidebar .list-ranking li+li {
   padding-top: 20px;
}

.sidebar .list-ranking figure a {
   display: block;
   width: 100%;
   padding-top: 80px;
   position: relative;
}

.sidebar .list-ranking figure a img {
   position: absolute;
   top: 0;
   left: 0;
}

.sidebar .list-ranking .ttl {
   padding-top: 5px;
}

.sidebar .list-ranking .ttl a {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   display: -webkit-box;
   overflow: hidden;
}

.sidebar .list-tax {
   font-weight: 800;
   font-size: 18px;
}

.sidebar .list-tax li+li {
   padding-top: 10px;
}

.sidebar .list-tax a {
   display: inline-block;
   position: relative;
   padding-left: 20px;
}

.sidebar .list-tax a:before {
   content: '';
   width: 12px;
   height: 12px;
   background-color: #EDEDED;
   border-radius: 50%;
   position: absolute;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
}

.sidebar .list-tax a span {
   color: #777;
}

@media screen and (max-width: 767px) {
   .sidebar {
      gap: 50px;
   }

   .sidebar h3 {
      font-size: 20px;
      line-height: 32px;
   }

   .sidebar ul {
      padding-top: 20px;
   }

   .sidebar .list-tax {
      font-size: 15px;
   }
}

/* -- -- */
.article__list {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 60px;
}

.article__list .col {
   display: none;
   position: relative;
}

.article__list figure a {
   display: block;
   padding-top: 62%;
   position: relative;
   border-radius: 24px;
}

.article__list figure img {
   position: absolute;
   top: 0;
   left: 0;
}

.article__list time {
   display: block;
   background: url("../img/top/column-mask-white.png") no-repeat center top/cover;
   width: 165px;
   height: 119px;
   position: absolute;
   top: 0;
   left: 0;
   box-sizing: border-box;
   font-size: 16px;
   z-index: 1;
   padding: 10px 0 0 15px;
}

.article__list .cat {
   font-weight: 800;
   font-size: 18px;
   padding-top: 24px;
}

.article__list .cat a {
   display: inline-block;
   position: relative;
   padding-left: 20px;
}

.article__list .cat a:before {
   content: '';
   width: 12px;
   height: 12px;
   background-color: #EDEDED;
   border-radius: 50%;
   position: absolute;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
}

.article__list .ttl {
   font-weight: 800;
   font-size: 18px;
   padding-top: 15px;
}

.article__list .ttl a {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   display: -webkit-box;
   overflow: hidden;
}

@media screen and (max-width: 1440px) {
   .article__list {
      gap: 50px;
   }
}

@media screen and (max-width: 767px) {
   .article__list {
      grid-template-columns: 1fr;
   }

   .article__list .col {
      width: 100%;
   }

   .article__list time {
      width: 120px;
      height: 100px;
      font-size: 13px;
      line-height: 24px;
   }

   .article__list time span {
      font-size: 20px;
   }

   .article__list .cat {
      font-size: 15px;
   }

   .article__list .ttl {
      font-size: 16px;
   }

   .article__list .ttl a {
      -webkit-line-clamp: 3;
   }
}

/* -- -- */
.article-voice_message{
   margin-bottom: 36px;
   text-align: center;
   font-size: 16px;
}
.article-voice_message br._pc_none{
   display: none;
}
.article-voice__list {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 40px;
}

.article-voice__list .col {
   display: none;
   background-color: #EFECDA;
}

.article-voice__list figure {
}

.article-voice__list figure a {
   display: block;
   position: relative;
   width: 100%;
   aspect-ratio: 4/3;
}

.article-voice__list figure a img {
   width: 100%;
   height: 100%;
}

.article-voice__list .txt {
   font-weight: normal;
   padding: 20px 24px 0 24px;
   font-size: 16px;
   font-weight: 700;
}
.article-voice__list_detail{
   font-size: 15px;
   line-height: 1.65em;
   padding: 12px 24px 24px 24px;
}

.article-voice__list .txt span {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 6;
   display: -webkit-box;
   overflow: hidden;
}
@media screen and (max-width: 1200px) {
   .article-voice__list {
      gap: 30px;
   }
}

@media screen and (max-width: 1024px) {
   .article-voice__list figure {
      width: 200px;
   }
}

@media screen and (max-width: 767px) {
   .article-voice_message br._pc_none{
      display: inline;
   }
   .article-voice__list {
      grid-template-columns: 100%;
      gap: 24px;
      padding-top: 0;
   }

   .article-voice__list figure {
      width: 100%;
   }
}

/* -- -- */
.cpt-template {
   padding: 120px 0 100px;
}

.cpt-template .wrap {
   display: grid;
   grid-template-columns: 1fr 400px;
   gap: 100px;
}

.cpt-template .btn-post {
   display: grid;
   justify-content: center;
   margin: 0 auto;
   padding-top: 50px;
}

.cpt-template .btn-post span {
   display: none;
   width: 303px;
   background-color: #0F9F01;
   color: #fff;
   font-weight: 800;
   font-size: 20px;
   letter-spacing: 0.06em;
   line-height: 40px;
   padding: 15px 0;
   border-radius: 50px;
   text-align: center;
   position: relative;
   grid-area: 1/1;
   cursor: pointer;
}

.cpt-template .btn-post span i {
   width: 22px;
   height: 22px;
   position: absolute;
   top: 50%;
   right: 30px;
   transform: translateY(-50%);
}

.cpt-template .btn-post span i:before,
.cpt-template .btn-post span i:after {
   content: "";
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

.cpt-template .btn-post span.more i:before {
   width: 100%;
   height: 0;
   border-top: 2px solid #fff;
}

.cpt-template .btn-post span.more i:after {
   width: 0;
   height: 100%;
   border-left: 2px solid #fff;
}

.cpt-template .btn-post span.less i:before {
   width: 100%;
   height: 0;
   border-top: 2px solid #fff;
}

@media screen and (max-width: 1440px) {
   .cpt-template .wrap {
      grid-template-columns: 1fr 350px;
      gap: 50px;
   }
}

@media screen and (max-width: 1200px) {
   .cpt-template .wrap {
      grid-template-columns: 1fr 300px;
   }
}

@media screen and (max-width: 1024px) {
   .cpt-template .wrap {
      grid-template-columns: 1fr;
   }

   .cpt-template .sidebar {
      max-width: 400px;
      margin: 0 auto;
   }
}

@media screen and (max-width: 767px) {
   .cpt-template {
      padding: 50px 0;
   }

   .cpt-template .btn-post span {
      width: 250px;
      padding: 5px 0;
   }

   .cpt-template .btn-post span i {
      width: 15px;
      height: 15px;
      right: 20px;
   }
}

/* -- -- */
#cpt-voice-list .wrap {
   display: block;
}

/* -- -- */
#cpt-column .details {
   position: relative;
}

#cpt-column .details time {
   display: inline-block;
   background: url("../img/common/icon-clock.png") no-repeat center left/18px auto;
   color: #707070;
   font-size: 18px;
   padding-left: 24px;
   position: absolute;
   top: 0;
   right: 0;
}

#cpt-column .details .cat {
   display: flex;
   align-items: flex-start;
   flex-wrap: wrap;
   gap: 5px 15px;
   font-weight: 800;
   font-size: 18px;
   padding-right: 140px;
}

#cpt-column .details .cat a {
   display: inline-block;
   position: relative;
   padding-left: 20px;
}

#cpt-column .details .cat a:before {
   content: '';
   width: 12px;
   height: 12px;
   background-color: #EDEDED;
   border-radius: 50%;
   position: absolute;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
}

#cpt-column .details .the_title {
   font-weight: 800;
   font-size: 34px;
   letter-spacing: 0.04em;
   line-height: 60px;
   padding-top: 20px;
}

#cpt-column .details .thumbnail {
   padding-top: 30px;
}

#cpt-column .details .the_content {
   padding-top: 64px;
}

#cpt-column .details .the_content h2 {
   background-color: #F4F4F4;
   font-weight: 800;
   font-size: 24px;
   line-height: 36px;
   letter-spacing: 0.02em;
   border-radius: 12px;
   margin: 60px 0 40px;
   padding: 22px 25px;
}

#cpt-column .details .the_content h2:first-child {
   margin-top: 0;
}

#cpt-column .details .the_content h3 {
   font-weight: 800;
   font-size: 21px;
   line-height: 36px;
   letter-spacing: 0.02em;
   margin: 60px 0 40px;
   padding: 0 0 10px;
   box-sizing: border-box;
   border-bottom: 3px solid #70B544;
}

#cpt-column .details .the_content h3:first-child {
   margin-top: 0;
}

#cpt-column .details .the_content h4 {
   font-weight: 800;
   font-size: 19px;
   letter-spacing: 0.02em;
   line-height: 36px;
   border-left: 5px solid #70B544;
   margin: 80px 0 40px;
   padding: 0 0 0 10px;
}

#cpt-column .details .the_content h4:first-child {
   margin-top: 0;
}

#cpt-column .details .the_content h2+h3,
#cpt-column .details .the_content h2+h4,
#cpt-column .details .the_content h2+h5,
#cpt-column .details .the_content h3+h4,
#cpt-column .details .the_content h3+h5,
#cpt-column .details .the_content h4+h5 {
   margin-top: 0;
}

#cpt-column .details .the_content ul {
   list-style: disc;
   padding-left: 30px;
}

#cpt-column .details .the_content ol {
   list-style: decimal;
   padding-left: 30px;
}

#cpt-column .details .the_content a {
   text-decoration: underline;
}

#cpt-column .details .the_content a:hover {
   text-decoration: none;
}

#cpt-column .details .the_content p img {
   display: inline-block;
   vertical-align: top;
   margin-right: 10px;
}

#cpt-column .details .the_content p img.aligncenter {
   display: block;
   margin: 0 auto;
}

#cpt-column .details .the_content p img.alignright {
   display: block;
   margin-left: auto;
}

#cpt-column .details .the_content p img:last-child {
   margin-right: 0;
}

#cpt-column .details hr {
   border: 0;
   border-top: 1px solid #C0C0C0;
   margin-top: 90px;
}

#cpt-column .details .button {
   padding-top: 65px;
}

@media screen and (max-width: 1024px) {
   #cpt-column .details .the_content p img {
      display: block;
      margin: 0 auto 15px;
   }

   #cpt-column .details .the_content p img:last-child {
      margin: 0 auto;
   }
}

@media screen and (max-width: 767px) {
   #cpt-column .details time {
      font-size: 13px;
      line-height: 24px;
      position: static;
      margin-top: 20px;
   }

   #cpt-column .details .cat {
      font-size: 15px;
      padding-right: 0px;
   }

   #cpt-column .details .the_title {
      font-size: 24px;
      line-height: 36px;
   }

   #cpt-column .details .the_content {
      padding-top: 40px;
   }

   #cpt-column .details .the_content h2 {
      font-size: 22px;
      line-height: 32px;
      margin: 40px 0 20px;
      padding: 14px 15px;
   }

   #cpt-column .details .the_content h3 {
      font-size: 20px;
      line-height: 32px;
      margin: 40px 0 20px;
   }

   #cpt-column .details .the_content h4 {
      font-size: 18px;
      line-height: 32px;
      margin: 40px 0 20px;
   }

   #cpt-column .details .the_content ul,
   #cpt-column .details .the_content ol {
      padding-left: 15px;
   }

   #cpt-column .details hr {
      margin-top: 50px;
   }

   #cpt-column .details .button {
      padding-top: 40px;
   }
}

.privacy {
   margin: 0px auto;
}

/*=============================================*
 * voice
 *=============================================*/
#cpt-voice {
   padding: 100px 0 165px;
}

#cpt-voice .box {
   display: flex;
   align-items: flex-start;
   gap: 70px;
}

#cpt-voice .box figure {
   flex: 1 0 calc(50% - 70px);
}

#cpt-voice .box .col {
   flex: 1 0 50%;
}

#cpt-voice .box h1 {
   font-weight: 800;
   line-height: 1.45;
}

#cpt-voice .box .location,
#cpt-voice .box .name {
   display: flex;
   align-items: center;
   gap: 20px;
}

#cpt-voice .box .location {
   padding-top: 40px;
}

#cpt-voice .box .location img{
   margin-right:-5px;
}

#cpt-voice .box .name {
   padding-top: 15px;
}

#cpt-voice .box .location img {
   width: 28px;
}

#cpt-voice .box .name img {
   width: 25px;
}

#cpt-voice .the_content {
   padding-top: 85px;
}

#cpt-voice .the_content h2 {
   font-weight: 800;
   font-size: 26px;
   letter-spacing: 0.02em;
   line-height: 1.75;
   border-bottom: 3px solid #70B544;
   margin: 70px 0 50px;
   padding-bottom: 20px;
}

#cpt-voice .the_content h2:first-child {
   margin-top: 0;
}

#cpt-voice hr {
   border: 0;
   border-top: 1px solid #C0C0C0;
   margin-top: 90px;
}

#cpt-voice .the_content p img {
   display: inline-block;
   vertical-align: top;
   margin-right: 10px;
}

#cpt-voice .the_content p img.aligncenter {
   display: block;
   margin: 0 auto;
}

#cpt-voice .the_content p img.alignright {
   display: block;
   margin-left: auto;
}

#cpt-voice .the_content p img:last-child {
   margin-right: 0;
}

#cpt-voice .button {
   padding-top: 65px;
}

@media screen and (max-width: 1024px) {
   #cpt-voice .the_content p img {
      display: block;
      margin: 0 auto 15px;
   }

   #cpt-voice .the_content p img:last-child {
      margin: 0 auto;
   }
}

@media screen and (max-width: 767px) {
   #cpt-voice {
      padding: 50px 0;
   }

   #cpt-voice .box {
      flex-direction: column;
      gap: 30px;
   }

   #cpt-voice .box figure,
   #cpt-voice .box .col {
      width: 100%;
      flex: inherit;
   }

   #cpt-voice .box .location {
      padding-top: 20px;
   }

   #cpt-voice .the_content {
      padding-top: 50px;
   }

   #cpt-voice .the_content h2 {
      font-size: 20px;
      margin: 50px 0 20px;
      padding-bottom: 10px;
   }

   #cpt-voice .the_content h2:first-child {
      margin-top: 0;
   }

   #cpt-voice hr {
      margin-top: 50px;
   }

   #cpt-voice .button {
      padding-top: 50px;
   }
}

/*=============================================*
 * store-list
 *=============================================*/
 #cpt-store-list{
   padding: 85px 0 100px;
 }
 @media screen and (max-width: 767px) {
   #cpt-store-list{
      padding: 50px 0;
    }
 }
.p_store{
   width: 960px;
   margin: 0 auto;
}
@media screen and (max-width: 767px) {
   .p_store{
      width: 100%;
   }
}
 .p_store_heading{
   display: flex;
   align-items: center;
   gap: 12px;
   margin-bottom: 36px;
   font-size: 36px;
   font-weight: 700;
 }
 @media screen and (max-width: 767px) {
   .p_store_heading{
      margin-bottom: 24px;
      font-size: 20px;
   }
 }
 .p_store_heading::after{
   flex: 1;
   content: "";
   display: inline-block;
   width: 100%;
   height: 1px;
   background-color: #4B4B4B;
 } 
 .p_storeList{
   display: grid;
   grid-template-columns: repeat(3,1fr);
   gap: 24px;
 }
 @media screen and (max-width: 767px) {
   .p_storeList{
      display: grid;
      grid-template-columns: 1fr;
      gap: 12px;
    }
 }
 .p_storeListItem a{
   display: flex;
   flex-direction: column-reverse;
   padding: 8px;
   border-radius: 12px;
   box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.12);
 }
 @media screen and (max-width: 767px) {
   .p_storeListItem a{
      position: relative;
     flex-direction: row-reverse;
      justify-content: flex-end;
      align-items: center;
      padding: 12px;
      border-radius: 8px;
   }
 }
 @media screen and (max-width: 767px) {
   .p_storeListItem a::before{
      content: "";
      position: absolute;
      top: 50%;
      right: 12px;
      transform: translateY(-50%) rotate(45deg);
      width: 10px;
      height: 10px;
      border: solid 2px #0F9F01;
      border-left: none;
      border-bottom: none;
      border-radius: 2px;
      pointer-events: none;
   }
 }
 .p_storeListItem_image{
   margin-bottom: 8px;
   overflow: hidden;
   border-radius: 4px;
   width: 100%;
   aspect-ratio: 16/9;
 }
 @media screen and (max-width: 767px) {
   .p_storeListItem_image{
     width: 80px;
     height: 60px;
     margin-bottom: 0;
     aspect-ratio: auto;
   }
 }
 .p_storeListItem_image img{
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center;
 }
 .p_storeListItemText{
   padding:0 6px;
 }
 @media screen and (max-width: 767px) {
   .p_storeListItemText{
      flex: 1;
      margin-left: 8px;
      padding: 0;
    }
 }
 .p_storeListItemText_name{
   margin-bottom: 4px;
   color: #0F9F01;
   font-size: 20px;
   font-weight: 700;
 }
 @media screen and (max-width: 767px) {
   .p_storeListItemText_name{
     margin-bottom: 4px;
     font-size: 16px;
     line-height: 1em;
   }
 }
 .p_storeListItemText_address{
   margin-bottom: 0;
   font-size: 16px;
   line-height: 1.6em;
 }
 @media screen and (max-width: 767px) {
   .p_storeListItemText_address{
      margin-bottom: 2px;
     font-size: 14px;
     line-height: 1em;
   }
 }
 .p_storeListItemText_time{
   font-size: 16px;
   line-height: 1.6em;
 }
 @media screen and (max-width: 767px) {
   .p_storeListItemText_time{
      font-size: 14px;
      line-height: 1em;
    }
 }
 /*=============================================*
 * store-single
 *=============================================*/
 #cpt-store{
   padding: 85px 0 100px;
 }
 @media screen and (max-width: 767px) {
   #cpt-store{
      padding: 50px 0;
    }
 }
 .p_storeSingle{
   width: 960px;
   margin: 0 auto;
}
@media screen and (max-width: 767px) {
   .p_storeSingle{
      width: 100%;
   }
}
.p_storeSingle_title{
   margin-bottom: 36px;
   font-size: 36px;
   font-weight: 700;
 }
 @media screen and (max-width: 767px) {
   .p_storeSingle_title{
      margin-bottom: 24px;
      font-size: 20px;
   }
 }
 .p_storeSingleHeader{
   display: flex;
   flex-direction: column;
   gap: 12px;
   margin-bottom: 36px;
 }
 @media screen and (max-width: 767px) {}
.p_storeSingleHeader_item{
   display: grid;
   align-items: start;
   grid-template-columns: 6em auto;
   font-size: 16px;
}
@media screen and (max-width: 767px) {}

.p_storeSingleHeader_title{
   font-weight: 700;
}
@media screen and (max-width: 767px) {}
.p_storeSingleHeader_detail{
   grid-column: 2/3;
}
@media screen and (max-width: 767px) {}
.p_storeSingleHeader_item._icon .p_storeSingleHeader_detail{
   display: flex;
   flex-wrap: wrap;
   gap: 6px;
}
@media screen and (max-width: 767px) {}

.p_storeSingleHeader_item._icon .p_storeSingleHeader_detail span{
   display: inline-block;
   padding: 0 8px;
   border: solid 1px #0F9F01;
   border-radius: 4px;
   color: #0F9F01;
   text-align: center;
}
@media screen and (max-width: 767px) {}

.p_storeSingleBanner{
   display: flex;
   margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
   .p_storeSingleBanner{
      display: block;
      margin-bottom: 24px;
   }
}

.p_storeSingleBanner_image{
   margin-right: 24px;
   width: 360px;
}
@media screen and (max-width: 767px) {
   .p_storeSingleBanner_image{
      margin-right: 0;
      margin-bottom: 6px;
      width: 100%;
   }
}
.p_storeSingleBannerText{
   flex: 1;
}
.p_storeSingleBannerText_detail{
   margin-bottom: 12px;
   font-size: 16px;
   line-height: 1.4em;
}
@media screen and (max-width: 767px) {
   .p_storeSingleBannerText_detail{
      font-size: 14px;
   }
}

.p_storeSingleBannerText_detail span{
   color: #0F9F01;
   font-weight: 700;
}

.p_storeSingleBannerText_button{
   display: inline-block;
   width: 100%;
   padding: 12px 0;
   border: solid 1px #0F9F01;
   border-radius: 100vh;
   background-color: #FFF;
   color: #0F9F01;
   font-size: 16px;
   font-weight: 700;
   text-align: center;
   cursor: pointer;
   transition: all 0.5s;
}
.p_storeSingleBannerText_button:hover{
   background-color: #0F9F01;
   color: #FFF;
}
@media screen and (max-width: 767px) {
   .p_storeSingleBannerText_button{
      font-size: 12px;
   }
}
.p_storeSingleBannerText_modal{
   width: 640px;
   max-height: 480px;
   padding: 36px;
   border: none;
   border-radius: 24px;
   box-sizing: border-box;
}
@media screen and (max-width: 767px) {
   .p_storeSingleBannerText_modal{
      width: 100%;
      max-height: 86%;
      padding: 24px;
   }
}
.p_storeSingleBannerText_modal::backdrop{
   background-color: rgba(0,0,0,0.6);
}
.p_storeSingleBannerText_modal form h3{
   margin-bottom: 24px;
   font-size: 16px;
   font-weight: 700;
   text-align: center;
}
@media screen and (max-width: 767px) {
   .p_storeSingleBannerText_modal form h3{
      margin-bottom: 12px;
   }
}
.p_storeSingleBannerText_modal form p{
   margin-bottom: 0.5em;
   font-size: 12px;
   line-height: 2em;
   font-weight: 300;
}
@media screen and (max-width: 767px) {
   .p_storeSingleBannerText_modal form p{
      line-height: 1.4em;
   }
}

.p_storeSingleBannerText_modal form p._bold{
   margin-top: 24px;
   margin-bottom: 12px;
   font-size: 16px;
   font-weight: 700;
   line-height: 1em;
}
@media screen and (max-width: 767px) {
   .p_storeSingleBannerText_modal form p._bold{
      margin-top: 16px;
      margin-bottom: 8px;
   }
}

.p_storeSingleBannerText_modal form ul{
   margin-bottom: 24px;
   padding-left: 1.2em;
   list-style:disc;
}
@media screen and (max-width: 767px) {
   .p_storeSingleBannerText_modal form ul{
      margin-bottom: 16px;
   }
}

.p_storeSingleBannerText_modal form ul li{
   margin-bottom: 12px;
   font-size: 12px;
   line-height: 1.4em;
   font-weight: 300;
}
@media screen and (max-width: 767px) {
   .p_storeSingleBannerText_modal form ul li{
      margin-bottom: 6px;
   }
}

.p_storeSingleBannerText_modal form ul li:last-of-type{
   margin-bottom: 0;
}
.p_storeSingleBannerText_modal form button{
   display: inline-block;
   width: 100%;
   padding: 12px 0;
   border: solid 1px #0F9F01;
   border-radius: 100vh;
   background-color: #FFF;
   color: #0F9F01;
   font-size: 16px;
   font-weight: 700;
   text-align: center;
   cursor: pointer;
   transition: all 0.5s;
}
.p_storeSingleBannerText_modal form button:hover{
   background-color: #0F9F01;
   color: #FFF;
}
.p_storeSingleForm_calender{
   position: relative;
}
.p_storeSingleForm_calender::before,
.p_storeSingleForm_calender::after{
   content: "";
   display: inline-block;
   position: absolute;
   width: 100%;
   background-color: #FFF;
}
.p_storeSingleForm_calender::before{
   top: 0;
   left: 0;
   height: 40px;
}
.p_storeSingleForm_calender::after{
   bottom: 0;
   left: 0;
   height: 59px;
}
@media screen and (max-width: 767px) {
   .p_storeSingleForm_calender::after{
      height: 49px;
   }
}
.p_storeSingleForm_note{
   margin-bottom: 12px;
   font-size: 16px;
   line-height: 1.6em;
}
@media screen and (max-width: 767px) {
   .p_storeSingleForm_note{
      margin-bottom: 6px;
      font-size: 14px;
   }
}
.p_storeSingleForm_note._red{
   padding: 8px 12px;
   background-color: #FF4D36;
   color: #FFF;
   text-align: center;
}
@media screen and (max-width: 767px) {
   .p_storeSingleForm_note._red{
      text-align: left;
   }
}
.p_storeSingleForm_note._list{
   display: flex;
}
.p_storeSingleForm_note._list::before{
  content: "■";
  display: inline-block;
color: #0F9F01;
}
@media screen and (max-width: 767px) {
   .p_storeSingleForm_note._list{
      text-align: left;
   }
}
