/*!********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./src/scss/style.scss ***!
  \********************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* Reset margin, padding, border
 * *********************************** */
html, body,
h1, h2, h3, h4, h5, h6,
a, p, span,
em, small, strong,
sub, sup,
mark, del, ins, strike,
abbr, dfn,
blockquote, q, cite,
code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
main, aside, nav,
header, hgroup, footer,
img, figure, figcaption,
address, time,
audio, video,
canvas, iframe,
details, summary,
fieldset, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
}

/* Layout
 * *********************************** */
article,
aside,
footer,
header,
nav,
section,
main {
  display: block;
}

* {
  box-sizing: border-box;
}

*:before,
*:after {
  box-sizing: inherit;
}

/* Elements
 * *********************************** */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

ol,
ul {
  list-style: none;
}

img,
video {
  max-width: 100%;
}

img {
  border-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: "";
  content: none;
}

html {
  scroll-behavior: smooth;
  font-size: var(--fontCriterion);
}

* {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

a {
  text-decoration: none;
}

a,
a:visited {
  color: inherit;
}

h1:not([class]) {
  font-size: calc(var(--fontCriterion) * var(--fontCoefficient) / 3);
  margin-bottom: calc(var(--fontCriterion) * 3);
  padding-left: calc(var(--fontCriterion) / 2);
  padding-right: calc(var(--fontCriterion) / 2);
}

h2:not([class]) {
  font-size: calc(var(--fontCriterion) * var(--fontCoefficient) / 5);
  margin-bottom: calc(var(--fontCriterion) * 2);
  padding-left: calc(var(--fontCriterion) / 2);
  padding-right: calc(var(--fontCriterion) / 2);
}

h3:not([class]) {
  font-size: calc(var(--fontCriterion) * var(--fontCoefficient) / 7);
  margin-bottom: var(--fontCriterion);
  padding-left: calc(var(--fontCriterion) / 2);
  padding-right: calc(var(--fontCriterion) / 2);
}

p:not([class]) {
  margin-bottom: var(--fontCriterion);
  padding-left: calc(var(--fontCriterion) / 2);
  padding-right: calc(var(--fontCriterion) / 2);
}

section {
  margin-bottom: 5%;
}
:root {
  --colorBase: #FFF;
  --color-basic-text: #333;
  --color-primary: #F3EED0;
  --color-secondary: #CCD8B0;
  --color-tertiary: #FAE7DF;
  --color-accent: #F1A3A1;
  --color-shadow: rgba(0, 0, 0, 0.2);
  /*====================================
  Font
  ====================================*/
  --fontCriterion: 18px;
  --fontCoefficient: 8;
  /*====================================
  幅や高さの設定
  ====================================*/
  --maxWidthInner: 1100px;
  --maxWidthMain: 640px;
  --footerHeight: 80px;
  /*====================================
  余白の設定
  ====================================*/
  --margin-side: 5%;
}

body {
  font-family: "Kiwi Maru", serif;
  position: relative;
}

section {
  margin-bottom: calc(var(--fontCriterion) * 3);
}
section h1, section h2, section h3 {
  font-family: "Kaisei Opti", serif;
}

.cPrimaryBack {
  background-color: var(--color-primary);
}

.cSuperWrapper {
  background-color: var(--colorBase);
  position: relative;
  min-height: 100vh;
  padding-bottom: var(--footerHeight);
}

.cWrapperOneColumn {
  width: min(100%, var(--maxWidthMain) + var(--fontCriterion));
  padding-left: calc(var(--fontCriterion) / 2);
  padding-right: calc(var(--fontCriterion) / 2);
  margin: 0 auto;
}

.cLRInner {
  padding-left: calc(var(--fontCriterion) / 2);
  padding-right: calc(var(--fontCriterion) / 2);
}

.cInner {
  width: min(100%, var(--maxWidthInner));
  margin-right: auto;
  margin-left: auto;
}

.cTitleMarker {
  background: linear-gradient(transparent 70%, var(--color-secondary) 60%);
}

.cImageFrame {
  position: relative;
}
.cImageFrame:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-image-source: repeating-linear-gradient(45deg, var(--color-accent), var(--color-accent) 3px, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 6px);
  border-image-slice: 20;
  border-image-repeat: round;
  border-style: solid;
  border-width: 20px;
}

.cTitleStandOut {
  background: linear-gradient(transparent 40%, #FFFA99 30%);
}

.cFlex2column {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.cFlex2column ._main {
  width: var(--maxWidthMain);
}
@media screen and (max-width: 1023px) {
  .cFlex2column ._main {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .cFlex2column ._main {
    width: 100%;
  }
}
.cFlex2column ._sub {
  width: calc(100% - var(--maxWidthMain) - var(--fontCriterion) * 2);
}
@media screen and (max-width: 1023px) {
  .cFlex2column ._sub {
    width: calc(50% - var(--fontCriterion) * 2);
  }
}
@media screen and (max-width: 767px) {
  .cFlex2column ._sub {
    width: 100%;
  }
}

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

.cFloatLeft {
  float: left;
  margin-right: calc(var(--fontCriterion) * 1.5);
  margin-bottom: calc(var(--fontCriterion) * 1.5);
}

.cFloatRight {
  float: right;
  margin-left: calc(var(--fontCriterion) * 1.5);
  margin-bottom: calc(var(--fontCriterion) * 1.5);
}

.cFlex2Column {
  display: flex;
}
.cFlex2Column ._img {
  width: calc(50% - var(--fontCriterion));
}
.cFlex2Column ._text {
  width: 50%;
  margin-left: var(--fontCriterion);
}

.cFlex2ColumnReverse {
  display: flex;
}
.cFlex2ColumnReverse ._img {
  width: calc(50% - var(--fontCriterion));
}
.cFlex2ColumnReverse ._text {
  width: 50%;
  margin-right: var(--fontCriterion);
}

.sHeaderFlex {
  display: flex;
  margin: var(--fontCriterion) 0;
}
.sHeaderFlex ._logo {
  width: clamp(200px, 30%, 500px);
}
.sHeaderFlex ._logo img {
  width: 100%;
}

.uMarker {
  background: linear-gradient(to right, #21ff00 0%, #ffff00 100%);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 50%;
  padding-left: calc(var(--fontCriterion) / 2);
  padding-right: calc(var(--fontCriterion) / 2);
}

.uSourceArea {
  font-family: sans-serif;
  background-color: #F8F9FA;
  padding: calc(var(--fontCriterion));
  margin-bottom: calc(var(--fontCriterion) * 2);
}

.uLetterRed {
  color: #DD3D29;
}

ul {
  padding: 0.5em;
  list-style-type: none;
}

ul li {
  position: relative;
  padding: 0em 0.3em 0.3em 1.3em;
}

ul li:after,
ul li:before {
  position: absolute;
  top: 0.43em;
  left: 0.5em;
  content: "";
  display: block;
  background: #FFC107;
  height: 11px;
  width: 4px;
  border-radius: 10px;
  transform: rotate(45deg);
}

ul li:before {
  top: 0.6em;
  left: 0.2em;
  height: 8px;
  transform: rotate(-45deg);
}
