@charset "UTF-8";
/*-- Foundation --*/
:root{
    --main-font:"Noto Sans JP", sans-serif;
    --eng-font:"Roboto", sans-serif;
    --serif-font:YuMincho,"Hiragino Mincho ProN",serif;
    --maru-font:"Zen Maru Gothic", sans-serif;
    --main-color:#64be3c;
    --white-color:#ffffff;
    --htxt-color:#00525a;
    --hctxt-color:#e50013;
    --sc-bg:#262626;
    --pad-min: 20px;/*-- container pad --*/
    --pad-max: 40px;
    --gap-min: 20px;/*-- grid gap --*/
    --gap-max: 30px;
    --vw-min: 900px;/*-- 変化終わり --*/
    --vw-max: 1200px;/*-- 変化始め --*/
}
html {
    font-size: clamp(7.5px,calc(7.5px + (10 - 7.5) * ((100vw - 768px) / (1200 - 768))),10px);
    font-family: var(--main-font);
}
body{
    line-height: 1.8;
    padding: 0;
    margin: 0;
}
a{transition: all .5s;opacity: 1;}
a:hover{opacity: .7}
img{width:100%;height:auto;}
#f-wrap{overflow-x: hidden;}
/*-- Font --*/
h1,h2,h3,h4,h5,p,li,dl,a{letter-spacing: 1px;margin:0;padding:0;}
li,li a,li p,p,dt,dd,th,td{font-size:16px;}
.white-txt{color:var(--white-color);}
.sans-txt{font-family: var(--main-font);}
.serif-txt{font-family: var(--serif-font);}
.eng-txt{font-family: var(--eng-font);}
.maru-txt{font-family: var(--maru-font);}
.mark-txt{
    margin-left: 1em;
    text-indent: -1em;
}
.txt110{font-size: 110px;}
.txt76{font-size: 76px;}
.txt68{font-size: 68px;}
.txt60{font-size: 60px;}
.txt54{font-size: 54px;}
.txt48{font-size: 48px;}
.txt44{font-size: 44px;}
.txt42{font-size: 42px;}
.txt38{font-size: 38px;}
.txt32{font-size: 32px;}
.txt30{font-size: 30px;}
.txt28{font-size: 28px;}
.txt24{font-size: 24px;}
.txt21{font-size: 21px;}
.txt20{font-size: 20px;}
.txt18{font-size: 18px;}
.txt16{font-size: 16px;}
.txt14{font-size: 14px;}
.txt13{font-size: 13px;}
.txt12{font-size: 12px;}
.txt11{font-size: 11px;}
.txt10{font-size: 10px;}
.subtxt{font-size: 14px;}
@media (max-width:1200px){
.txt70{font-size: 60px;}    
}
@media (max-width:900px){}
@media (max-width:768px){
li,li a,li p,p,dt,dd,th,td{font-size:14px;}
.txt110{font-size: 70px;}
.txt76{font-size: 48px;}
.txt68{font-size: 50px;}
.txt60{font-size: 48px;}
.txt54{font-size: 40px;}
.txt48{font-size: 30px;}
.txt44{font-size: 26px;}
.txt38{font-size: 24px;}
.txt32{font-size: 20px;}
.txt28{font-size: 22px;}
.txt24{font-size: 20px;}
.txt20{font-size: 18px;}
.txt18{font-size: 16px;}
.txt14{font-size: 12px;}
}

/*-- トリミング --*/
.l-cimg-32{position:relative;padding-bottom:66.66667%;height:0;overflow:hidden;}
.l-cimg-32 img{
    position: absolute;
    width: 100%!important;
    height: 100%!important;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: auto;
    object-fit: cover;
}
.l-cimg-43{position:relative;padding-bottom:75%;height:0;overflow:hidden;}
.l-cimg-43 img{
    position: absolute;
    width: 100%!important;
    height: 100%!important;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: auto;
    object-fit: cover;
}
.l-cimg-43c{position:relative;padding-bottom:75%;height:0;overflow:hidden;}
.l-cimg-43c img{
    position: absolute;
    width: auto!important;
    height: 100%!important;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: auto;
    object-fit: contain;
}
@media (max-width:640px){
.l-cimg-43c{position:relative;padding-bottom:0;height:auto;overflow:hidden;}
.l-cimg-43c img{
    position: relative;
    width: 100%!important;
    height: auto!important;
    top: 0%;
    left: 0%;
    -webkit-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
    margin: auto;
    object-fit: contain;
}    
}
/*-- iframe --*/
.l-iframe-map{position:relative;padding-bottom:50%;height:0;overflow:hidden;}
.l-iframe-map iframe{
    position: absolute;
    width: 100%!important;
    height: 100%!important;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: auto;
    object-fit: cover;
}
/*-- Flex --*/
.l-fl{display: flex;flex-wrap: wrap;}
.l-fl__bet{display: flex;flex-wrap: wrap;justify-content: space-between;}
.l-fl.l-nw9,.l-fl__bet.l-nw9{flex-wrap: nowrap;}
.l-fl.l-nw,.l-fl__bet.l-nw{flex-wrap: nowrap;}
.l-jcenter,.l-fl.l-fl__jcenter,.l-fl__bet.l-fl__jcenter{justify-content: center;}
.l-icenter,.l-fl.l-fl__icenter,.l-fl__bet.l-fl__icenter{align-items: center;}
.l-fl__p0{padding:0!important;}
.l-fl__5full{width:50%;max-width: 560px;}
.l-fl__3l,.l-fl__3r{width:30%;}
.l-fl__7l,.l-fl__7r{width:70%;}
.l-fl__6l,.l-fl__6r{width:60%;}
.l-fl__55l,.l-fl__55r{width:55%;}
.l-fl__5l,.l-fl__5r,.l-fl__left,.l-fl__right{width:50%;}
.l-fl__45l,.l-fl__45r{width:45%;}
.l-fl__4l,.l-fl__4r{width:40%;}
.l-fl__3l,.l-fl__4l,.l-fl__5l,.l-fl__55l,.l-fl__6l,.l-fl__7l{padding-right:30px;}
.l-fl__3r,.l-fl__4r,.l-fl__5r,.l-fl__55r,.l-fl__6r,.l-fl__7r{padding-left:30px;}
.l-fl__45l{padding-right:0px;}
.l-fl__45r{padding-left:0px;}
.l-fl__1{width:100%;}
.l-fl__2{width:calc(100%/2 - 15px);}
.l-fl__3{width:calc(100%/3 - 15px);}
.l-fl__4{width:calc(100%/4 - 15px);}
@media (max-width:1000px){
.l-fl__3{width:calc(100%/2 - 15px);}
}
@media (max-width:900px){
.l-fl__5l,.l-fl__5r,.l-fl__3l,.l-fl__3r,.l-fl__4l,.l-fl__4r,.l-fl__6l,.l-fl__6r,.l-fl__45l,.l-fl__45r,.l-fl__7l,.l-fl__7r{width:100%;padding:0;}
.l-fl.l-nw9,.l-fl__bet.l-nw9{flex-wrap: wrap;}
.l-fl__5full{width:100%;max-width: initial;}
.l-fl__3l{padding-right:0px;}
.l-fl__3r{padding-left:0px;}
.l-fl__3c{padding:0px;}
.l-fl__55l,.l-fl__55r,.l-fl__45l,.l-fl__45r,.l-fl__left,.l-fl__right{width:100%;}
.l-fl__55l,.l-fl__55r,.l-fl__45l,.l-fl__45r{padding:0px;}
.l-fl__2{width:100%;}
.l-fl__3{width:100%;}
.l-fl__4{width:100%;}
.l-fl__ol1{order:1;}
.l-fl__ol2{order:2;}
.l-fl__ol3{order:3;}
.l-fl__ol4{order:4;}
}
@media (max-width:768px){
.l-fl__ol1-7{order:1;}
.l-fl__ol2-7{order:2;}
.l-fl__ol3-7{order:3;}
.l-fl__ol4-7{order:4;}
}
@media (max-width:640px){
.l-fl__ol1-64{order:1;}
.l-fl__ol2-64{order:2;}
.l-fl__ol3-64{order:3;}
.l-fl__ol4-64{order:4;}
}
/*-- Grid --*/
.l-grid-eheight{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    gap: 0 30px;
    grid-auto-flow: column;             /* ★重要 */
}
.l-grid-eheight .l-grid-eheight__inner{
  display: contents; /* ★重要 */
}
.l-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(var(--gap-min),calc(var(--gap-min) + (var(--gap-max) - var(--gap-min)) * ((100vw - var(--vw-min)) / (var(--vw-max) - var(--vw-min)))),var(--gap-max));
    gap:30px;
}
.l-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(var(--gap-min),calc(var(--gap-min) + (var(--gap-max) - var(--gap-min)) * ((100vw - var(--vw-min)) / (var(--vw-max) - var(--vw-min)))),var(--gap-max));
    gap:30px;
}
.l-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(var(--gap-min),calc(var(--gap-min) + (var(--gap-max) - var(--gap-min)) * ((100vw - var(--vw-min)) / (var(--vw-max) - var(--vw-min)))),var(--gap-max));
    gap:30px;
}
.l-grid-2.l__img3{
  grid-template-columns: 30% 1fr;
}
.l-grid-2.l__img4{
  grid-template-columns: 40% 1fr;
}
.l-grid-2.r__img3{
  grid-template-columns:  1fr 30%;
}
.l-grid-2.r__img4{
  grid-template-columns:  1fr 40%;
}
@media (max-width:1200px){
.l-grid-4,.l-grid-3{
    grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width:900px){
.l-grid-eheight{
    grid-template-columns: 1fr; /* 1カラム */
    grid-template-rows: auto;   /* 自動 */
    grid-auto-flow: row;        /* 通常の流れに戻す */
    gap:40px 0;
}
.l-grid-eheight .l-grid-eheight__inner{
    display: block;
}
.l-grid-4,.l-grid-3{
    grid-template-columns: repeat(2, 1fr);
}
.l-grid-2 {
    gap:30px;
}
}
@media (max-width:768x){
.l-grid-4,.l-grid-3,.l-grid-2{
    gap:20px;
}
}
@media (max-width:640px){
.l-grid-4,.l-grid-3,.l-grid-2 {
    grid-template-columns: repeat(1, 1fr);
}
.l-grid-2.l__img3,.l-grid-2.l__img4,.l-grid-2.r__img3,.l-grid-2.r__img4{
  grid-template-columns: repeat(1, 1fr);
}
}
/*-- l-container --*/
.l-container{
    width:100%!important;
    max-width: 1200px!important;
    padding-left: clamp(var(--pad-min),calc(var(--pad-min) + (var(--pad-max) - var(--pad-min)) * ((100vw - var(--vw-min)) / (var(--vw-max) - var(--vw-min)))),var(--pad-max));
    padding-left: var(--pad-max);
    padding-right: clamp(var(--pad-min),calc(var(--pad-min) + (var(--pad-max) - var(--pad-min)) * ((100vw - var(--vw-min)) / (var(--vw-max) - var(--vw-min)))),var(--pad-max));
    padding-right: var(--pad-max);
    margin: 0 auto;
}
.l-container-full{
    width:100%!important;
    max-width: 1200px!important;
    padding-left: clamp(var(--pad-min),calc(var(--pad-min) + (var(--pad-max) - var(--pad-min)) * ((100vw - var(--vw-min)) / (var(--vw-max) - var(--vw-min)))),var(--pad-max));
    padding-left:var(--pad-max);
    padding-right: clamp(var(--pad-min),calc(var(--pad-min) + (var(--pad-max) - var(--pad-min)) * ((100vw - var(--vw-min)) / (var(--vw-max) - var(--vw-min)))),var(--pad-max));
    padding-right: var(--pad-max);
    margin: 0 auto;
}
.l-container-16{
    width:100%!important;
    max-width: 1600px!important;
    padding-left: clamp(var(--pad-min),calc(var(--pad-min) + (var(--pad-max) - var(--pad-min)) * ((100vw - var(--vw-min)) / (var(--vw-max) - var(--vw-min)))),var(--pad-max));
    padding-left: var(--pad-max);
    padding-right: clamp(var(--pad-min),calc(var(--pad-min) + (var(--pad-max) - var(--pad-min)) * ((100vw - var(--vw-min)) / (var(--vw-max) - var(--vw-min)))),var(--pad-max));
    padding-right: var(--pad-max);
    margin: 0 auto;
}
@media (max-width:1200px){
.l-container{max-width: 960px!important;}
}
@media (max-width:1000px){
.l-container{max-width: 880px!important;}
}
@media (max-width:900px){
.l-container,.l-container-full,.l-container-16{padding-left:var(--pad-min);padding-right:var(--pad-min);}
.l-container{max-width: 100%!important;}
}
@media (max-width:768px){
.l-container.l-container__7sp{padding: 0px;}
}

/*-- ------------- --*/
/*-- component css --*/
/*-- ------------- --*/
/*-- display css --*/
.c-pc-6{display: block!important;}
.c-pc-7{display: block!important;}
.c-pc-9{display: block!important;}
.c-pc-92{display: block!important;}
.c-pc-12{display: block!important;}
.c-pc-10{display: block!important;}
.c-pc-6f,.c-pc-7f,.c-pc-9f,.c-pc-92f,.c-pc-12f,.c-pc-10f{display: flex!important;}
.c-sp-6,.c-sp-6f{display: none!important;}
.c-sp-7,.c-sp-7f{display: none!important;}
.c-sp-9,.c-sp-9f{display: none!important;}
.c-sp-9,.c-sp-9f{display: none!important;}
.c-sp-10,.c-sp-10f{display: none!important;}
.c-sp-12,.c-sp-12f{display: none!important;}
.c-sp-92,.c-sp-92f{display: none!important;}
@media (max-width:1200px){
.c-pc-12,.c-pc-12f{display: none!important;}
.c-sp-12{display: block!important;}
.c-sp-12f{display: flex!important;}
}
@media (max-width:1000px){
.c-pc-10,.c-pc-10f{display: none!important;}
.c-sp-10{display: block!important;}
.c-sp-10f{display: flex!important;}
}
@media (max-width:992px){
.c-pc-92,.c-pc-92f{display: none!important;}
.c-sp-92{display: block!important;}
.c-sp-92f{display: flex!important;}
}
@media (max-width:900px){
.c-pc-9,.c-pc-9f{display: none!important;}
.c-sp-9{display: block!important;}
.c-sp-9f{display: flex!important;}
}
@media (max-width:768px){
.c-pc-7,.c-pc-7f{display: none!important;}
.c-sp-7{display: block!important;}
.c-sp-7f{display: flex!important;}
}
@media (max-width:640px){
.c-pc-6,.c-pc-6f{display: none!important;}
.c-sp-6{display: block!important;}
.c-sp-6f{display: flex!important;}
}

/*- ------------ -*/
/*- アニメーション -*/
/*- ------------ -*/
/*--------------*/
/*-ズームして表示-*/
/*-------------*/
.zoomin{
    -webkit-transition: all .8s ease-out;
    -o-transition: all .8s ease-out;
    transition: all .8s ease-out;
    opacity: 0;
    transform: scale(1.2);
}
.zoomin.active{
    opacity: 1;
    transform: scale(1);
}
/*--------*/
/*- FADE -*/
/*--------*/
.fadein,.fadein-top{
    -webkit-transition: all .8s ease-out;
    -o-transition: all .8s ease-out;
    transition: all .8s ease-out;
    opacity: 0;
}
.fadein.active,.is_active .fadein-top{
    opacity: 1;
}
/*---------------*/
/*-FADE+ブラー表示-*/
/*----------------*/
.bfadein,.bfadein-top{
    -webkit-transition: all .8s ease-out;
    -o-transition: all .8s ease-out;
    transition: all .8s ease-out;
    opacity: 0;
    filter: blur(4px);
}
.bfadein.active,.is_active.bfadein-top{
    opacity: 1;
    filter: blur(0px);
}
/*----------------*/
/*- 下からスライド -*/
/*----------------*/
.botin,.botin-top{
    -webkit-transition: all .8s ease-out;
    -o-transition: all .8s ease-out;
    transition: all .8s ease-out;
    opacity: 0;
    transform: translateY(30px);
}
.botin.active,.is_active.botin-top{
    opacity: 1;
    transform: translateY(0);
}

/*----------------*/
/*- 左からスライド -*/
/*----------------*/
.leftin,.leftin-top{
    -webkit-transition: all .8s ease-out;
    -o-transition: all .8s ease-out;
    transition: all .8s ease-out;
    opacity: 0;
    transform: translateX(-30px);
}
.leftin.active,.is_active.leftin-top{
    opacity: 1;
    transform: translateX(0);
}
/*----------------*/
/*- 右からスライド -*/
/*----------------*/
.rightin,.rightin-top{
    -webkit-transition: all .8s ease-out;
    -o-transition: all .8s ease-out;
    transition: all .8s ease-out;
    opacity: 0;
    transform: translateX(30px);
}
.rightin.active,.is_active.rightin-top{
    opacity: 1;
    transform: translateX(0);
}
/*-----------------*/
/*- 左下からスライド -*/
/*-----------------*/
.leftbotin,.leftbotin-top{
    -webkit-transition: all .8s ease-out;
    -o-transition: all .8s ease-out;
    transition: all .8s ease-out;
    opacity: 0;
    transform: translateX(-40px)translateY(40px);
}
.leftbotin.active,.is_active.leftbotin-top{
    opacity: 1;
    transform: translate(0,0);
}
/*------------------*/
/*- 右下からスライド -*/
/*-----------------*/
.rightbotin,.rightbotin-top{
    -webkit-transition: all .8s ease-out;
    -o-transition: all .8s ease-out;
    transition: all .8s ease-out;
    opacity: 0;
    transform: translateX(40px)translateY(40px);
}
.rightbotin.active,.is_active.rightbotin-top{
    opacity: 1;
    transform: translate(0,0);
}
