@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import url('https://fonts.googleapis.com/css2?family=Homemade+Apple&family=Roboto:ital,wdth,wght@0,75..100,100..900;1,75..100,100..900&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
/*==========================================================================*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/

/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
font-size: 160%;
-webkit-text-size-adjust: none;
font-weight: 400;
}
html:focus-within {scroll-behavior: smooth;}
img {vertical-align: middle;max-width: 100%;flex-shrink: 0;height: auto;}
*,
::before,
::after{box-sizing:border-box;outline: none;}
select { visibility: visible !important; }
a{transition:all ease 0.3s;text-decoration:none;color: var(--txt);}
a[href^="tel:"] {word-break: keep-all;}
iframe{width: 100%;height: 100%;border:none;outline:none;}
/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html{background:#F8FAF2}
body{color:var(--txt);-webkit-text-size-adjust:none;min-width:320px;font-family: var(--font-main)}
select,
input,
textarea{font-family: var(--font-main)}
table {width: 100%}
h1,h2,h3,h4,h5,h6{line-height: 1.5;}
p,
dd,
dt,
li,
th,
td,
address{line-height: 1.875em;letter-spacing: 0.05em;font-weight: 500;}
p {margin: 0 0 1.5em;}
p:last-child{margin-bottom: 0}

.bold{font-weight: bold;}
.left{text-align:left}
.right{text-align: right;}
.auto{margin-left: auto; margin-right: auto;}
.red{color: var(--red);}
.txt_line{text-decoration: underline;}
.m0a{display: block;margin: 0 auto;}
.f_big{font-size: 150%;}
.f_sm{font-size: 80%;}
.en {font-family: var(--f-en);}
.en_lager {font-family: var(--f-app);}

:root {
  --font-main: "Zen Kaku Gothic New", sans-serif;
	--f-en: "Roboto", sans-serif;
	--f-app: "Homemade Apple", cursive;
  --txt: #454545;     
  --mcolor: #48BA43;
  --scolor: #9F7A3F; 
  --site_size: 1230px;
  
  --gray: #e9e9e9;
  --blue: blue;
  --red: red;

}

#wrapper{min-width: 1260px;overflow:hidden;margin:0 auto}
.inner{width: var(--site_size);margin:0 auto;position:relative;max-width: 100%;padding: 0 15px;}

/*==========================================================
                       H E A D E R  
==========================================================*/
header{position: relative; z-index: 10;}
.h_box{width:100%;position: fixed;background-color: rgba(255,255,255,0.8);height: 120px;box-shadow: 0px 0px 20px 0px rgba(186, 172, 0, 0.15);}
.h_inner{display:flex;justify-content:space-between;align-items: center;height: 100%;width: 1920px;padding: 0 21px 0 45px;}
#logo {margin: 0;}
.h_right { display: flex; align-items: center; }
.btn_contact a {background: url("../images/ic_contact.svg") no-repeat center center/100% auto;width: 188px;height: 75px;display: flex;justify-content: center;align-items: center;color: #fff;text-align: center; filter: drop-shadow(0 0 20px rgba(136,186,0,0.4));font-weight: 700;padding: 0 0 0 22px;}
.btn_contact {margin: 0 0 0 30px;}
/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main{position: relative; z-index: 2;}
.idx_main { background: #F8FAF2; position: relative; z-index: 2; margin-top: 100px;}
.idx_main::before {content: '';position: absolute;background: url("../images/idx_wave.png") no-repeat top center/100% auto;height: 300px;left: 0;top: -100px;width: 100%;z-index: -3;pointer-events: none;}
.mv_bg { position: fixed; width: 100%; height: 100%; top: 0; left: 0; }
.mv{position: relative;padding: 100vh 0 0; margin: 0 auto;}
.main_slider.slick-initialized .slick-slide { height: 100vh; }
.mv::before {content: '';position: absolute;background: url("../images/mv_mask.png") no-repeat bottom center/cover;width: 100%;height: calc(100% + 50px);top: 0;left: 0;z-index: 3;pointer-events: none;}
.mv_txt{width: 100%;position: absolute;top: 0;left: 0;height: 100%;display: flex;align-items: center;padding-bottom: 140px;}
.mv_txt .inner {width: 1710px;}
.mv_btn { margin: 0; position: absolute; z-index: 3; bottom: 68px; left: 50%; transform: translateX(-50%); font-size: 14px;letter-spacing: 0.15em;font-family: var(--f-en);font-weight: 700;}
.mv_btn a {display: flex;justify-content: center;align-items: center;width: 182px;height: 60px;border: 1px solid #fff;border-radius: 40px;color: #fff;}
.mv_btn a::before {content: '';position: relative;display: inline-block;background: url("../images/ic_arr_down.svg") no-repeat center center/100% auto;width: 10px;height: 10px;margin: 0 13px 0 2px;}
.main_slider .slide_item .bg{position:absolute;width:100%;height:100%;z-index:0;top:0;left:0;background-size:cover;background-position:center}
.main_slider .slide_item.zoomed .bg{animation-name:zoomImg;animation-duration:4s;animation-timing-function:linear;animation-fill-mode:forwards}
.main_slider {height: 940px;overflow: hidden;}
.main_slider.slick-initialized {height: auto;overflow: inherit;}
.main_slider .slide_item img {opacity: 0;}
.main_slider .slide_item.item1 .bg {background: url("../images/mv_slide1_pc.jpg") no-repeat center center/cover;}
.main_slider .slide_item.item2 .bg {background: url("../images/mv_slide2_pc.jpg") no-repeat center center/cover;}
.main_slider .slide_item.item3 .bg {background: url("../images/mv_slide3_pc.jpg") no-repeat center center/cover;}
.slide_item::before, .slide_item::after {content: '';position: absolute;mix-blend-mode: screen;pointer-events: none;z-index: 2; animation: animemv 5s ease infinite}
.slide_item::before {background: url("../images/mv_ic_mask1.png") no-repeat top left/100% auto;width: 905px;height: 810px;left: -122px;bottom: -170px;}
.slide_item::after {background: url("../images/mv_ic_mask2.png") no-repeat top right/100% auto;width: 487px;height: 599px;right: 0;top: 0;}

@keyframes zoomImg { 0%{transform:scale(1.06)} 100%{transform:scale(1.0)}}
@keyframes animemv {
0% {transform: translateY(max(1%, 5px)) rotate(-1deg);}
50% {transform: translateY(min(-1%, -5px)) rotate(1deg);}
100% {transform: translateY(max(1%, 5px)) rotate(-1deg);}
}
/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.idx_ttl {font-size: 33px;font-weight: 700;letter-spacing: 0.05em;text-align: center;position: relative;z-index: 2;margin: 0 0 11px;}
.idx_ttl::before {content: '';position: relative;display: block;background: url("../images/ic_ttl.svg") no-repeat center center/100% auto;width: 41px;height: 44px;margin: 0 auto 15px;}
.idx_ttl .small {color: var(--mcolor);font-size: 60.66%;letter-spacing: 0.05em;display: block;}
.idx_ttl .lager {display: block;font-size: 106.06%;letter-spacing: 0.05em;line-height: 1.86em;}
.idx_ttl .lager .mid {display: block;font-size: 114.29%;letter-spacing: 0.05em;}
.idx_ttl .en_lager { font-size: 109px; color: #fff; letter-spacing: 0.05em; position: absolute; font-weight: 400; transform: rotate(15deg); top: 75px; left: calc(50% + 122px);z-index: -1; }
.idx_ttl .en {display: block;color: var(--mcolor);font-size: 16px;letter-spacing: 0.05em;margin-top: 7px;}

/* DEFAUTL NAME BUTTON */
.btn a{width: 225px; height: 90px; display: flex; justify-content: center; align-items: center; background: var(--mcolor); color: #fff;text-decoration: none;mask-image: url("../images/btn_mask.png");mask-repeat: no-repeat;mask-size: 100% auto;margin: 0 auto;}
.btn.center a{margin-left: auto; margin-right: auto;}

section{padding: 40px 0;}

/*==================== SEC01 ===================*/
.sec01 {position: relative;padding: 66px 0 0;}
.sec01::after {content: '';position: absolute;width: 100%;background: url("../images/sec01_bg.png") no-repeat top center;height: 2450px;top: 45px;left: 0;z-index: -3;pointer-events: none;animation: rotateFloatYAnime 15s ease infinite}
@keyframes rotateFloatYAnime {
0% {transform: translateY(max(1%, 10px));}
50% {transform: translateY(min(-1%, -10px));}
100% {transform: translateY(max(1%, 10px));}
}
.sec01 .inner {width: 1920px;}
.sec01 .idx_ttl { max-width: 1410px; margin: 0 auto;text-align: left;}
.sec01 .idx_ttl .small {display: inline-block;}
.sec01 .idx_ttl::before {display: inline-block;top: 6px;margin: 0 5px 0 0;}
.sec01_ttl { max-width: 1410px; margin: 58px auto 0; padding: 0 64px; }
.sec01_img { display: flex; justify-content: space-between; align-items: flex-start; flex-direction: row-reverse; margin: 0; }
.sec01_img .img {flex-shrink: 0;position: relative;}
.sec01_img .img:nth-child(1) { margin: -312px -134px 0 0; }
.sec01_img .img:nth-child(2) { margin: 67px 222px 0 0; }
.sec01_img .img:nth-child(3) { margin: 141px -2px 0 0; }
.sec01_img .img:nth-child(3)::after {content: '';position: absolute;background: url("../images/sec01_ic2.png") no-repeat center center/100% auto;width: 102px;height: 99px;right: 20px;bottom: 90px;z-index: 2;pointer-events: none;}
.sec01_main {max-width: 1445px;margin: -409px auto 0;display: flex;justify-content: flex-end;}
.sec01_txt p {font-size: 18px;line-height: 2.17em;margin-bottom: 2.15em;}
.sec01_txt p:last-child {margin-bottom: 0;}
/*==================== SEC02 ===================*/
.sec02 {padding: 98px 0 76px;}
.sec02 .idx_ttl .small {font-size:63.64%;margin: 0 0 19px;}
.sec02_note { text-align: center; font-size: 13px; font-weight: 400; margin: 0 0 48px;}
.sec02_list_logo { display: flex; justify-content: space-between; max-width: 1100px; margin: 0 auto 64px; }
.sec02_list_logo li {width: calc((100% - 99px)/4);}
.sec02_list_logo li a {display: flex;justify-content: center;align-items: center;background: #fff;height: 140px;border-radius: 27px;box-shadow: 0px 0px 20px 0px rgba(186,172,0,0.2);}
.sec02_ttl { text-align: center; color: var(--mcolor); font-size: 25px; font-weight: 700; display: flex; justify-content: center; align-items: center;margin: 0 0 35px; }
.sec02_ttl::before, .sec02_ttl::after {content: '';position: relative;display: inline-block;background: url("../images/sec02_ttl_line.svg")  no-repeat center center/100% auto;width: 16px;height: 33px;}
.sec02_ttl .txt {margin: 0 20px;}
.sec02_ttl::after {transform: rotateY(180deg);}
.sec02 .inner {width: 1880px;}
.sec02_list { display: flex; justify-content: space-between;margin: 0 auto 50px;max-width: 1810px; }
.sec02_item {position: relative;padding: 30px 0 0 30px;line-height: 1.5625em;font-weight: 700;font-size: 16px;margin: 0;width: calc((100% - 160px)/5);}
.sec02_item .ttl {position: absolute;left: 0;top: 10px;background: #fff;border-radius: 20px;box-shadow: 0px 0px 20px 0px rgba(186,172,0,0.1);padding: 26px 35px 23px;letter-spacing: 0.05em;}
.sec02_item img {border-radius: 27px;}
.sec02_list {height: 314px;overflow: hidden;}
.sec02_list.slick-initialized {height: auto;overflow: inherit;}
/*==================== SEC03 ===================*/
.sec03 {background: url("../images/sec03_bg.png") no-repeat top center;mask-image: url("../images/sec03_bg.png");mask-repeat: no-repeat;padding: 0;mask-size: 100% auto;}
.sec03 .inner {width: 1835px;display: flex;justify-content: flex-end;align-items: flex-start;height: 1126px;padding: 256px 15px 200px;}
.sec03 .idx_ttl {color: #fff;margin-bottom: 80px;}
.sec03 .idx_ttl::before {background-image: url("../images/sec03_ic_ttl.svg");margin-bottom: 12px;}
.sec03 .idx_ttl .en_lager { opacity: 0.2; transform: rotate(-15deg); left: auto; right: calc(50% - 154px); top: -19px; }
.sec03_left { margin: 137px 165px 0 0;width: 450px; }
.sec03_list { width: 1070px; }
.sec03_dot.slick-initialized .slick-slide {width: 81px;height: 81px;border: 1px solid #fff;border-radius: 50%;display: flex;justify-content: center;align-items: center;text-align: center;cursor: pointer;font-size: 20px;margin: 0 7px;font-family: var(--f-en);font-weight: 700;color: #fff;transition: all 0.3s;}
.sec03_dot.slick-initialized .slick-slide.slick-current {background: #85CE4F;border-color: #85CE4F;cursor: auto;}
.sec03_dot .slick-track {width: 100%!important;transform: none!important;display: flex;justify-content: center;}
.sec03_list.slick-initialized .slick-slide {position: relative;padding-top: 42px;border: none;transform: scale(0.76);opacity: 0.4;transition: all 0.3s;margin: 0 0 -25px;}
.sec03_item_info {background: #fff;border-radius: 20px;padding: 30px 30px 30px 100px;display: flex;justify-content: space-between;align-items: center;}
.sec03_item_num {margin: 0;position: absolute;width: 85px;height: 85px;border-radius: 50%;display: flex;justify-content: center;align-items: center;font-family: var(--f-en);color: #fff;top: 0;left: 45px;font-size: 24px;font-weight: 700;background: #85CE4F;}
.sec03_list .slick-list {overflow: visible;}
.sec03_list.slick-initialized .slick-slide.slick-current {transform: scale(1);opacity: 1;}
.sec03_item_img { flex-shrink: 0; margin: 0 0 0 80px; }
.sec03_item_img img {border-radius: 10px;}
.sec03_item_ttl { font-weight: 700; font-size: 29px; color: var(--mcolor); line-height: 1.62em;margin: -6px 0 33px; }
.sec03_item_ttl .en {display: block;font-size: 17px;color: #85CE4F;letter-spacing: 0.05em;text-transform: uppercase;margin: 0 0 -1px;}
.sec03_item_txt { line-height: 2em; }
.sec03_list {height: 552px;overflow: hidden;}
.sec03_list.slick-initialized {height: auto;overflow: inherit;}
/*==================== SEC04 ===================*/
.sec04 { background: #fff; margin-top: -39px; position: relative; z-index: 2; padding: 47px 0 102px; }
.sec04::before {content: '';position: absolute;background:url("../images/sec04_ic_top.svg") no-repeat top center/100% auto;width: 420px;height: 95px;top: -80px;left: calc(50% - 210px);pointer-events: none;z-index: -2;}
.sec04 .inner {width: 1583px;}
.sec04 .idx_ttl { margin-bottom:47px; }
.sec04_list { display: flex; justify-content: space-between;margin-bottom: 50px;counter-reset: item;margin-right: 13px; }
.sec04_item {width: calc((100% - 20px)/5);font-weight: 700;position: relative;padding: 19px 0 0 30px;counter-increment: item;font-size: 16px;}
.sec04_item .ttl { position: absolute; background: #fff; left: 0; bottom: 20px; border-radius: 20px; box-shadow: 0px 0px 20px 0px rgba(186, 172, 0, 0.1); padding: 26px 35px;letter-spacing: 0.05em; }
.sec04_item::before { counter-increment: li; content: counter(item, decimal-leading-zero); position: absolute;width: 59px;height: 59px;background: #B3E660;border-radius: 50%;font-size: 18px;letter-spacing: 0.05em;font-weight: 700;font-family: var(--f-en);left: 8px;top: 0;display: flex;justify-content: center;align-items: center;text-align: center;color: #fff;}
.sec04_item.itm2::before {background: #A3E05C;}
.sec04_item.itm3::before {background: #81D153;}
.sec04_item.itm4::before {background: #6FCA4D;}
.sec04_item.itm5::before {background: #48BA43;}
/*==================== SEC05 ===================*/
.sec05 {padding: 107px 0 218px;}
.sec05_top { display: flex; justify-content: space-between; align-items: center; max-width: 1100px;margin: 0 auto 56px;}
.sec05 .idx_ttl {text-align: left;}
.sec05 .idx_ttl::before {margin: 0 0 15px;}
.sec05 .inner {width: 1830px;}
.sec05_list { display: flex; justify-content: space-between; max-width: 1770px;margin: 0 auto;}
.sec05_ttl { font-size: 28px; font-weight: 700; color: var(--mcolor); line-height: 1.89em; padding: 15px 0 0; }
.sec05_item {position: relative;padding: 0 0 110px 40px;margin: 0;width: calc((100% - 100px)/5);}
.sec05_item_img { margin: 0; }
.sec05_item_note { margin: 0; position: absolute; display: flex; right: 15px; top: 15px; font-size: 14px; color: #fff;flex-wrap: wrap;width: 100%;justify-content: flex-end;}
.sec05_item_note .txt{background: var(--scolor);text-align: center;margin-left: 5px;border-radius: 20px;padding: 3px 10px;margin-bottom: 5px;}
.sec05_item_note .txt:nth-child(even){background: #85CE4F;}
.sec05_item_main { width: 320px; background: #fff; border-radius: 20px; padding: 30px 20px 27px; position: absolute; bottom: 0; left: 0; box-shadow: 0px 0px 20px 0px rgba(186, 172, 0, 0.1); min-height: 161px;max-width: calc(100% - 20px);}
.sec05_item_txt { font-size: 14px; color: #A2A2A2; }
.sec05_item_ttl  {font-weight: 700; line-height: 1.5em; margin: 0 0 6px; }
.sec05_list {height: 450px;overflow: hidden;}
.sec05_list.slick-initialized {height: auto;overflow: inherit;}

/*==========================================================
                        F O O T E R
==========================================================*/
footer{background: url("../images/ft_bg.png") no-repeat top center;padding: 202px 0 0;position: relative;z-index: 2;margin-top: -100px;}
footer::before { content: ''; position: absolute; background: url(../images/ft_mask.png) no-repeat top center; width: calc(100% + 22px); height: 100%; top: -46px; left: 0; z-index: -2; pointer-events: none; }
.ft_top_ttl {background: url("../images/ft_bg_txt.png") no-repeat right 6px center;font-size: 38px;font-weight: 700;line-height: 1.71em;background-clip: text; -webkit-background-clip: text; color: transparent;display: inline-block;margin: 0 0 36px;}
footer .inner {width: 1810px;}
.ft_top { max-width: 1420px; margin: 0 auto 156px; display: flex; justify-content: space-between; align-items: flex-start; }
.ft_top_txt { font-size: 18px; font-weight: 700; line-height: 1.84em; }
.ft_contact { margin: 14px 30px 0 0; }
.ft_contact a { background: #fff; display: flex; width: 562px; height: 204px; border-radius: 11px; position: relative; font-size: 25px; font-weight: 700; letter-spacing: 0.05em; color: var(--mcolor); align-items: flex-end; padding: 45px 44px; overflow: hidden;}
.ft_contact .txt {display: flex;align-items: center;}
.ft_contact .txt::after {content: '';position: relative;display: inline-block;background: url("../images/ft_arr.svg") no-repeat center center/100% auto;width: 24px;height: 24px;margin: 0 0 0 13px;top: 2px;}
.ft_contact .en_lager { font-size: 98px; color: #48BA43; opacity: 0.08; position: absolute; transform: rotate(14deg); line-height: 1em; font-weight: 400; right: -10px; top: 31px; letter-spacing: 0.05em; transition: all 0.3s;}
.ft_contact a::after {content: '';position: absolute;background: url("../images/ic_mail.svg") no-repeat center center/100% auto;width: 37px;height: 27px;right: 26px;top: 28px;transition: all 0.3s;}
.ft_main { background: #fff; border-top-left-radius: 30px; border-top-right-radius: 30px; display: flex; }
.ft_main_right { width: 670px; background: #F8FAF2; border-top-right-radius: 30px;padding: 95px 75px; }
.ft_main_left {flex: 1;padding: 100px 110px 58px;}
.ft_logo { margin: 0 0 35px 0; }
.ft_bnr { clear: both; margin: 50px 0 0; }
.ft_bnr a { display: block; text-align: center; background: #fff; border: 1px solid #192548; }
.ft_main_btn li a { display: flex; height: 120px; background: url("../images/ic_link_blank.svg") no-repeat right 20px top 20px #fff; font-size: 20px; font-weight: 700; color: var(--mcolor); letter-spacing: 0.05em; border-radius: 11px;align-items: center;padding: 20px 45px;}
.ft_main_btn li:not(:last-child) {margin-bottom: 15px;}


.ft_link { margin: 7px 0 0; display: flex; flex-direction: column; flex-wrap: wrap; height: 300px; }
.ft_link > li { margin: 0 0 14px; }
.ft_link > li p{margin-bottom: 0;font-weight: 700; }
.ft_link > li a { position: relative; padding-left: 30px;display: inline-block;}
.ft_link > li a::before {content: '';position: absolute;background: url("../images/ic_arr.svg") no-repeat center center/100% auto;width: 18px;height: 18px;left: 0;top: 6px;}

.ft_link ol{padding-left: 35px;}
.ft_link ol li:not(:last-child){margin-bottom: 5px;}
.ft_link ol li a{position: relative;padding-left: 15px;font-size: 14px;}
.ft_link ol li a::before{width: 6px;height: 6px;background: var(--mcolor);border-radius: 50%;content: '';position: absolute;top: 13px;left: 0;}

address{ font-size: 14px;color: #606060;letter-spacing: 0.05em;font-weight: 400;}

/* BACK TO TOP */
.to_top{position:fixed;z-index:9;width:60px; bottom:10px;right:20px;cursor:pointer;transition:all .2s;opacity:0;display: block;border-radius: 50%;overflow: hidden;}
.to_top.show{transform:scale(1);opacity:1;visibility:visible}