@charset "UTF-8";
/* フォント
---------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Mochiy+Pop+P+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;500;700;800;900&display=swap');

/* 切り替え
---------------------------------------------------------- */
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}

/* 決まりごと
---------------------------------------------------------- */
html {
  scroll-behavior: smooth;
}
a:hover img {
  opacity: 0.5;
}
/*グレーアウト*/
.img_grayout {
  filter: grayscale(100%);
}
p.indent-1 {
  padding-left: 1em;
  text-indent: -1em;
}
p.indent-2 {
  padding-left: 2em;
}
img {
  vertical-align: top;
  line-height: 1.0em;
}
a:link {
  color: #000872;
}
a:visited {
  color: #353535;
}

/* ベース
---------------------------------------------------------- */
.width_690 {
  width: 690px;
  background-color: #fff;
 padding: 0 0 0.7em;
}
.width_690 img {
  width: 100%;
}

/* テキスト設定
---------------------------------------------------------- */
.txt_brown {
  font-size: 1.3em;
  line-height: 2em;
  color: #682f25;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 900;
  font-style: normal;
}
.txt_009_b {
  font-size: 0.8em;
  line-height: 1.4em;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.txt_009 {
  font-size: 0.9em;
  line-height: 1.4em;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.txt_100 {
  font-size: 1em;
  line-height: 1.5em;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.txt_100_b {
  font-size: 1em;
  line-height: 1.5em;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.txt_110_b {
  font-size: 1.1em;
  line-height: 1.7em;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.txt_120_b {
  font-size: 1.2em;
  line-height: 1.7em;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.txt_135_b {
  font-size: 1.35em;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.txt_150_b {
  font-size: 1.5em;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.txt_left {
	text-align: left;
}
.txt_center {
	text-align: center;
}
.txt_right {
	text-align: right;
}

/* 本文テキスト_色指定
---------------------------------------------------------- */
.txt_red {
  color: #ed2214;
}
.txt_blue {
  color: #005aae;
}

.dot_line_red {
    position: relative;
    padding: 0.5rem 0;
    margin: 0.2em 0 0.5em;
}
.dot_line_red:before {
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 10px;
    background:
        radial-gradient(#f2eded 30%, transparent 30%),
        linear-gradient(#ffcccc 0 100%);
    background-repeat: repeat, no-repeat;
    background-size: 5px 5px, 100% 100%;
    content: '';
}
.dot_line_blue {
    position: relative;
    padding: 0.5rem 0;
    margin: 0.2em 0 0.5em;
}
.dot_line_blue:before {
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 10px;
    background:
        radial-gradient(#f2eded 30%, transparent 30%),
        linear-gradient(#a6cbe3 0 100%);
    background-repeat: repeat, no-repeat;
    background-size: 5px 5px, 100% 100%;
    content: '';
}


/* テキストエリア設定
---------------------------------------------------------- */
.txt_90area {
  width: 89%;
  margin: 0 auto;
}

/* 商品ボックス
---------------------------------------------------------- */
.camp_container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: auto;
  overflow: visible;
  margin: 1em auto 1.2em;
}
.camp_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 80%;
  height: auto;
  margin: 0.2em auto;
  column-gap: 20px;
}
.camp_box_02 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
height: 170px;
  margin: 0 0 50px 0;
  align-items: center;
  justify-content: center;
}

.camp_box_red {
	border:2px dashed #ffffff;background-color:#f8edeb;box-shadow:0 0 0 6px #f8edeb;padding:16px;  margin: 5px 5px 30px;
}

.camp_box_blue {
	border:2px dashed #ffffff;background-color:#eaf4f4;box-shadow:0 0 0 6px #eaf4f4;padding:16px;  margin: 5px 5px 30px;
}

.camp_box_03 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
	height: auto;
  align-items: center;
  justify-content: center;
}
.camp_box_kobetsu {
  flex: 0 0 calc(48.5% - 10px);
  max-width: calc(48.5% - 10px);
}
.camp_box_kobetsu_02 {
  width: 42%;
height: 100%;
	margin: 0 1% 0 0;
	object-fit: cover;
}
.camp_box_kobetsu_03 {
  width: 57%;
height: 100%;
	object-fit: cover;
}
.camp_box_kobetsu_04 {
  width: 48%;
height: auto;
	margin: 0 2% 0 0;
}
.camp_box_kobetsu_05 {
  width: 50%;
height: auto;
}