@charset "UTF-8";

.pc {display:block !important;}
.mb {display:none !important;}

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

/* ==========================================================
   BASE / UTILITIES
========================================================== */

.outer_width {
	width: 95%;
}
}

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

/* ==========================================================
   HEADER / HERO
========================================================== */

.main_area {
	width: 95%;
}
}

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

/* ==========================================================
   ENTRY METHODS
========================================================== */

.sec1 .pc.w1200 {
	display: block;
}
}

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

/* ==========================================================
   FOOD & AGRICULTURE FESTA
========================================================== */

.festa {
	padding-top: 150px;
}


/* ==========================================================
   ENTRY METHODS
========================================================== */

.festa .sec1 .right img {
	margin-top: 0px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}


/* ==========================================================
   REPORT INTRO / NAVIGATION
========================================================== */

.festa .sec3 {
	display: block;
}
}

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

/* ==========================================================
   BASE / UTILITIES
========================================================== */

.outer_width {
	width: 95%;
	margin-left: auto;
	margin-right: auto;
}
}

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

/* ==========================================================
   REPORT INTRO / NAVIGATION
========================================================== */

.sec3_title {
	grid-template-columns: 22% 56% 22%;
}

.sec3_intro {
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.sec3_note_area {
	min-height: 320px;
	padding-right: 120px;
}

.sec3_note {
	padding: 22px 24px;
}

.sec3_note::before {
	border-width: 0 0 30px 32px;
}

.sec3_note::after {
	border-width: 0 0 23px 25px;
}

.sec3_note_person {
	right: -5px;
	width: 140px;
}

.sec3_note_person::before {
	width: 110px;
	height: 110px;
	left: 17px;
	top: 28px;
}

.step_navi {
	gap: 15px;
}
}

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

/* ==========================================================
   REPORT INTRO / NAVIGATION
========================================================== */

.sec3 {
	padding: 30px 0 40px;
}

.sec3_title {
	grid-template-columns: 30% 70%;
	gap: 10px;
}

.sec3_title_reporter {
	grid-column: 1;
	grid-row: 1;
}

.sec3_title_main {
	grid-column: 2;
	grid-row: 1;
}

.sec3_title_map {
	grid-column: 1 / 3;
	grid-row: 2;
}

.sec3_title_map img {
	max-width: 220px;
}

.sec3_intro {
	display: block;
	margin-top: 25px;
}

.sec3_intro_text {
	font-size: .95rem;
	line-height: 1.9;
}

.sec3_note_area {
	margin-top: 30px;
	min-height: 0;
	padding-right: 70px;
	padding-bottom: 75px;
}

.sec3_note {
	padding: 20px;
	border-width: 3px;
	border-radius: 22px;
	font-size: .9rem;
	line-height: 1.8;
}

.sec3_note::before {
	top: 72%;
	border-width: 0 0 26px 28px;
	transform: skew(0,18deg);
}

.sec3_note::after {
	top: 72%;
	border-width: 0 0 20px 22px;
	transform: skew(0,18deg);
}

.sec3_note_person {
	right: -5px;
	top: auto;
	bottom: 0;
	width: 110px;
	transform: none;
}

.sec3_note_person::before {
	width: 90px;
	height: 90px;
	left: 12px;
	top: 18px;
}

.step_navi {
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
	margin-top: 30px;
}

.step_navi_bt::before {
	inset: 7px;
}

.step_navi_bt img {
	width: 74%;
}
}

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

/* ==========================================================
   LEVEL COMMON
========================================================== */

.step_inner {
	padding: 18px 22px 30px;
}

.step_inner::before {
	inset: 7px;
}


/* ==========================================================
   BASE / UTILITIES
========================================================== */

.step1_comment_row {
	grid-template-columns: 1fr;
	gap: 30px;
}


/* ==========================================================
   LEVEL COMMON
========================================================== */

.step1_farmer_area {
	grid-template-columns: 100px 1fr;
	gap: 12px;
}

.step1_farmer_person img {
/*
	width: 90px;
*/
	width:50%;
}

.step1_farmer_comment {
	padding: 15px;
	font-size: .85rem;
	margin-top:1em;
}
}

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

/* ==========================================================
   LEVEL 2
========================================================== */

.sec-step2 .step2_main {
	grid-template-columns: 1fr;
	gap: 25px;
}

.sec-step2 .step2_farmer_area {
	grid-template-columns: 100px 1fr;
	gap: 12px;
}


/* ==========================================================
   LEVEL COMMON
========================================================== */

.sec-step2 .step1_farmer_person img {
	width: 90px;
	width:50%;
}


/* ==========================================================
   LEVEL 2
========================================================== */

.sec-step2 .recipe_list {
	grid-template-columns: repeat(2,1fr);
	gap: 30px;
}

.sec-step2 .link_list {
	grid-template-columns: 1fr;
	gap: 22px;
	margin-top: 35px;
}

.sec-step2 .link_box {
	grid-template-columns: 120px 1fr;
	gap: 15px;
}
}

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

/* ==========================================================
   LEVEL 3
========================================================== */

.sec-step3 .step3_bottom {
	grid-template-columns: 1fr;
	gap: 24px;
}

.sec-step3 .step3_ice {
	/*
	grid-template-columns: 120px 1fr;
	gap: 15px;
	*/
	display:block;
}

.sec-step3 .step3_ice img {
	width:50%;
	display:block;
	margin-left:auto;
	margin-right:auto;
}

.sec-step3 .step3_comment_area {
/*
	grid-template-columns: 1fr;
	gap: 12px;
*/
  display: flex;
 flex-direction: column-reverse; /* 下から上へ逆順に並ぶ */
}

.sec-step3 .step3_comment {
	padding: 15px;
	font-size: .88rem;
	line-height: 1.7;
}

.sec-step3 .step3_comment:before,
.sec-step3 .step3_comment:after {
	display:none;
}

.sec-step3 .step3_comment_person img {
	width:50%;
}

.sec-step3 .step3_comment_name {
	font-size: .75rem;
}

.sec-step3 .step3_comment_name strong {
	font-size: 1rem;
}
}

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

/* ==========================================================
   LEVEL 4
========================================================== */

.sec-step4 .step4_menu {
	grid-template-columns: 1fr;
	width: 100%;
	gap: 25px;
}

.sec-step4 .step4_menu_label {
	width: 80px;
	font-size: .75rem;
}

.sec-step4 .label_kakiage {
	right: -5px;
	top: -8px;
}

.sec-step4 .label_karaage {
	left: -5px;
	bottom: 5%;
}

.sec-step4 .label_onigiri {
	right: -5px;
	bottom: 0;
}

.sec-step4 .step4_burgers {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	gap: 15px;
	margin-top: 15px;
}

.sec-step4 .step4_burger_item {
	min-height: 180px;
}

.sec-step4 .step4_burger_item img {
	width: 90%;
	margin: 0;
}

.sec-step4 .step4_burger_tonzuke .step4_menu_label {
	right: -3px;
	top: -5px;
}

.sec-step4 .step4_burger_ganmo .step4_menu_label {
	left: -3px;
	top: -5px;
}
}

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

/* ==========================================================
   LEVEL 5
========================================================== */

.sec-step5 .step5_products {
	grid-template-columns: repeat(2,1fr);
	gap: 18px 12px;
}

.sec-step5 .step5_bottom {
	grid-template-columns: 1fr;
	gap: 32px;
	margin-top: 35px;
}

.sec-step5 .step5_shop_list {
	gap: 12px;
}

.sec-step5 .step5_staff_area {
	grid-template-columns: 1fr 100px;
	gap: 12px;
}


/* ==========================================================
   LEVEL COMMON
========================================================== */

.sec-step5 .step5_staff_area .step1_farmer_person img {
	width: 90px;
}
}

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

/* ==========================================================
   BONUS STAGE
========================================================== */

.sec-step6 .bonus_network_inner {
	grid-template-columns: 42% 1fr;
	gap: 28px;
}

.sec-step6 .bonus_interview_item {
	grid-template-columns: minmax(0,1fr) 140px;
}

.sec-step6 .bonus_interview_person img {
	width: 115px;
}
}

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

/* ==========================================================
   BONUS STAGE
========================================================== */

.sec-step6 .bonus_card {
	padding: 25px 20px;
	border-radius: 20px;
}

.sec-step6 .bonus_network_inner {
	grid-template-columns: 1fr;
	gap: 22px;
}

.sec-step6 .bonus_interview_title {
	gap: 12px;
}

.sec-step6 .bonus_interview_title img {
	width: 80px;
}

.sec-step6 .bonus_interview_title h3 {
	font-size: 1.25rem;
}

.sec-step6 .bonus_interview_item {
	grid-template-columns: minmax(0,1fr) 90px;
	gap: 10px;
}

.sec-step6 .bonus_interview_comment {
	padding: 16px;
}

.sec-step6 .bonus_interview_comment p {
	font-size: .85rem;
}

.sec-step6 .bonus_interview_person img {
	width: 80px;
}

.sec-step6 .bonus_interview_name {
	font-size: .7rem;
}

.sec-step6 .bonus_interview_name strong {
	font-size: .8rem;
}

.sec-step6 .bonus_report_after {
	grid-template-columns: 110px 1fr;
	gap: 18px;
}
}

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

/* ==========================================================
   FOOD & AGRICULTURE FESTA
========================================================== */

.festa_inner {
	padding-left: 42px;
	padding-right: 42px;
}

.festa_contents {
	grid-template-columns: repeat(2,minmax(0,1fr));
}

.festa_info dd {
	font-size: 1.55rem;
}
}

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

/* ==========================================================
   FOOD & AGRICULTURE FESTA
========================================================== */

.festa {
	padding-top: 90px;
}

.festa_inner {
	padding: 125px 20px 35px;
}


/* ==========================================================
   HEADER / HERO
========================================================== */

.festa_header {
	top: -72px;
	width: 92%;
}


/* ==========================================================
   FOOD & AGRICULTURE FESTA
========================================================== */

.festa_logo {
	width: 86%;
}

.festa_lead {
	font-size: .9rem;
	line-height: 1.8;
	margin-bottom: 32px;
}

.festa_info {
	width: 100%;
	margin-bottom: 35px;
}

.festa_info dl {
	grid-template-columns: 92px 1fr;
	gap: 12px 14px;
}

.festa_info dt {
	font-size: .9rem;
	border-radius: 12px;
}

.festa_info dd {
	font-size: 1.05rem;
	line-height: 1.55;
}

.festa_contents {
	grid-template-columns: 1fr;
	gap: 16px;
}

.festa_box,
.festa_box:not(.has_visual) {
	min-height: 0;
}

.festa_box h3 {
	min-height: 0;
	font-size: 1.1rem;
}

.festa_movie_title {
	margin-top: 40px;
	font-size: 1.2rem;
}

.youtube_area {
	aspect-ratio: 16 / 9;
	font-size: .85rem;
}
}

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

/* ==========================================================
   BASE / UTILITIES
========================================================== */

.pc {
	display: none !important;
}

.mb {
	display: block !important;
}

.pc_inline {
	display: none;
}

.mb_inline {
	display: inline;
}

.f18 {
	font-size: 0.9em;
}

.f20 {
	font-size: 1em;
}

.f24 {
	font-size: 1em;
}

.f25 {
	font-size: 1em;
}

.f28 {
	font-size: 1em;
}

.f30 {
	font-size: 1.1em;
}

.f40 {
	font-size: 1.1em;
}

.f60 {
	font-size: 1.2em;
}

.l40 {
	line-height: 1.2em;
}

.outer_width,
.std_width {
	width: 98%;
}

.std_margin_top {
	margin-top: 30px;
}

.std_margin_top2 {
	margin-top: 20px;
}

.std_margin_top3 {
	margin-top: 10px;
}

.std_padding_top {
	padding-top: 30px;
}

.std_padding_top2 {
	padding-top: 20px;
}

.std_padding_top3 {
	padding-top: 10px;
}

.std_padding_bottom {
	padding-bottom: 30px;
}

.std_padding_bottom2 {
	padding-bottom: 20px;
}

.std_padding_bottom3 {
	padding-bottom: 10px;
}

.padding20 {
	padding: 10px;
}

.totop {
	right: 10px;
}

.f30 {
	font-size: 1.2em;
}

.f40 {
	font-size: 1.5em;
}

.f60 {
	font-size: 2em;
}

.w50p {
	width: 40%;
}

.mb_w80p {
	width: 80%;
}

.mb_w70p {
	width: 70%;
}

.mb_w60p {
	width: 60%;
}

.mb_w50p {
	width: 50%;
}

.std_column2.mb_break .left {
	width: 100%;
	float: none;
}

.std_column2.mb_break .right {
	width: 100%;
	float: none;
}

.std_column2.col2_20_76 .left,
.std_column2.col2_20_76 .right,
.std_column2.col2_22_74 .left,
.std_column2.col2_22_74 .right,
.std_column2.col2_30_66 .left,
.std_column2.col2_30_66 .right,
.std_column2.col2_30_70 .left,
.std_column2.col2_30_70 .right,
.std_column2.col2_35_61 .left,
.std_column2.col2_35_61 .right,
.std_column2.col2_40_56 .left,
.std_column2.col2_40_56 .right,
.std_column2.col2_48_48 .left,
.std_column2.col2_48_48 .right,
.std_column2.col2_49_49 .left,
.std_column2.col2_49_49 .right,
.std_column2.col2_50_50 .left,
.std_column2.col2_50_50 .right,
.std_column2.col2_56_40 .left,
.std_column2.col2_56_40 .right,
.std_column2.col2_56_42 .left,
.std_column2.col2_56_42 .right,
.std_column2.col2_61_35 .left,
.std_column2.col2_61_35 .right,
.std_column2.col2_66_30 .left,
.std_column2.col2_66_30 .right,
.std_column2.col2_76_20 .left,
.std_column2.col2_76_20 .right {
	width: 100%;
}

.std_column3:after {
	content: "";
	clear: both;
	display: block;
}

.std_column3 .column {
	width: 32%;
	margin-right: 1.5%;
	float: left;
}

.std_column3.mb_break .column {
	width: 100%;
	margin-right: 0;
	float: none;
}

.std_column4:after {
	content: "";
	clear: both;
	display: block;
}

.std_column4 .column {
	width: 49%;
	margin-right: 2%;
	float: left;
}

.std_column3 .column:nth-child(3) {
	margin-right: 0;
}

.std_column4 .column:nth-child(2n) {
	margin-right: 0;
}

.std_column4.mb_break .column {
	width: 100%;
	margin-right: 0;
	float: none;
}

a.std_button1 {
	margin: 1em auto;
	padding: 10px;
	width: 90%;
	font-size: 1em;
	border-radius: 30px;
}

.std_wood_bg_waku {
	padding: 40px 0;
}

.std_wood_bg_waku .std_width .inner {
	padding: 30px 15px;
}

.std_white_bg_waku {
	padding: 40px 0;
}

.std_white_bg_waku .std_width .inner {
	padding: 0px 15px;
}

.copyright {
	margin-top: 80px;
	padding-bottom: 200px;
}

.totop {
	width: 80px;
	bottom: -200px;
	height: auto;
	right: 10px;
	z-index: 100;
}

a.zoom,
a.zoom2,
a.zoom3,
a.zoom3_no_brightness {
	display: block;
	transition: none;
}

a.zoom:hover,
a.zoom2:hover,
a.zoom3:hover,
a.zoom3_no_brightness:hover {
	filter: none;
	-moz-transform: none;
	-webkit-transform: none;
	-o-transform: none;
	-ms-transform: none;
}

.std_column2.col2_22_74 .right,
.std_column2.col2_22_74 .left {
	width: 100%;
	float: none;
	margin-bottom: 1em;
}

.std_column2.col2_74_22 .right,
.std_column2.col2_74_22 .left {
	width: 100%;
	float: none;
}

.std_margin_-top2 {
	margin-top: 0;
}

.std_column2.col2_66_34 .left,
.std_column2.col2_66_34 .right {
	float: none;
	width: 100%;
	margin-bottom: 1em;
}


/* ==========================================================
   LEVEL 5
========================================================== */

.sec-step5 .std_flex3 {
	display: block;
}

.sec-step5 .std_flex3 .col3 {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}

.sec-step5 .std_column2 .left,
.sec-step5 .std_column2 .right,
.std_column2.col2_74_22 .left,
.std_column2.col2_74_22 .right {
	width: 100%;
	float: none;
}


/* ==========================================================
   BASE / UTILITIES
========================================================== */

.std_flex2.col2_60_37 {
	display: block;
}

.std_flex2.col2_60_37 .column:nth-child(1),
.std_flex2.col2_60_37 .column:nth-child(2) {
	width: 100%;
}

.std_flex2 {
	display: block;
}

.std_flex2 .column {
	width: 100%;
	margin-bottom:2em;
}

.std_flex2.col2_49_49 {
	display: block;
}

.std_flex2.col2_49_49 .column {
	width: 100%;
}

.std_column2.col2_50_46 .left {
	width: 100%;
	float: none;
}

.std_column2.col2_50_46 .left,
.std_column2.col2_50_46 .right {
	width: 100%;
}


/* ==========================================================
   FOOD & AGRICULTURE FESTA
========================================================== */

.festa {
	padding-top: 0;
}

.festa .festa_contents .std_margin_-top {
	margin-top: 0;
}

.festa .w80p {
	width: 100%;
}


/* ==========================================================
   BASE / UTILITIES
========================================================== */

.std_modal_content {
	width: 90%;
}

.std_modal_content .col2_30_66 .left {
	width: 50%;
	float: none;
	margin: 0 auto;
}


/* ==========================================================
   ENTRY METHODS
========================================================== */

.sec1 .waku1 {
	width: 96%;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 10px;
}

.waku1 {
	padding: 10px;
}

.waku1 .waku1_inner {
	padding: 10px;
}

.sec1 {
	position: relative;
	z-index: 10;
}

.sec1 .waku1 .std_column4 .column {
	clear: both;
	margin-top: 10px;
	text-align: left;
	font-size: 0.9rem;
	line-height: 1.6em;
}

.sec1 .waku1 .std_column4 .column:after {
	content: "";
	display: block;
	clear: both;
}

.sec1 .waku1 .std_column4 .column a.zoom3 {
	display: inline;
}

.sec1 .waku1 .std_column4 .column .w1200 {
	display: none;
}

.sec1 .std_column4 .zoom3 img.mb {
	display: inline-block  !important;
	width: 30%;
	vertical-align: middle;
}

.sec1 .waku1 .column h3 {
	display: inline;
	padding-bottom: 5px;
	border-bottom: none;
	font-weight: 700;
	font-size: 1rem;
}

.sec1 .waku1 .column div {
	clear: none;
	padding-top: 5px;
}

.sec1 .waku1 .column div:first-of-type {
	border-top: 2px solid black;
}

.sec1 .waku1 .column div a {
	display: block;
	margin-top: 10px;
	text-align: center;
}

.sec1 .waku1 .column .f14 {
	line-height: 1.5em;
	text-align: left;
	width: 60%;
	float: left;
}

.sec1 .waku1 .column .f14 span {
	display: none;
}

.sec1 .waku1 .column .tousen5 {
	width: 40%;
	float: right;
	border-top: 2px solid black;
}

.sec1 .waku1 .column:nth-child(4) div:first-of-type {
	width: 60%;
}

.sec1 .waku1 .column:nth-child(4) div.align_center {
	border: none;
	width: 100%;
}


/* ==========================================================
   APPLICATION / TERMS
========================================================== */

.youkou {
	border: 3px solid #f1f6e5;
	border-radius: 10px;
	background-color: white;
}

.youkou .inner {
	padding: 0 10px 10px 10px;
}

.youkou .std_h2_1col {
	margin-top: 25px;
	font-size: 1.375rem;
	padding-bottom: 20px;
	margin-bottom: 10px;
}

.youkou .std_h2_2col {
	font-size: 1.375rem;
	margin-bottom: 0px;
	margin-top: 30px;
	padding-left: 25px;
}

.youkou  .std_h2_2col:before {
	width: 10px;
	height: 10px;
	top: 10px;
	left: 5px;
}

.youkou p {
	margin-top: 0;
}

.youkou .std_margin_left_3em {
	margin-left: 1em;
}

.youkou .std_margin_left_2em {
	margin-left: 1em;
}

.youkou ol,
.youkou ul {
	padding-left: 1.5em;
}


/* ==========================================================
   ENTRY METHODS
========================================================== */

.hashtag {
	padding-bottom: 1em;
}


/* ==========================================================
   BASE / UTILITIES
========================================================== */

ul#campaign_hashtag_insta {
	flex-wrap: wrap;
}

ul#campaign_hashtag_insta li {
	width: 46%;
}

ul#campaign_hashtag_insta li a {
	height: 150px;
	text-indent: 110%;
}

ul#campaign_hashtag_insta li span {
	display: none !important;
}


/* ==========================================================
   FOOD & AGRICULTURE FESTA
========================================================== */

.youtube_area {
	width: 95%;
	margin-left: auto;
	margin-right: auto;
}


/* ==========================================================
   BASE / UTILITIES
========================================================== */

.std_flex3 .col3 {
	width: 100%;
}


/* ==========================================================
   APPLICATION / TERMS
========================================================== */

.campaign_detail .std_h2_1col {
	margin-top: 25px;
	font-size: 1.375rem;
	padding-bottom: 20px;
	margin-bottom: 10px;
}

.campaign_detail .std_h2_2col {
	font-size: 1.375rem;
	margin-bottom: 0px;
	margin-top: 30px;
	padding-left: 25px;
}

.campaign_detail .std_h2_2col:before {
	width: 10px;
	height: 10px;
	top: 10px;
	left: 5px;
}

.campaign_detail p {
	margin-top: 0;
}

.std_lead {
	font-size: 1rem;
}


/* ==========================================================
   ABOUT KOKUSHO / CHISAN
========================================================== */

.sec2_bottom.std_column2 > .left,
.sec2_bottom.std_column2 > .right,
.sec3_intro.std_column2 > .left,
.sec3_intro.std_column2 > .right {
	float: none;
	width: auto;
}
}

/* ==========================================================
   RESPONSIVE STABILIZATION
   Desktop design is based on 1400px. These rules fluidize it
   down through laptop, tablet and smartphone widths.
========================================================== */
@media screen and (max-width: 1280px) {
	.main_area {
		width: min(100%, 1180px);
	}

	.main_area h1 {
		width: clamp(560px, 60vw, 780px);
		height: auto;
		aspect-ratio: 840 / 500;
	}

	.main_area .main_kakomi {
		/*
		width: min(58vw, 700px);
		*/
		width: min(58vw, 50%);
		font-size: clamp(0.9rem, 1.35vw, 1.15rem);
	}

	.main_area > .main_mi-mo_1 {
		width: clamp(180px, 19vw, 270px);
		height: auto;
	}

	.main_area > .main_mi-mo_2,
	.main_area > .main_mi-mo_3,
	.main_area > .main_yumemichan,
	.main_area > .main_miraichan {
		height: auto;
	}

	.main_area > .main_nippon {
		width: clamp(250px, 28vw, 380px);
		height: auto;
	}

	.step_head {
		grid-template-columns: clamp(150px, 18vw, 220px) minmax(0, 1fr);
	}

	.step_head h2 {
		font-size: clamp(2rem, 4.2vw, 3.7rem);
	}

	.step_head .pre_h2 {
		font-size: clamp(1rem, 1.7vw, 1.3rem);
	}

	.atsugi_case,
	.atsugi_case .f20 {
		font-size: clamp(0.9rem, 1.25vw, 1.1rem);
	}

	.atsugi_case .f28 {
		font-size: clamp(1.05rem, 1.7vw, 1.45rem);
	}

	.step_contents {
		padding: clamp(24px, 3vw, 34px);
	}

	.festa_info dd {
		font-size: clamp(1rem, 1.9vw, 1.45rem);
	}
}

@media screen and (max-width: 1050px) {
	.main_area h1 {
		width: min(68vw, 690px);
	}

	.main_area .main_kakomi {
/*
		width: min(66vw, 660px);
*/
		margin-top: -4vw;
	}

	.main_area > .main_mi-mo_1 {
		left: 0;
	}

	.main_area > .main_nippon {
		right: -4%;
	}

	.main2 {
		width: 94%;
	}

	.sec2_top {
		grid-template-columns: 1fr 1fr;
	}

	.sec2_kitty {
		grid-column: 1 / -1;
	}

	.sec3_intro {
		grid-template-columns: minmax(0, 1fr) minmax(330px, 0.9fr);
		gap: 24px;
	}

	.sec3_note_area {
		padding-right: 140px;
		min-height: 300px;
	}

	.sec3_note_person {
		width: 145px;
	}

	.step_navi {
		gap: 14px;
	}

	.step_inner {
		padding-inline: 30px;
	}

	.step_contents h3 {
		font-size: clamp(1.25rem, 2.3vw, 1.6rem);
	}

	.product {
		grid-template-columns: minmax(120px, 180px) 1fr;
	}

	.step4_menu {
		width: 100% !important;
		gap: 28px !important;
	}

	.sec-step5 .step5_bottom {
		gap: 26px;
	}

	.sec-step6 .bonus_card {
		padding: 30px;
	}

	.festa_contents {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 820px) {
	.pc {display:none !important;}
	.mb {display:block !important;}

	.main_area_outer {
		padding-bottom: 20px;
	}

	.main_area h1 {
		width: min(78vw, 620px);
	}

	.main_area .main_kakomi {
		width: 82%;
		margin-top: -2vw;
	}

	.main_area .main_food {
		margin-top: 0;
		padding-bottom: 20px;
	}

	.main_area > .main_mi-mo_2,
	.main_area > .main_mi-mo_3,
	.main_area > .main_yumemichan,
	.main_area > .main_miraichan {
		display: none;
	}

	.main_area > .main_mi-mo_1 {
		width: 22vw;
		top: 28%;
		opacity: 0.95;
	}

	.main_area > .main_nippon {
		width: 29vw;
		top: 12%;
		opacity: 0.9;
	}

	.main2 {
		top: -28px;
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.sec2_top,
	.sec2_bottom,
	.sec3_intro,
	.step_head {
		grid-template-columns: 1fr;
	}

	.sec2_kitty_inner {
		grid-template-columns: minmax(100px, 150px) 1fr;
	}

	.sec3_title {
		grid-template-columns: 28% 72%;
	}

	.sec3_title_map {
		grid-column: 1 / -1;
		max-width: 280px;
		margin: 0 auto;
	}

	.sec3_note_area {
		margin-top: 26px;
		padding-right: 110px;
		min-height: 0;
	}

	.sec3_note-person,
	.sec3_note_person {
		width: 115px;
	}

	.step_navi {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.step_sec {
		padding-top: 58px;
	}

	.step_inner {
		padding: 22px 22px 30px;
	}

	.step_midashi {
		top: -34px;
		left: -5px;
		width: 120px;
	}

	.step_head > img {
		width: min(38vw, 180px);
		margin: 0 auto;
	}

	.step_head > .zenmaru {
		text-align: center;
	}

	.step_head h2 {
		font-size: clamp(2rem, 8vw, 3.2rem);
	}

	.atsugi_case {
		grid-template-columns: 1fr;
		text-align: left;
	}

	.atsugi_case strong {
		padding: 0.65em 1em;
	}

	.product_list,
	.report_list,
	.sec-step2 .step2_main,
	.sec-step3 .step3_bottom,
	.sec-step4 .step4_bottom,
	.sec-step5 .step5_bottom,
	.sec-step6 .bonus_network_inner,
	.sec-step6 .bonus_report_after {
		grid-template-columns: 1fr;
	}

	.product_sub {
		grid-template-columns: repeat(3, 1fr);
	}

	.recipe_list,
	.sec-step5 .step5_products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sec-step1 .kanagawa {
		display:block;
		width:20%;
		height:auto;
		margin-left:auto;
		margin-right:auto;
	}


	.sec-step1 .step1_farmer_area  {
		display:block;
	}

	.sec-step1 .step1_farmer_area  img{
		display:block;
		width:50%;
		margin-left:auto;
		margin-right:auto;
	}


	.sec-step1 .std_flex3 .col3 {
		width:100%;
	}
	

	.step1_comment_row {
		grid-template-columns: 1fr;
	}

	.report_box {
		height: auto;
	}

	.sec-step4 .step4_link_list {
		display:block;
	}
	
	.sec-step4 .step4_link_list figure {
		margin-bottom:1em;
	}

	.sec-step4 .step4_menu {
	display:block;
	}

	.sec-step4 .step4_burgers {
		/*
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
		*/
		display:block;
	}

	.sec-step4 .step4_burgers .step4_burger_item {
		position:relative;
		margin-top:2em;
	}

	body .sec-step4 .step4_staff_area {
		display:flex;
		flex-direction: column-reverse; /* 下から上へ逆順に並ぶ */
		margin-top:0;
	}

	.sec-step4 .step4_bottom {
		gap:20px;
	}


	.sec-step5 .step5_shop_list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body .sec-step5 .step5_staff_area {
		display:flex;
		flex-direction: column-reverse; /* 下から上へ逆順に並ぶ */
		margin-top:0;
	}

	.sec-step5 .step5_staff_area .step1_farmer_person img {
		width:50%;
	}

	.sec-step6 .bonus_interview_item {
		grid-template-columns: minmax(0, 1fr) 120px;
	}

	.festa_info dl {
		grid-template-columns: 7.5em 1fr;
	}
}

@media screen and (max-width: 600px) {
	body {
		font-size: 15px;
	}

	.base .std_width,
	.outer_width,
	.std_width {
		width: 94%;
	}

	header .ja {
		width: 135px;
		height: 43px;
	}

	header .chiiki {
		width: 180px;
		height: 40px;
	}

	.main_area h1 {
		width: 92vw;
		padding-top: 36px;
	}

	.main_area .main_kakomi {
		width: 90%;
		padding: 12px;
		font-size: 0.92rem;
	}

	.main_area > .main_mi-mo_1,
	.main_area > .main_nippon {
		display: none;
	}

	.sec2 {
		width:95%;
		margin-left:auto;
		margin-right:auto;
	}
	
	.sec2_kitty_inner {
		grid-template-columns: 1fr;
		padding-right: 0;
	}

	.sec2_kitty_inner img {
		width: min(250px, 80%);
		margin: 0 auto;
	}

	.sec3 .sec3_intro{
		width:95%;
		margin-left:auto;
		margin-right:auto;
	}
	

	.sec3_title {
		grid-template-columns: 1fr;
	}

	.sec3_title_reporter,
	.sec3_title_main,
	.sec3_title_map {
		grid-column: 1;
	}

	.sec3_title_reporter img {
/*
		max-width: 150px;
*/
	}

	.sec3_title_reporter img {
		display:none;
		position:absolute;
		width:25%;
		left:0;
		top:0px;
	}

	.sec3_title_main img {
		width:90%;
		height:auto;
	}
	.sec3_title_map  {
		width:100%;
		max-width:100%;
	}
	.sec3_title_map img.std_w100_hauto {
		display:inline-block !important;
		width: 40%;
		margin-left:5%;
		height:auto;
	}
	
	.sec3_title_map img.std_w100_hauto:nth-child(1) { width:33%;}
	.sec3_title_map img.std_w100_hauto:nth-child(2) { width:55%;}

	.sec3_note_area {
		padding-right: 0;
		padding-bottom: 95px;
	}

	.sec3_note_person {
		right: 0;
		top: auto;
		bottom: 0;
		width: 100px;
		transform: none;
	}

	.sec3_note::before,
	.sec3_note::after {
		display: none;
	}

	.step_navi {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}

	.step_inner {
		padding-inline: 25px;
		border-radius: 22px;
	}

	.step_inner::before {
		inset: 6px;
		border-radius: 18px;
	}

	.step_contents {
		padding: 20px 14px;
		border-radius: 18px;
	}

	.product {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.product img {
		width:80%;
		margin: 0 auto;
	}

	.product_sub {
		grid-template-columns: repeat(2, 1fr);
	}

	.link_box {
		display:block;
		margin-top:2em;
		margin-bottom:2em;
	}
	
	.link_box img {
		width:80%;
		display:block;
		margin-left:auto;
		margin-right:auto;
		margin-bottom:0.6em;
	}

	.step1_farmer_area,
	.sec-step2 .step2_farmer_area,
	.sec-step4 .step4_staff_area,
	.sec-step5 .step5_staff_area {
	/*
		grid-template-columns: 1fr;
	*/
		display:block;
		margin:2em 0;
		text-align: center;
	}

	.step1_farmer_comment::before {
		display: none;
	}

	.sec-step2 .recipe_list,
	.recipe_list,
	.sec-step5 .step5_products,
	.sec-step5 .step5_shop_list,
	.sec-step4 .step4_burgers,
	.festa_contents {
		grid-template-columns: 1fr;
	}

	.sec-step2 .step2_main_photo img {
		width:80%;
		display:block;
		margin-left:auto;
		margin-right:auto;
	}

	.sec-step2 .recipe_list {
		grid-template-columns:1fr 1fr;
		gap:15px;
	}

	.sec-step2 .link_list {
		display:block;
	}
	
	.sec-step2 .link_box {
		display:block;
	}

	.sec-step2 .link_box img {
		width:80%;
		display:block;
		margin-left:auto;
		margin-right:auto;
		margin-bottom:0.6em;
	}


	.sec-step3 .std_flex3 {
		margin-top:1em;
		display: block;
	}
	
	.sec-step3 .std_flex3 .col3 {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}

	.sec-step4 .step4_link_list img {
		width:80%;
		display:block;
		margin-left:auto;
		margin-right:auto;
	}

	.sec-step5 .step5_products img {
		width:80%;
		display:block;
		margin-left:auto;
		margin-right:auto;
	}

	.sec-step5 .step5_shop_list img {
		width:80%;
		display:block;
		margin-left:auto;
		margin-right:auto;
	}

	.sec-step6 .bonus_interview_title {
		flex-direction: column;
		text-align: center;
	}

	.sec-step6 .bonus_interview-title h3,
	.sec-step6 .bonus_interview_title h3 {
		text-align: center;
	}

	.sec-step6 .bonus_interview_item {
		display: flex;
		flex-direction: column-reverse; /* 下から上へ逆順に並ぶ */
	}

	.sec-step6 .bonus_interview_person img { 
		width:50%;
	}
	
	.sec-step6 .bonus_interview_comment::before {
		display: none;
	}

	.sec-step6 .bonus_report_photo img {
		width:50%;
		display:block;
		margin-left:auto;
		margin-right:auto;
	}

	.festa_inner {
		padding-inline: 14px;
	}

	.festa_header {
		top:0;
		margin-top:1em;
	}


	.festa_info dl {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.festa_info dt {
		width: max-content;
		min-width: 7em;
	}

	.festa_info dd { 
		margin-bottom:1em;
	}
	
	.festa .festa_contents {
		display:block;
	}
	
	.festa .festa_contents article {
		margin-bottom:1em;
	}

	.festa .festa_contents .std_flex4 .column {
		width:100%;
	}
	
	.youtube_area {
		min-height: 180px;
	}
}
