@charset "UTF-8";

/*-------------------------------*/
/*------------main-------------*/
/*-------------------------------*/
.main-visial{
width: 100%;
height: 100svh;
background-image: url(../img/main_back.webp);
background-position: center;
background-size: cover;
/*要素中心*/
  display: grid;
  justify-items: center; /*横*/
  align-items: center; /*縦*/
  /* 初期状態 */
  opacity: 0;
}
/* OP終了後に表示 */
.is-animate .main-visial{
  animation: main-ph 0.5s ease-out forwards;
}
@keyframes main-ph {
  to {
    opacity: 1;
  }
}
/* 2回目以降 */
.no-anime .main-visial{
  animation: none;
  opacity: 1;
}







/*------ロゴマーク ---------*/
.main-visial .main-visial_logo{
  width: 95vmin;
  margin-top: -20svh;
  /* 初期状態 */
  opacity: 0;
}
/* OP終了後に表示 */
.is-animate .main-visial .main-visial_logo{
  animation: logo-title-anima 2s ease-out forwards;
animation-delay: 1s;
}
@keyframes logo-title-anima {
  to {
    opacity: 1;
  }
}
/* 2回目以降 */
.no-anime .main-visial .main-visial_logo{
  animation: none;
  opacity: 1;
}
@media screen and (max-width: 1200px) {
  .main-visial .main-visial_logo{
    width: 80vmin;
    margin-top: -15svh;
  }
}


/*------op anime ---------*/
.op_anime {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  transition: opacity 1s ease, visibility 1s ease;
}
#op_anime {
  position: absolute;
  inset: 0;
  z-index: 100;
}
#op_anime svg {
  width: 100%;
  height: 101%;
margin-top: -0.5%;
}
@media screen and (max-width: 768px) {
#op_anime svg {
  width: 100%;
  height: 103%;
margin-top: -1.5%;
}
}

/* jsに消す記述あり */
.op_anime.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}





/*-------------------------------*/
/*------------op-------------*/
/*-------------------------------*/
.op{
margin-top: -20svh;
}
@media screen and (max-width: 768px) {
.op{
margin-top: -15svh;
}
}

/* TOP 山イラスト-------------------- */
.op .op_top{
  width: 100%;
  background-image: url(../img/op_top.svg);
  background-position: top center;
  background-size: cover;
  height: 20svh;
  text-align: center;
  /* 初期状態 */
  opacity: 0;
  transform: translateY(20px);
}
/* OP終了後に発火 */
.is-animate .op .op_top{
  animation: op_mountain 0.5s ease-out forwards;
animation-delay: 2s;
}
@keyframes op_mountain {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 2回目以降 */
.no-anime .op .op_top{
  animation: none;
  opacity: 1;
  transform: translateY(0);
}

/* 北海道マーク ----------------------*/
.op .op_top .hokkaido-img{
  height: 25svh;
  margin-top: -7svh;
  margin-right: -5vw;
  overflow: hidden;
  /* 初期状態 */
  opacity: 0;
}
/* OP終了後に表示 */
.is-animate .op .op_top .hokkaido-img{
  animation: op_hokkaido 0.5s ease-out forwards;
animation-delay: 2.5s;
}
@keyframes op_hokkaido {
  to {
    opacity: 1;
  }
}
/* 2回目以降 */
.no-anime .op .op_top .hokkaido-img{
  animation: none;
  opacity: 1;
}

@media screen and (max-width: 768px) {
.op .op_top{
height: 15svh;
}
.op .op_top .hokkaido-img{
  margin-right: -7vw;
height: 18svh;
margin-top: -4svh;
}
}



/* 内容------------------------------- */
.op .op_midterm{
background-color: var(--color-green);
overflow-x: clip;
margin-top: -1px;
}

.op .op_midterm .op_midterm_content{
max-width: 1500px;
margin: 0 auto;
padding-top: 4vw;
display: grid;
align-items: flex-start;
grid-template-columns: 20% 60% 20%;/* 横幅 */
  grid-template-areas:
    "Il D W"
    "Il D W"
    "P D W"
    "O O F"
    "O O Ir";
}
@media screen and (max-width: 768px) {
.op .op_midterm .op_midterm_content{
padding: 16vw 0 0 0;
margin-top: 0;
display: grid;
align-items: flex-start;
grid-template-columns: 7% 86% 7%;/* 横幅 */
  grid-template-areas:
    ". D ."
    ". D ."
    ". D ."
    ". O ."
    ". O .";
background-image: url(../img/op_illust_left.svg),url(../img/op_illust_right.svg);
background-size: 38vw,28vw;
background-position: left -14vw top,right -7vw top;
}
}



/* 北海道と本文 */
.op_midterm_content .details{
grid-area: D;
align-self: start;
text-align: center;
padding: 0 3% 3% 3%;
color: var(--color-white);
}
.op_midterm_content .details .title{
/*font-size: clamp(最小値, それ以外, 最大値);*/
font-size: clamp(calc(24 * var(--rem)), 4vw, calc(60 * var(--rem)));
font-weight: 600;
letter-spacing: 0.4vw;
margin-bottom: 30px;
margin-top: -3.5vw;
}
.op_midterm_content .details p{
font-size: calc(18 * var(--rem));
line-height: calc(34 * var(--rem));
color: var(--color-white);
}
@media screen and (max-width: 890px) {
.op_midterm_content .details p{
text-align:left;
padding: 6%;
}
.op_midterm_content .details p br{
display: none;
}
}
@media screen and (max-width: 768px) {
.op_midterm_content .details .title{
font-size: 6vw;
margin-bottom: 10px;
margin-top: -9vw;
}
.op_midterm_content .details p{
text-align:left;
font-size: calc(14 * var(--rem));
line-height: calc(24 * var(--rem));
padding: 0;
}
}




/* 写真全部 */
.op_midterm_content .img{
object-fit: cover;
border-radius: var(--radius);
}

/* ポテト写真 */
.op_midterm_content .potato{
grid-area: P;
}
@media screen and (max-width: 768px) {
.op_midterm_content .potato{
display: none;
}
}

/* 仕事写真 */
.op_midterm_content .work{
grid-area: W;
height: 100%;
padding-top: 30%;
padding-bottom: 5%;
}
.op_midterm_content .work .img{
width: 80%;
height: 80%;
}
@media screen and (max-width: 768px) {
.op_midterm_content .work{
display: none;
}
}

/* ワンピース写真 */
.op_midterm_content .onepiece{
grid-area: O;
height: 100%;
text-align: center;
padding-top: 5%;
}
.op_midterm_content .onepiece .img{
width: 80%;
height: 23vw;
}
@media screen and (max-width: 768px) {
.op_midterm_content .onepiece .img{
width: 94%;
height: 35vw;
}
}

/* 畑写真 */
.op_midterm_content .field{
grid-area: F;
}
.op_midterm_content .field .img{
margin-top: -10%;
}
@media screen and (max-width: 768px) {
.op_midterm_content .field{
display: none;
}
}

/* イラスト */
.op_midterm_content .op_illust_left{
grid-area: Il;
width: 28vw;
max-width: 500px;
margin-top: -5vw;
margin-bottom: 2vw;
margin-left: -5vw;
}
@media screen and (max-width: 768px) {
.op_midterm_content .op_illust_left{
display: none;
}
}

.op_midterm_content .op_illust_right{
grid-area: Ir;
width: 30vw;
max-width: 500px;
justify-self: end;
margin-right: -5vw;
}
.op_midterm_content .op_illust_right .i_img{
margin-top: 5vw;
margin-right: -3vw;
}
@media screen and (max-width: 768px) {
.op_midterm_content .op_illust_right{
display: none;
}
}




/*-------------------------------*/
/*------------sponsor-------------*/
/*-------------------------------*/

.op_midterm_sponsor{
padding-bottom: var(--con_ma);
}
@media screen and (max-width: 768px) {
.op_midterm_sponsor{
margin-top: var(--con_ma-big);
padding-bottom: var(--con_ma);
}
}

/* タイトル */
.op_midterm_sponsor .title{
text-align: center;
}
.op_midterm_sponsor .title h3{
color: var(--color-white);
background-image: url(../img/sponsor_title_bou.svg);
background-position: center;
background-size: contain;
}
@media screen and (max-width: 768px) {
.op_midterm_sponsor .title h3{
font-size: calc(16 * var(--rem));
}
}
.op_midterm_sponsor .title h3 span{
padding: 10px 15px;
display: inline-block;
box-sizing: border-box;
background-image: url(../img/sponsor_title_back.svg);
background-size:100% 100%;
margin: 10px 0 15px 0;
}
@media screen and (max-width: 400px) {
.op_midterm_sponsor .title h3 span{
width: 70%;
font-size: calc(14 * var(--rem));
}
}


/* 全体囲み */
.op_midterm_sponsor .wrap{
border-radius: var(--radius-big);
padding: 5%;
background-color:color-mix(in srgb, var(--color-green) 80%, var(--color-black));
}
@media screen and (max-width: 768px) {
.op_midterm_sponsor .wrap{
border-radius: var(--radius);
}
}


/* 見出しタイトル */
.op_midterm_sponsor .title h4{
margin: 0 auto;
display: inline-block;
white-space:nowrap;
font-size: calc(20 * var(--rem));
color: var(--color-white);
background-image: url(../img/sponsor_headline_bou.svg);
background-position:center bottom;
background-size:90%;
}
@media screen and (max-width: 768px) {
.op_midterm_sponsor .title h4{
font-size: calc(16 * var(--rem));
}
}
.op_midterm_sponsor .title h4 span{
padding: 10px 15px;
display: inline-block;
box-sizing: border-box;
background-image: url(../img/sponsor_headline_back.svg);
background-size:100% 100%;
margin: 0 0 13px 0;
}
@media screen and (max-width: 768px) {
.op_midterm_sponsor .title h4 span{
padding: 5px 10px;
}
}
@media screen and (max-width: 400px) {
.op_midterm_sponsor .title h4 span{
font-size: calc(14 * var(--rem));
}
}


/* hr */
.op_midterm_sponsor hr{
  height: 0;
  border: none;
  border-top: 2px dashed color-mix(in srgb, var(--color-green) 80%, var(--color-white));
  margin: 3% 0;
}




/* 企業リスト */
:is(.sponsor_box,.cooperation_box,.operating_box){
border-radius: var(--radius);
}

.op_midterm_sponsor .sponsor_li{
display: grid;
gap: 10px;
place-content: center;
grid-template-columns: repeat(3, auto);
padding: 20px;
}
@media screen and (max-width: 768px) {
.op_midterm_sponsor .sponsor_li{
grid-template-columns: repeat(2, auto);
padding: 10px;
}
}

.op_midterm_sponsor .sponsor_li .item{
background-color: var(--color-white);
border-radius: var(--radius);
}
.op_midterm_sponsor .sponsor_li .item a{
display: block;
padding: 5% 10%;
}


/* 協賛 */
.op_midterm_sponsor .sponsor_box{
background-color:var(--color-green-right);
}
.op_midterm_sponsor .sponsor_li.sponsor{
width: 70%;
margin: 0 auto;
grid-template-columns: repeat(2, auto);
}
@media screen and (max-width: 768px) {
.op_midterm_sponsor .sponsor_li.sponsor{
width: 100%;
}
}

/* 協力 */
.op_midterm_sponsor .cooperation_box{
background-color:var(--color-yellowgreen);
}
.op_midterm_sponsor .sponsor_li.cooperation{
}

/* 事務局 */
.op_midterm_sponsor .operating_box{
background-color:var(--color-brown-right02);
width: 70%;
margin: 0 auto;
}
.op_midterm_sponsor .sponsor_li.operating{
grid-template-columns: repeat(2, auto);
}
@media screen and (max-width: 768px) {
.op_midterm_sponsor .operating_box{
width: 100%;
}
}






/*-------------------------------*/
/*------------about-------------*/
/*-------------------------------*/
.about{
background-image:url(../img/about_back.webp);
background-size:cover;
background-position:center;
/*min(最大値以下で適用, 最大値)*/
padding: min(14vw, 140px) 0;
position: relative;
}
.about::after{
position: absolute;
content: "";
width: 100%;
display: block;
height: 30px;
top: 0;
left: 0;
background-image: url(../img/op_bottom.svg);
background-size: 100% 100%;
background-position: top center;
}
.about::before{
position: absolute;
content: "";
width: 100%;
display: block;
height: 30px;
bottom: 0;
left: 0;
background-image: url(../img/flow_back_top.svg);
background-size: 100% 100%;
background-position: top center;
}


.about .inner{
display: grid;
grid-template-columns: 55% 40%;
column-gap: 5%;
}

/* 内容-------------------- */
.about .inner .about_info{
}
.about .inner .about_info .title01{
text-align: left;
}
@media screen and (max-width: 768px) {
.about .inner .about_info .title01{
margin-top: 0;
}
}

.about .inner .about_info h4{
color: var(--color-white);
font-size: calc(36 * var(--rem));
font-weight: 500;
line-height: var(--s48);
margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
.about .inner .about_info h4{
font-size: 5.5vw;
line-height: 8vw;
}
}

.about .inner .about_info p{
color: var(--color-white);
}
.about .inner .about_info .bt{
text-align: center;
padding: 20px 0 40px 0;
}

.about .inner .about_info figure{
color: var(--color-white);
margin-bottom: 10px;
}
.about .inner .about_info figcaption{
font-size: calc(14 * var(--rem));
}
.about .inner .about_info figure img{
object-fit: fill;
border-radius: var(--radius);
margin-bottom: 5px;
}


/* 地図-------------------- */
.about .inner .about_tokachi{
position:absolute;
width: 43%;
right: 0;
top:-1%;
z-index: 1;
}
.about .inner .about_tokachi img{
max-width: 500px;
margin-right: 10%;
}
/*-----------------------*/
@media screen and (max-width: 1000px) {
.about .inner{
grid-template-columns: 45% 50%;
}
.about .inner .about_tokachi{
width: 52%;
}
.about .inner .about_tokachi img{
margin-right: 5%;
}
}
/*-----------------------*/
@media screen and (max-width: 768px) {
.about .inner{
display:block;
}
.about .inner .about_tokachi{
position:initial;
width: 100%;
}
.about .inner .about_tokachi img{
max-width:100%;
width: 100%;
margin-right: 0;
}
}





/*-------------------------------*/
/*------------flow-------------*/
/*-------------------------------*/
.flow{
}

/* 内容 -------------------*/
.flow .flow_info{
background-color: var(--color-beige);
padding: var(--con_ma) 0;
}

/* 流れ -------------------*/
.flow_zu{}
.flow_zu_inner{
position: relative;
margin-bottom: 40px;
  display: grid;
  grid-template-columns: 40% 20% 40%;
  grid-template-rows: auto;
align-items: flex-start;
  grid-template-areas:
    "f1 . stv"
    "f1 . f2"
    ". . f2"
    "f3 f3 f3";
background-image: url(../img/flow_line01.svg),url(../img/flow_line02.svg);
background-position:center top 180px, center top 350px;
background-size: 400px, 400px;
}

/* テキスト */
.flow_zu_inner .flow_txt{
display: inline-block;
position: absolute;
font-size: calc(24 * var(--rem));
font-weight: 600;
  left:0;
  right:0;
text-align: center;
}
.flow_zu_inner .flow_txt.txt01{
top:160px;
transform: rotate(15deg);
}
.flow_zu_inner .flow_txt.txt02{
top:400px;
transform: rotate(-25deg);
}

/* 全体 */
.flow_zu_inner .title{
font-size: calc(28 * var(--rem));
font-weight: 600;
margin: 5px 0 5px 0;
}

:is(.flow_01,.flow_02,.flow_03) a:hover{
opacity: 1;
}

/* 01 */
.flow_01{
grid-area: f1;
}
.flow_01 .flow_01_bt{
margin-top: 20px;
text-align: center;
}

/* stv */
.flow_stv{
grid-area: stv;
margin-bottom: 20px;
}
.flow_stv .img{
width: 70%;
}

/* 02 */
.flow_02{
grid-area: f2;
margin-bottom: -150px;
}
.flow_02 .w800{
display: none;
}

/* 03 */
.flow_03{
grid-area: f3;
display: grid;
grid-template-columns: 40% 50%;
column-gap: 4%;
}
.flow_03 .flow_03_bt{
margin-top: 20px;
text-align: center;
}


/* 結果 */
.flow_04{
position: relative;
text-align: center;
background-color: var(--color-yellow);
border-radius: var(--radius);
padding: 10px;
font-size: calc(24 * var(--rem));
font-weight: 600;
}
.flow_04 img{
position: absolute;
width: 60px;
top:-7px;
margin-left: -70px;
}

.flow_end{
width: 70%;
margin: 30px auto 0px auto;
}

/*-------------------------------------------*/
@media screen and (max-width: 1000px) {
.flow_zu_inner{
background-position:center top 15vw, center top 33vw;
background-size: 50%, 50%;
}
.flow_zu_inner .flow_txt{
font-size: calc(22 * var(--rem));
}
.flow_zu_inner .flow_txt.txt01{
top:13vw;
}
.flow_zu_inner .flow_txt.txt02{
top:39vw;
}
/* 全体 */
.flow_zu_inner .title{
font-size: calc(24 * var(--rem));
}
.flow_03{
grid-template-columns: 40% 56%;
}
}

/*-------------------------------------------*/
@media screen and (max-width: 900px) {
.flow_zu_inner{
display: block;
background-image:none;
}
.flow_zu_inner .flow_txt{
display: none;
}

.flow_stv{
text-align: center;
margin-bottom: 30px;
}
.flow_stv .img{
width: 40%;
}

:is(.flow_01,.flow_02,.flow_03){
display: grid;
grid-template-columns: 40% 56%;
column-gap: 4%;
margin-bottom: 30px;
}
:is(.flow_01,.flow_02,.flow_03) img{
width: 100%;
}
.flow_02 .w1000{
display: none;
}
.flow_02 .w800{
display:inline-block;
width: 100%;
}
.flow_end{
width: 90%;
margin: 30px auto 0px auto;
}
}
/*-------------------------------------------*/
@media screen and (max-width: 768px) {
.flow_stv .img{
width: 60%;
margin: 0 auto;
}
:is(.flow_01,.flow_02,.flow_03){
display:block;
margin-bottom: 10vw;
}
:is(.flow_01,.flow_02,.flow_03) img{
width: 80%;
display:block;
margin: 0 auto;
}
.flow_02 .w1000{
display:block;
}
.flow_02 .w800{
display:none;
}
.flow_zu_inner .title{
font-size: calc(22 * var(--rem));
}
.flow_04{
font-size: calc(20 * var(--rem));
}
.flow_04 img{
width: 40px;
top:0;
left:0;
margin-left: 0;
}
.flow_end{
width: 100%;
}
}


/* 下部 -------------------*/
.flow .flow_bottom{
height: 30px;
background-image: url(../img/flow_bottom.svg);
background-position: top center;
background-size: cover;
}




/*-------------------------------*/
/*------------schedule-------------*/
/*-------------------------------*/
.schedule{
margin-top: var(--con_ma);
}

.schedule .title{
font-size: calc(22 * var(--rem));
font-weight: 600;
margin: 40px 0 10px 0;
}
@media screen and (max-width: 768px) {
.schedule .title{
font-size: calc(18 * var(--rem));
}
}

.schedule .ahead .title span{
font-weight: 600;
color: var(--color-green);
}
.schedule .past .title span{
font-weight: 600;
color: var(--color-red);
}

/*これから ---------------*/
.schedule .schedule-ahead{
}
.schedule-ahead .item{
display: grid;
grid-template-columns: 130px 1fr;
margin-bottom: 15px;
}
.schedule-ahead .day{
background-color: var(--color-green);
color: var(--color-white);
padding: 15px;
border-radius: 10px 0 0 10px;
font-size: calc(14 * var(--rem));
  display: grid;
  place-items: center;
}
.schedule-ahead p{
background-color: var(--color-gray-right);
padding: 15px;
border-radius: 0 10px 10px 0;
word-break : break-all;
word-wrap: break-word;
white-space:initial;
}
.schedule .bt{
text-align: center;
margin-top: 40px;
}
@media screen and (max-width: 768px) {
.schedule .schedule-ahead .item{
grid-template-columns: 100px 1fr;
}
.schedule .schedule-ahead .day{
padding: 10px;
font-size: calc(12 * var(--rem));
}
.schedule .schedule-ahead p{
padding: 10px;
}
.schedule .bt{
text-align: center;
margin-top: 00px;
}
}



/*これまで ---------------*/
.schedule .past{
margin-top: 100px;
}
.schedule .past .past_bt{
display: grid;
grid-template-columns: 48% 48%;
column-gap: 4%;
}
.schedule .past .past_bt .bt04{
color: var(--color-white);
border-radius: var(--radius);
padding: 20px;
display: flex;
align-items:center;
justify-content: center;
}
.schedule .past .past_bt .bt04 img{
margin-right: 10px;
}
.schedule .past .past_bt .bt04.youtube{
background-color: var(--color-red);
}
.schedule .past .past_bt .bt04.youtube:hover{
background-color: color-mix(in srgb, var(--color-red) 80%, var(--color-black));
}
.schedule .past .past_bt .bt04.youtube img{
width: 30%;
}

.schedule .past .past_bt .bt04.tver{
background-color: var(--color-blue-right);
}
.schedule .past .past_bt .bt04.tver:hover{
background-color: color-mix(in srgb, var(--color-blue-right) 80%, var(--color-black));
}
.schedule .past .past_bt .bt04.tver img{
width: 15%;
}

@media screen and (max-width: 768px) {
.schedule .past .past_bt{
display:block;
}
.schedule .past .past_bt .bt04{
margin-bottom: 20px;
padding: 15px;
}
}


/*----------YouTube一覧----------*/
.swiper {
margin-top: 40px;
}

.swiper-slide .swiper-img {
  width: 100%;
  border-radius: 10px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.swiper-slide p {
  font-size: calc(14 * var(--rem));
line-height: calc(20 * var(--rem));
  margin-top: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* next、prev */
.swiper-button-next::after,
.swiper-button-prev::after {
  display: none;
}

.youtube_list{
position: relative;
}
/* 前へ次への矢印カスタマイズ */
.swiper-button-next,
.swiper-button-prev {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
width: 50px;
height: 50px;
}
@media screen and (max-width: 768px) {
.swiper-button-next,
.swiper-button-prev {
width: 40px;
height: 40px;
}
}
.swiper-button-next{
        right: -20px;
  background-image: url(../common/img/icon_next.svg);
}
.swiper-button-prev{
        left: -20px;
  background-image: url(../common/img/icon_prev.svg);
}
/* 前へ次へが無い時、薄くするか非表示にするか */
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled{
opacity:0;
}











/*-------------------------------*/
/*------------sns-------------*/
/*-------------------------------*/
.sns{
margin-top: var(--con_ma);
}
@media screen and (max-width: 768px) {
.sns{
margin-top: var(--con_ma-big);
}
}

.sns .sns_illust{
width: 200px;
margin: 0 auto;
display: block;
}
@media screen and (max-width: 768px) {
.sns .sns_illust{
width: 50%;
}
}


.sns .sns_wrap{
background-color: var(--color-black-right);
border-radius: var(--radius);
padding: 30px;
background-image: url(../img/sns_back_top.svg),url(../img/sns_back_bottom.svg);
background-size: 100%,100%;
background-position: top,bottom;
}
.sns .sns_wrap p{
color: var(--color-white);
text-align: center;
}
.sns .sns_wrap .sns_bt{
width: 90%;
margin: 0 auto;
display: grid;
grid-template-columns: 49% 49%;
column-gap: 2%;
margin-top: 10px;
}
@media screen and (max-width: 768px) {
.sns .sns_wrap .sns_bt{
width: 100%;
display:block;
}
}


.sns .sns_wrap .sns_bt a{
transition: 0.3s;
display: grid;
grid-template-columns: 60px 1fr;
column-gap: 4%;
border-radius: var(--radius);
padding: 10px;
}
@media screen and (max-width: 768px) {
.sns .sns_wrap .sns_bt a{
margin-bottom: 20px;
padding: 7px;
}
}

.sns .sns_wrap .sns_bt a img{
width: 60px;
}
@media screen and (max-width: 768px) {
.sns .sns_wrap .sns_bt a img{
width: 100%;
}
}

.sns .sns_wrap .sns_bt a .account{
font-size: calc(22 * var(--rem));
}
.sns .sns_wrap .sns_bt a .account p{
font-size: calc(14 * var(--rem));
text-align: left;
}

.sns .sns_wrap .sns_bt a:hover{
opacity: 1;
}

.sns .sns_wrap .sns_bt a.tiktok{
background-color: var(--color-black);
color: var(--color-white);
}
.sns .sns_wrap .sns_bt a.tiktok:hover{
background-color: color-mix(in srgb, var(--color-black) 90%, var(--color-white));
}

.sns .sns_wrap .sns_bt a.instagram{
background-color: var(--color-white);
color: var(--color-black);
}
.sns .sns_wrap .sns_bt a.instagram:hover{
background-color: color-mix(in srgb, var(--color-white) 80%, var(--color-black));
}
.sns .sns_wrap .sns_bt a.instagram p{
color: var(--color-black);
}



/*-------------------------------*/
/*----------assignment----------*/
/*-------------------------------*/

.assignment{
margin-top: var(--con_ma-big);
}

.assignment .content{
background-color: var(--color-green);
border-radius: var(--radius-big);
padding:70px 0 0 0;
}
@media screen and (max-width: 768px) {
.assignment .content{
padding:50px 0 0 0;
}
}

/* 囲み */
.assignment :is(.asgmt_now, .asgmt_did){
background-color: var(--color-white);
border-radius: var(--radius);
padding: 20px 30px;
margin: 10px 40px;
}
@media screen and (max-width: 768px) {
.assignment :is(.asgmt_now, .asgmt_did){
padding: 20px 20px;
margin: 10px 20px;
}
}

/* レイアウト */
.assignment :is(.asgmt_now, .asgmt_did){
display: grid;
grid-template-columns: 200px 1fr;
}
@media screen and (max-width: 900px) {
.assignment :is(.asgmt_now, .asgmt_did){
grid-template-columns: 130px 1fr;
}
}
@media screen and (max-width: 768px) {
.assignment :is(.asgmt_now, .asgmt_did){
display: block;
}
}


/* タイトル */
.assignment :is(.asgmt_now, .asgmt_did) .title{
background-image: url(../img/asgmt_did_back.svg);
color: var(--color-white);
width: 150px;
height: 150px;
text-align: center;
  display: grid;
  place-items: center;
font-size: calc(20 * var(--rem));
font-weight: 600;
}
.assignment .asgmt_now .title{
background-image: url(../img/asgmt_now_back.svg);
}
@media screen and (max-width: 900px) {
.assignment :is(.asgmt_now, .asgmt_did) .title{
font-size: calc(16 * var(--rem));
width: 110px;
height: 110px;
}
}
@media screen and (max-width: 768px) {
.assignment :is(.asgmt_now, .asgmt_did) .title{
margin: 0 auto;
width: 100px;
height: 100px;
}
}


/* 現在の取り組み---------------------------- */
.assignment .asgmt_now .asgmt_info{
background-color: var(--color-green);
color: var(--color-white);
padding: 5px 20px;
border-radius: var(--radius);
display: inline-block;
}
@media screen and (max-width: 768px) {
.assignment .asgmt_now .asgmt_info{
background-color:initial;
color: var(--color-green);
font-size: calc(14 * var(--rem));
padding: 5px 10px;
text-align: center;
margin-top: 10px;
border-radius:0;
border-bottom: 1px solid;
width: 100%;
}
}

.assignment .asgmt_now .asgmt_title{
font-size: calc(26 * var(--rem));
font-weight: 600;
margin: 10px 0;
}
@media screen and (max-width: 768px) {
.assignment .asgmt_now .asgmt_title{
font-size: calc(20 * var(--rem));
}
}


/* 挑戦した取り組み---------------------------- */
.assignment .asgmt_did .asgmt_did_list li{
border-bottom: 1px solid var(--color-gray-right);
  display: grid;
grid-template-columns: 70px 1fr 180px;
column-gap: 5px;
align-items: flex-start;
  grid-template-areas:
    "day day day"
    "dt dd bt01";
padding: 10px 0;
}
@media screen and (max-width: 900px) {
.assignment .asgmt_did .asgmt_did_list li{
grid-template-columns: 70px 1fr 180px;
  grid-template-areas:
    "day day day"
    "dt dd dd"
    ". . bt01";
}
}
@media screen and (max-width: 768px) {
.assignment .asgmt_did .asgmt_did_list li{
grid-template-columns: 60px 1fr 1fr;
  grid-template-areas:
    "day day day"
    "dt dd dd"
    "bt01 bt01 bt01";
}
}


.assignment .asgmt_did .asgmt_did_list li .day{
grid-area: day;
color: var(--color-pink);
margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
.assignment .asgmt_did .asgmt_did_list li .day{
font-size: calc(12 * var(--rem));
}
}

.assignment .asgmt_did .asgmt_did_list li .problem{
grid-area: dt;
background-color: var(--color-pink);
color: var(--color-white);
border-radius: 50px;
text-align: center;
padding: 3px 15px;
font-size: calc(12 * var(--rem));
}
.assignment .asgmt_did .asgmt_did_list li .comment{
grid-area: dd;

}
.assignment .asgmt_did .asgmt_did_list li .bt01{
grid-area: bt01;
font-size: calc(12 * var(--rem));
}
@media screen and (max-width: 900px) {
.assignment .asgmt_did .asgmt_did_list li .bt01{
margin-top: 10px;
}
}
@media screen and (max-width: 768px) {
.assignment .asgmt_did .asgmt_did_list li .bt01{
}
}



/* 今後の農業課題---------------------------- */

.asgmt_hereafter{
background-color:color-mix(in srgb, var(--color-green) 80%, var(--color-black));
color: var(--color-white);
font-weight: 600;
margin-top: 70px;
position: relative;
border-radius:0 0 var(--radius-big) var(--radius-big);
}
@media screen and (max-width: 768px) {
.asgmt_hereafter{
margin-top: 50px;
}
}

.asgmt_hereafter .title{
background-color:color-mix(in srgb, var(--color-green) 80%, var(--color-black));
padding: 10px 30px;
border-radius: 50px;
font-size: calc(20 * var(--rem));
position: absolute;
left: 40px;
top: -20px;
}
@media screen and (max-width: 768px) {
.asgmt_hereafter .title{
width: 190px;
text-align: center;
padding: 10px 20px;
font-size: calc(18 * var(--rem));
  left: 50%;
  transform: translateX(-50%);
top: -15px;
}
}

.asgmt_hereafter .list_temp{
padding: 40px;
column-count: 2;
column-gap: 30px;
}
@media screen and (max-width: 768px) {
.asgmt_hereafter .list_temp{
font-size: calc(14 * var(--rem));
padding: 30px;
column-count: 1;
}
}







/*-------------------------------*/
/*----------story----------*/
/*-------------------------------*/
.story{
  position: relative;
  margin-top: calc( var(--con_ma-big) + var(--con_ma));
  background-color: var(--color-brown-right);
  padding: 30px 0;
  z-index: 1;
overflow-x: clip;/*横のハミで削除 */
}
@media screen and (max-width: 768px) {
.story{
  padding: 0px 0;
}
}
/*まる*/
.story::before{
  content: "";
  position: absolute;
  left: 50%;
  top: -60px;
  transform: translateX(-50%);
  width: 120%;
  height: 120px;
  background: var(--color-brown-right);
  border-radius: 50%;
  z-index: -1;
}
.story::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -60px;
  transform: translateX(-50%);
  width: 120%;
  height: 120px;
  background: var(--color-brown-right);
  border-radius: 50%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
.story::before{
  top: -40px;
  height: 80px;
}
.story::after{
  bottom: -40px;
  height: 80px;
}
}


/* 全体囲み */
.story .story-content{
border: 2px solid var(--color-white);
border-width: 1px 1px 0px 1px;
background-color: color-mix(in srgb, var(--color-brown-right) 83%, var(--color-black));
padding: 50px;
border-radius: var(--radius) var(--radius) 0 0;
}
.story .story-content img{
object-fit: cover;
border-radius: var(--radius);
}
@media screen and (max-width: 768px) {
.story .story-content{
padding: 30px;
}
}


/* 蟻塚さん */
.story-ariduka{
color: var(--color-white);
display: grid;
grid-template-columns: 50% 45%;
column-gap: 5%;
}
@media screen and (max-width: 768px) {
.story-ariduka{
display: block;
}
}

.story-ariduka .inner .title{
font-size: calc(26 * var(--rem));
color: var(--color-yellow-dark);
font-weight: 600;
margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
.story-ariduka .inner .title{
font-size: calc(22 * var(--rem));
}
}

.story-ariduka .name{
margin-bottom: 10px;
border-bottom: 1px solid;
}
@media screen and (max-width: 768px) {
.story-ariduka .name{
font-size: calc(14 * var(--rem));
}
}

.story-ariduka .name ruby{
font-size: calc(30 * var(--rem));
}
@media screen and (max-width: 768px) {
.story-ariduka .name ruby{
font-size: calc(22 * var(--rem));
}
}

.story-ariduka .name span{
margin-bottom: 10px;
display: inline-block;
}
@media screen and (max-width: 768px) {
.story-ariduka .name span{
margin-bottom: 5px;
}
}

.story-ariduka .name rt{
font-size: calc(12 * var(--rem));
}

.story-ariduka p{
color: var(--color-white);
}
@media screen and (max-width: 768px) {
.story-ariduka p{
margin-bottom: 10px;
}
}

/* JA帯広かわにし */
.story .story-jaobihiro{
background-color: var(--color-yellow-dark);
margin-top: 30px;
border-radius: var(--radius);
padding: 30px;
grid-template-columns: 60% 35%;
gap:20px 5%;
display: grid;
  grid-template-areas:
    "p img"
    "bt bt";
}
@media screen and (max-width: 768px) {
.story .story-jaobihiro{
display: block;
padding: 20px;
}
}

.story .story-jaobihiro .inner{
grid-area: p;
}
.story .story-jaobihiro .inner .title{
font-size: calc(24 * var(--rem));
font-weight: 600;
margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
.story .story-jaobihiro .inner .title{
font-size: calc(20 * var(--rem));
}
}

.story .story-jaobihiro .inner .title span{
font-size: calc(16 * var(--rem));
}
@media screen and (max-width: 768px) {
.story .story-jaobihiro .inner .title span{
font-size: calc(14 * var(--rem));
display: block;
}
}

.story .story-jaobihiro .img{
grid-area: img;
}
@media screen and (max-width: 768px) {
.story .story-jaobihiro .img{
margin: 10px 0;
}
}

.story .story-jaobihiro .bt01{
grid-area: bt;
width: 300px;
margin: 0 auto;
}
@media screen and (max-width: 768px) {
.story .story-jaobihiro .bt01{
width: auto;
display:block;
margin: 0 auto 0 auto;
text-align: center;
}
}






/*-------------------------------*/
/*----------movie----------*/
/*-------------------------------*/
.movie{
margin-top: calc(var(--con_ma-big) + var(--con_ma));
text-align: center;
}
.movie iframe{
  width: 80%;
  aspect-ratio: 16 / 9;
  height: auto;
border: 1px solid var(--color-black);
}
@media screen and (max-width: 768px) {
.movie iframe{
  width: 100%;
}
}





/*-------------------------------*/
/*----------news----------*/
/*-------------------------------*/

.news{
margin-top: var(--con_ma-big);
}



/*-------------------------------*/
/*----------contact----------*/
/*-------------------------------*/

.contact{
margin-top: var(--con_ma-big);
background-image:url(../img/contact_back.webp);
background-size: cover;
background-position: center;
padding: var(--con_ma) 0 var(--con_ma-big) 0;
text-align: center;
margin-bottom: min(-10vw, -200px);
}
.contact p{
color: var(--color-white);
margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
.contact{
margin-bottom: min(-10vw, -170px);
}
.contact p{
text-align:left;
}
.contact p br{
display: none;
}
}
@media screen and (max-width: 650px) {
.contact{
margin-bottom: min(-3vw, -80px);
}
}