@charset "utf-8";
/* 親要素の定義をリセットして作り直す */
#c5.flex_text, .flex_text {
    display: flex !important;
    flex-direction: row-reverse !important; /* ★画像を右、テキストを左に強制入れ替え */
    align-items: flex-start !important;
    justify-content: flex-end !important;
    width: 100% !important;
    gap: 30px !important;
    margin-bottom: 50px !important;
    float: none !important;
    clear: both !important;
}

/* 画像自体のサイズを「350px」で鉄板固定する */
#c5.flex_text img.imgL, .flex_text img.imgL {
    /* サイズ指定（ここを調整してください） */
    width: 350px !important;
    min-width: 350px !important;
    max-width: 350px !important;
    
    /* 高さを自動にして歪みを防ぐ */
    height: auto !important;
    
    /* 絶対に縮ませない、絶対に伸ばさない */
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    
    /* 既存の「左寄せ(float:left)」などの邪魔を消す */
    float: none !important;
    display: block !important;
    margin: 0 !important;
}

/* 左側のテキストエリア */
#c5.flex_text > div, .flex_text > div {
    flex: 1 !important;
    min-width: 0 !important;
    float: none !important;
    text-align: left !important;
}

/* 改善が期待される症状（緑のチップ）の並びを整える */
.ptn_list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    padding: 0 !important;
    list-style: none !important;
}

/* PC版（画面幅が768px以上）のときは非表示にする */
@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

/* デフォルト（スマホ）では非表示 */
.pc-only {
  display: none !important; /* 他のCSSに負けないように important をつけておくと安心です */
}

/* PCサイズになったら表示 */
@media screen and (min-width: 768px) {
  .pc-only {
    display: flex !important; /* 元の flex_text の横並びを活かすため flex にします */
  }
}
#c1 {
	clear: both;
	background-color: #E2F4CD;
	margin:    ;
	padding:    ;
}
#c1 h1,
#c1 div {
	text-align: center;
}
#c2 {
	clear: both;
	margin: 30px 0 50px ;
	padding:    ;
}
#c4 {
	clear: both;
	margin:    ;
	padding:    ;
}
#c4 h2,
#c4 div {
	text-align: left;
}
#c18 {
	clear: both;
	margin: 0 0 80px ;
	padding:    ;
}
#c18 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
#c18 > div.box {
	box-sizing: border-box;
	overflow: hidden;
}
#c8 {
	clear: both;
	margin: 0 0 60px ;
	padding: 40px 20px  ;
}
#c8 h2,
#c8 div {
	text-align: center;
}
#c28 {
	clear: both;
	display: none;
	margin: 0 0 60px ;
	padding: 40px 20px  ;
}
#c28 h2,
#c28 div {
	text-align: center;
}
#c9 {
	clear: both;
	margin:    ;
	padding:    ;
}
#c9 h2,
#c9 div {
	text-align: left;
}
#c34 {
	clear: both;
	margin: 0 0 40px ;
	padding:    ;
}
#c34 a.itext, #c34 img, #c34 video {
	width: 400px;
	height: 267px;
}
#c34 h3,
#c34 div {
	text-align: left;
}
#c21 {
	clear: both;
	margin: 0 0 40px ;
	padding:    ;
}
#c21 a.itext, #c21 img, #c21 video {
	width: 400px;
	height: 267px;
}
#c21 h3,
#c21 div {
	text-align: left;
}
#c22 {
	clear: both;
	margin: 0 0 40px ;
	padding:    ;
}
#c22 a.itext, #c22 img, #c22 video {
	width: 400px;
	height: 267px;
}
#c22 h3,
#c22 div {
	text-align: left;
}
#c23 {
	clear: both;
	margin: 0 0 40px ;
	padding:    ;
}
#c23 a.itext, #c23 img, #c23 video {
	width: 400px;
	height: 267px;
}
#c23 h3,
#c23 div {
	text-align: left;
}
#c29 {
	clear: both;
	display: none;
	margin: 0 0 40px ;
	padding:    ;
}
#c29 a.itext, #c29 img, #c29 video {
	width: 400px;
	height: 267px;
}
#c29 h3,
#c29 div {
	text-align: left;
}
#c27 {
	clear: both;
	margin: 0 0 40px ;
	padding:    ;
}
#c27 a.itext, #c27 img, #c27 video {
	width: 400px;
	height: 267px;
}
#c27 h3,
#c27 div {
	text-align: left;
}
#c24 {
	clear: both;
	margin: 0 0 40px ;
	padding:    ;
}
#c24 a.itext, #c24 img, #c24 video {
	width: 400px;
	height: 267px;
}
#c24 h3,
#c24 div {
	text-align: left;
}
#c26 {
	clear: both;
	margin: 0 0 40px ;
	padding:    ;
}
#c26 a.itext, #c26 img, #c26 video {
	width: 400px;
	height: 267px;
}
#c26 h3,
#c26 div {
	text-align: left;
}
#c32 {
	clear: both;
	margin:    ;
	padding:    ;
}
#c32 h2,
#c32 div {
	text-align: left;
}
#c33 {
	clear: both;
	margin: 0 0 60px ;
	padding:    ;
}
#c33 h2,
#c33 div {
	text-align: left;
}
#c19 {
	clear: both;
	margin:    ;
	padding:    ;
}
#c19 h2,
#c19 div {
	text-align: left;
}
#c20 {
	clear: both;
	margin: 0 0 60px ;
	padding:    ;
}
#c20 h2,
#c20 div {
	text-align: left;
}
#c3 {
	clear: both;
	margin:    ;
	padding:    ;
}
#c3 h3,
#c3 div {
	text-align: center;
}
#c31 {
	clear: both;
	display: none;
	margin:    ;
	padding:    ;
}
#c31 h3,
#c31 div {
	text-align: center;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
#c1 {
}
#c2 {
}
#c4 {
}
#c18 {
	margin: 0 0 80px;
}
#c18 {
}
#c8 {
	margin: 0 0 60px;
}
#c28 {
	display: none;
	margin: 0 0 60px;
}
#c9 {
}
#c34 {
}
#c21 {
}
#c22 {
}
#c23 {
}
#c29 {
	display: none;
}
#c27 {
}
#c24 {
}
#c26 {
}
#c32 {
}
#c33 {
	margin: 0 0 60px;
}
#c19 {
}
#c20 {
	margin: 0 0 60px;
}
#c3 {
}
#c31 {
	display: none;
}
}
@media screen and (max-width: 640px) {
#c1 {
}
#c2 {
}
#c4 {
}
#c18 {
	margin: 0 0 40px;
}
#c18 {
}
#c8 {
	display: none;
	margin: 0 0 40px;
}
#c28 {
	display: block;
	margin: 0 0 40px;
}
#c9 {
}
#c34 {
}
#c21 {
}
#c22 {
}
#c23 {
	display: none;
}
#c29 {
	display: block;
}
#c27 {
}
#c24 {
}
#c26 {
}
#c32 {
}
#c33 {
	margin: 0 0 40px;
}
#c19 {
}
#c20 {
	margin: 0 0 40px;
}
#c3 {
	display: none;
}
#c31 {
	display: block;
}
}
