@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant:wght@500&family=Shippori+Mincho:wght@400;500&display=swap");
*, *:after, *:before {
  box-sizing: border-box;
}

/* ==================================================================
 *  reset
 * ================================================================== */
*, ::after, ::before {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  block-size: 100%;
  block-size: 100dvb;
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(button) {
  border: none;
  background: none;
}

:where(a) {
  text-underline-offset: 0.2ex;
}

:where(ul, ol) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
  margin: 0;
}

:where(h1, h2, h3) {
  line-height: calc(1em + .5rem);
}

:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(:focus-visible) {
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

ol, ul {
  list-style: none;
}

input,
button {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  background: transparent;
}
input::-webkit-search-decoration,
button::-webkit-search-decoration {
  display: none;
}

/* ==================================================================
 *  base
 * ================================================================== */
html {
  scroll-behavior: smooth;
}

html, body {
  margin: 0;
  font-family: "Cormorant", "Shippori Mincho", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", serif;
  color: #fff;
  width: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  font-size: 16px;
  font-weight: 400;
  background: #000;
}

section {
  width: min(100%, 965px);
  margin-inline: auto;
}

h2 {
  letter-spacing: 1.8px;
  font-weight: 500;
  font-size: 2.25rem;
}
@media (min-width: 768px) {
  h2 {
    font-size: 3.5rem;
  }
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.logo_icon {
  margin: 50px auto;
  display: flex;
  justify-content: center;
}

/* ==================================================================
 *  header
 * ================================================================== */
header {
  border-top: 8px solid #E72119;
  display: grid;
  position: relative;
}
header h1 {
  width: 100%;
  grid-area: 1/-1;
}
header h1 img {
  width: 100vw;
  height: auto;
}
@media (min-width: 768px) {
  header h1 img {
    width: 100%;
    height: 100%;
    max-height: 100vh;
    max-width: 1360px;
    object-position: bottom;
    object-fit: cover;
    margin: 0 auto;
  }
}
header .profile {
  grid-area: 1/-1;
  background: #111;
  align-self: flex-end;
}
@media (max-width: 430px) {
  header .profile {
    grid-area: 2/1;
  }
}
@media (min-width: 768px) {
  header .profile {
    position: absolute;
    width: min(100%, 1040px);
    bottom: 7%;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: transparent;
  }
}
header .profile h2 {
  background: #E72119;
  font-size: clamp(14px, 14 / 375 * 100vw, 18px);
  font-weight: 600;
  letter-spacing: 0.7px;
  line-height: 50px;
  padding: 0 25px;
  margin-right: 15px;
  shape-outside: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%);
  -webkit-clip-path: polygon(0 0, 100% 0%, 90% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0%, 90% 100%, 0% 100%);
  float: left;
}
@media (min-width: 768px) {
  header .profile h2 {
    margin-top: -40px;
    -webkit-clip-path: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%);
            clip-path: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%);
    width: 220px;
    line-height: 60px;
    text-align: center;
    float: none;
  }
}
header .profile p {
  font-weight: 500;
  line-height: 1.4;
  font-size: clamp(9px, 9 / 375 * 100vw, 13px);
  padding: 5px 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
@media (min-width: 768px) {
  header .profile p {
    background: #111;
    -webkit-clip-path: polygon(8% 0, 100% 0%, 92% 100%, 0% 100%);
            clip-path: polygon(8% 0, 100% 0%, 92% 100%, 0% 100%);
    width: 445px;
    padding: 10px 45px;
    margin: -10px 0 0 50px;
    font-size: clamp(12px, 12 / 375 * 100vw, 16px);
  }
  header .profile p:before {
    content: "";
    shape-outside: polygon(0% 0, 100% 0%, -100% 100%, 0% 100%);
    float: left;
    width: 90px;
    height: 90px;
    margin-left: -80px;
  }
}

/* ==================================================================
*  about
* ================================================================== */
#about {
  position: relative;
  background: url("../images/about_bg.png") no-repeat -20px 100%;
  background-size: auto 60%;
  padding: 60px 25px;
}
#about h2 strong {
  display: block;
  color: #E72119;
  font-weight: 500;
  font-size: clamp(33px, 33 / 375 * 100vw, 37px);
  letter-spacing: -1px;
  white-space: nowrap;
  margin-left: -20px;
  line-height: 1.3;
  margin-top: 0.5em;
}
@media (min-width: 768px) {
  #about h2 strong {
    font-size: 3.5rem;
    margin-left: -32px;
  }
}
#about p {
  width: 74%;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  line-height: 1.8;
  margin: 14px 0 100px;
}
@media (min-width: 768px) {
  #about p {
    font-size: 1.187rem;
    line-height: 3.1;
    margin-top: 50px;
  }
}
@media (min-width: 768px) {
  #about {
    background: none;
    margin-top: 160px;
  }
  #about:after {
    content: "";
    background: url("../images/about_bg.png") no-repeat right center;
    background-size: contain;
    width: 807px;
    height: 423px;
    position: absolute;
    top: 70px;
    left: 40%;
    z-index: -1;
  }
}

/* ==================================================================
*  contents
* ================================================================== */
#contents {
  padding: 35px 25px;
}
#contents h2 {
  text-align: center;
}
#contents h2 strong {
  font-size: clamp(33px, 33 / 375 * 100vw, 37px);
  font-weight: 500;
  line-height: normal;
  letter-spacing: 6.6px;
  display: block;
}
#contents .contents_list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin-top: 30px;
}
#contents .contents_list:before, #contents .contents_list:after {
  content: "";
  width: 0.5px;
  height: 70px;
  background: #fff;
}
@media (min-width: 768px) {
  #contents .contents_list:before, #contents .contents_list:after {
    position: absolute;
  }
}
@media (min-width: 768px) {
  #contents .contents_list {
    align-items: stretch;
    padding: 200px 0;
  }
  #contents .contents_list:before {
    top: 50px;
  }
  #contents .contents_list:after {
    bottom: 50px;
  }
}
#contents .contents_list li {
  border: 2px solid #E72119;
  width: 100%;
  padding: 65px 33px 50px;
  text-align: center;
  position: relative;
}
@media (min-width: 768px) {
  #contents .contents_list li {
    width: calc(50% - 20px);
    display: grid;
    grid-template-rows: repeat(auto-fit, minmax(0, 1fr));
  }
}
#contents .contents_list li:first-child {
  margin-top: 30px;
}
@media (min-width: 768px) {
  #contents .contents_list li:first-child {
    margin-top: 0;
  }
}
#contents .contents_list li:first-child:before {
  content: "";
  width: 70px;
  height: 70px;
  background: url("../images/icon_a.svg") no-repeat center;
  display: block;
  position: absolute;
  top: -36px;
  left: 0;
  right: 0;
  margin: auto;
}
#contents .contents_list li:first-child h3:first-line {
  letter-spacing: -5px;
}
#contents .contents_list li:last-child {
  margin-top: 60px;
}
@media (min-width: 768px) {
  #contents .contents_list li:last-child {
    margin-top: 0;
  }
}
#contents .contents_list li:last-child:before {
  content: "";
  width: 70px;
  height: 70px;
  background: url("../images/icon_b.svg") no-repeat center;
  display: block;
  position: absolute;
  top: -36px;
  left: 0;
  right: 0;
  margin: auto;
}
#contents .contents_list li:last-child h3 {
  letter-spacing: -2px;
  padding-bottom: 6px;
}
#contents .contents_list li h3 {
  font-size: clamp(30px, 30 / 375 * 100vw, 34px);
  font-weight: 500;
  color: #E72119;
  border-bottom: 1px solid #E72119;
  padding-bottom: 15px;
}
@media (min-width: 768px) {
  #contents .contents_list li h3 {
    grid-template-rows: subgrid;
    align-items: center;
    display: grid;
  }
}
#contents .contents_list li p {
  padding: 33px 0;
  border-top: 1px solid #E72119;
  margin-top: 2px;
  font-size: clamp(15px, 15 / 375 * 100vw, 19px);
  font-weight: 400;
  line-height: 1.6;
}
#contents .contents_list li p small {
  font-size: clamp(12px, 12 / 375 * 100vw, 16px);
}
@media (min-width: 768px) {
  #contents .contents_list li p {
    grid-row: span 3;
    display: grid;
  }
}
#contents .contents_list li a {
  color: #E72119;
  font-weight: bold;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(12px, 12 / 375 * 100vw, 16px);
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219%22%20height%3D%2210%22%20viewBox%3D%220%200%2019%2010%22%20fill%3D%22none%22%3E%0A%20%20%3Cpath%20d%3D%22M18.4412%20-0.000487924L9.40129%204.97279L0.361328%20-0.000488281L9.40129%209.67284L18.4412%20-0.000487924Z%22%20fill%3D%22%23E72119%22%2F%3E%0A%3C%2Fsvg%3E") no-repeat right center;
  padding-right: 22px;
}
@media (min-width: 768px) {
  #contents .contents_list li a {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto auto 0;
  }
}

/* ==================================================================
*  subjects
* ================================================================== */
#subjects {
  padding: 20px 25px;
}
#subjects h2 {
  display: flex;
  justify-content: space-between;
}
#subjects h2 strong {
  font-size: clamp(30px, 30 / 375 * 100vw, 34px);
  font-weight: 500;
  letter-spacing: 4.95px;
}
@media (min-width: 768px) {
  #subjects h2 {
    max-width: 46%;
    margin: 0 auto;
    align-items: baseline;
    padding-right: 40px;
  }
}
#subjects .subjects_list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin-top: 30px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
@media (min-width: 768px) {
  #subjects .subjects_list {
    align-items: stretch;
    justify-content: space-between;
    gap: 40px;
  }
  #subjects .subjects_list li {
    width: calc(50% - 20px);
  }
}
#subjects .subjects_list li {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#subjects .subjects_list li:first-child h3:before {
  content: "";
  width: 50px;
  height: 50px;
  background: url("../images/icon_a.svg") no-repeat center;
  background-size: 100%;
  display: block;
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
  margin: auto;
}
#subjects .subjects_list li:last-child h3:before {
  content: "";
  width: 50px;
  height: 50px;
  background: url("../images/icon_b.svg") no-repeat center;
  background-size: 100%;
  display: block;
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
  margin: auto;
}
#subjects .subjects_list li img {
  width: 100%;
}
#subjects .subjects_list li h3 {
  position: relative;
  text-align: center;
  color: #E72119;
  padding: 45px 0 20px;
  font-size: clamp(23px, 23 / 375 * 100vw, 27px);
  font-weight: 600;
  letter-spacing: -1px;
  white-space: nowrap;
  font-family: "Cormorant", "Shippori Mincho", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", serif;
}
#subjects .subjects_list li h3 span {
  display: block;
  font-size: clamp(15px, 15 / 375 * 100vw, 19px);
  font-weight: normal;
  letter-spacing: 0.75px;
  display: flex;
  align-items: center;
  gap: 20px;
}
#subjects .subjects_list li h3 span:before, #subjects .subjects_list li h3 span:after {
  content: "";
  flex-grow: 1;
  height: 1px;
  background: #E72119;
}
#subjects .subjects_list li p {
  font-size: clamp(13px, 13 / 375 * 100vw, 17px);
  line-height: 1.5;
}
@media (min-width: 768px) {
  #subjects .subjects_list li p {
    min-height: 6em;
  }
}
#subjects .subjects_list li strong {
  color: #E72119;
  font-size: clamp(13px, 13 / 375 * 100vw, 17px);
  font-weight: bold;
  font-feature-settings: "palt";
  margin: 28px auto 15px;
  display: block;
}
#subjects .subjects_list li dl {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1px;
  margin-bottom: 30px;
  height: 100%;
}
#subjects .subjects_list li dl dt {
  background: #E72119;
  width: 5.5em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(12px, 12 / 375 * 100vw, 16px);
}
#subjects .subjects_list li dl dd {
  background: #222;
  width: calc(100% - (5.5em + 1px));
  padding: 14px 12px 14px 20px;
  font-size: clamp(12px, 12 / 375 * 100vw, 16px);
}
#subjects .subjects_list li input[type=radio] {
  display: none;
}
#subjects .subjects_list li input[type=radio]:checked + label {
  background: #E72119 url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20viewBox%3D%220%200%2022%2022%22%20fill%3D%22none%22%3E%0A%20%20%3Cg%20clip-path%3D%22url(%23clip0_365_1314)%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M11%2021.5C16.799%2021.5%2021.5%2016.799%2021.5%2011C21.5%205.201%2016.799%200.5%2011%200.5C5.20101%200.5%200.5%205.201%200.5%2011C0.5%2016.799%205.20101%2021.5%2011%2021.5Z%22%20fill%3D%22white%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M11%2016.6001C13.8995%2016.6001%2016.25%2014.2496%2016.25%2011.3501C16.25%208.4506%2013.8995%206.1001%2011%206.1001C8.10051%206.1001%205.75%208.4506%205.75%2011.3501C5.75%2014.2496%208.10051%2016.6001%2011%2016.6001Z%22%20fill%3D%22%23626A6D%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M11%2016.0313C13.8995%2016.0313%2016.25%2013.6808%2016.25%2010.7813C16.25%207.88176%2013.8995%205.53125%2011%205.53125C8.10051%205.53125%205.75%207.88176%205.75%2010.7813C5.75%2013.6808%208.10051%2016.0313%2011%2016.0313Z%22%20fill%3D%22%23E72119%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3CclipPath%20id%3D%22clip0_365_1314%22%3E%0A%20%20%20%20%20%20%3Crect%20width%3D%2221%22%20height%3D%2221%22%20fill%3D%22white%22%20transform%3D%22translate(0.5%200.5)%22%2F%3E%0A%20%20%20%20%3C%2FclipPath%3E%0A%20%20%3C%2Fdefs%3E%0A%3C%2Fsvg%3E") no-repeat 20px center;
}
#subjects .subjects_list li input[type=radio]:not(:checked) + label + a {
  display: none;
}
#subjects .subjects_list li label {
  background: #717171 url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2221%22%20viewBox%3D%220%200%2022%2021%22%20fill%3D%22none%22%3E%0A%20%20%3Cg%20clip-path%3D%22url(%23clip0_365_1319)%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M11%2021C16.799%2021%2021.5%2016.299%2021.5%2010.5C21.5%204.701%2016.799%200%2011%200C5.20101%200%200.5%204.701%200.5%2010.5C0.5%2016.299%205.20101%2021%2011%2021Z%22%20fill%3D%22white%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M11%2016.1001C13.8995%2016.1001%2016.25%2013.7496%2016.25%2010.8501C16.25%207.9506%2013.8995%205.6001%2011%205.6001C8.10051%205.6001%205.75%207.9506%205.75%2010.8501C5.75%2013.7496%208.10051%2016.1001%2011%2016.1001Z%22%20fill%3D%22%23626A6D%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M11%2015.5313C13.8995%2015.5313%2016.25%2013.1808%2016.25%2010.2813C16.25%207.38176%2013.8995%205.03125%2011%205.03125C8.10051%205.03125%205.75%207.38176%205.75%2010.2813C5.75%2013.1808%208.10051%2015.5313%2011%2015.5313Z%22%20fill%3D%22white%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3CclipPath%20id%3D%22clip0_365_1319%22%3E%0A%20%20%20%20%20%20%3Crect%20width%3D%2221%22%20height%3D%2221%22%20fill%3D%22white%22%20transform%3D%22translate(0.5)%22%2F%3E%0A%20%20%20%20%3C%2FclipPath%3E%0A%20%20%3C%2Fdefs%3E%0A%3C%2Fsvg%3E") no-repeat 20px center;
  margin-bottom: 1px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  position: relative;
  padding: 10px 20px 8px 32%;
  font-size: clamp(13px, 13 / 375 * 100vw, 17px);
}
#subjects .subjects_list li label[for=subjectsA_direct]:before, #subjects .subjects_list li label[for=subjectsB_direct]:before {
  content: "";
  width: 13%;
  min-width: 45px;
  height: 100%;
  background: url("../images/icon_direct.svg") no-repeat center;
  background-size: 100%;
  position: absolute;
  left: 15.5%;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
@media (min-width: 768px) {
  #subjects .subjects_list li label[for=subjectsA_direct]:before, #subjects .subjects_list li label[for=subjectsB_direct]:before {
    transform: scale(1.2);
  }
}
#subjects .subjects_list li label[for=subjectsA_online]:before, #subjects .subjects_list li label[for=subjectsB_online]:before {
  content: "";
  width: 13%;
  min-width: 45px;
  height: 100%;
  background: url("../images/icon_online.svg") no-repeat center;
  background-size: 100%;
  position: absolute;
  left: 15.5%;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
@media (min-width: 768px) {
  #subjects .subjects_list li label[for=subjectsA_online]:before, #subjects .subjects_list li label[for=subjectsB_online]:before {
    transform: scale(1.2);
  }
}
#subjects .subjects_list li label span {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  line-height: 0;
  font-size: clamp(35px, 35 / 375 * 100vw, 39px);
  margin: 14px 3px 0;
}
@media (min-width: 768px) {
  #subjects .subjects_list li label span {
    font-size: 2.875rem;
  }
}
#subjects .subjects_list li a {
  order: 2;
  background: url("../images/link_btn.svg") no-repeat center;
  background-size: 100% 50px;
  text-decoration: none;
  text-align: center;
  display: block;
  line-height: 60px;
  height: 60px;
  color: #fff;
  font-size: clamp(18px, 18 / 375 * 100vw, 22px);
  font-weight: bold;
  letter-spacing: 1.26px;
  transition: all 0.2s linear;
}
#subjects .subjects_list li a:hover {
  filter: drop-shadow(0px 0px 5px #E72119);
}
@media (max-width: 430px) {
  #subjects .subjects_list li a {
    filter: drop-shadow(0px 0px 5px #E72119);
  }
}
@media (min-width: 768px) {
  #subjects .subjects_list li a {
    transform: scale(1.2);
    font-size: 1.125rem;
  }
}

/* ==================================================================
*  message
* ================================================================== */
#message {
  padding: 0 0 60px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#message h2 {
  line-height: 1;
  margin: 40px 20px 0 0;
  writing-mode: vertical-rl;
}
#message h3 {
  color: #E72119;
  text-align: center;
  font-size: clamp(17px, 17 / 375 * 100vw, 21px);
  line-height: 1.5;
}
#message h3 small {
  font-size: clamp(13px, 13 / 375 * 100vw, 17px);
}
#message > p {
  font-size: clamp(30px, 30 / 375 * 100vw, 34px);
  font-weight: 500;
  line-height: 1.5;
  max-width: calc(100% - 70px);
  order: -1;
  padding-left: 25px;
}
#message > p strong {
  color: #E72119;
}
#message > p:before {
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2222%22%20viewBox%3D%220%200%2026%2022%22%20fill%3D%22none%22%3E%0A%20%20%3Cpath%20d%3D%22M14.9092%2014.5334L14.9092%2014.2148C14.9092%2011.4064%2015.7824%208.64518%2017.5288%205.93115C18.4964%204.44434%2019.641%203.19352%2020.9626%202.17871C22.2607%201.1639%2023.2165%200.656494%2023.8301%200.656494L24.0779%200.656494C25.2343%200.656494%2025.8125%201.1167%2025.8125%202.03711L25.8125%202.67432C25.8125%202.93392%2025.5057%203.39412%2024.8921%204.05493C23.0749%206.03735%2022.1663%207.93717%2022.1663%209.75439C22.1663%209.82519%2022.7681%2010.5922%2023.9717%2012.0554C25.1517%2013.5186%2025.7417%2014.9583%2025.7417%2016.3743C25.7417%2017.8139%2025.1989%2018.9939%2024.1133%2019.9143C23.0041%2020.8347%2021.7651%2021.2949%2020.3962%2021.2949L19.7944%2021.2949L19.5112%2021.2595C16.4432%2021.2595%2014.9092%2019.0175%2014.9092%2014.5334ZM6.34229%2021.2595L5.13867%2021.2595C1.92904%2021.2595%200.324219%2019.1001%200.324219%2014.7812L0.324219%2014.498C0.32422%2011.5716%201.06763%208.95198%202.55444%206.63916C4.04126%204.32633%205.62248%202.59171%207.2981%201.4353C8.19491%200.821694%208.89112%200.514891%209.38672%200.514891L9.66992%200.514891C10.9207%200.514891%2011.5461%201.0695%2011.5461%202.17871L11.5461%202.60351C11.5461%202.83952%2011.3101%203.21712%2010.8381%203.73633C8.90291%205.86035%207.9353%207.85457%207.9353%209.71899C7.9353%2010.2618%208.53711%2011.076%209.74072%2012.1616C10.9443%2013.2472%2011.5461%2014.4272%2011.5461%2015.7017L11.5461%2016.2681C11.5461%2017.6133%2011.0505%2018.7815%2010.0593%2019.7727C9.06812%2020.7639%207.8291%2021.2595%206.34229%2021.2595Z%22%20fill%3D%22%23E72119%22%2F%3E%0A%3C%2Fsvg%3E") no-repeat;
  display: block;
  width: 1em;
  height: 1em;
  margin-bottom: 10px;
}
#message .message1 {
  width: 100%;
}
#message .message1 h3 {
  margin: 25px auto;
}
#message .message1 p {
  text-align: center;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(14px, 14 / 375 * 100vw, 18px);
  font-weight: 500;
  line-height: 1.8;
  white-space: pre-line;
}
@media (max-width: 430px) {
  #message .message1 p br {
    display: none;
  }
}
#message .message1 img {
  width: 100%;
}
@media (min-width: 768px) {
  #message .message1 {
    margin: 50px auto 100px;
  }
  #message .message1 picture {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 100px;
  }
  #message .message1 img {
    width: 570px;
  }
  #message .message1 p {
    white-space: initial;
  }
}
#message .message2 {
  margin-top: -25px;
  width: 100%;
}
#message .message2 h3 {
  margin: 45px auto 30px;
}
#message .message2 p {
  text-align: center;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(14px, 14 / 375 * 100vw, 18px);
  font-weight: 500;
  line-height: 1.8;
  white-space: pre-line;
}
@media (max-width: 430px) {
  #message .message2 p br {
    display: none;
  }
}
#message .message2 img {
  width: 100%;
}
@media (min-width: 768px) {
  #message .message2 {
    display: grid;
    grid-template-columns: 455px auto;
    grid-template-rows: repeat(2, 1fr);
    width: 100%;
    align-items: end;
  }
  #message .message2 picture {
    grid-area: 1/1/3/2;
  }
  #message .message2 img {
    width: 366px;
  }
  #message .message2 h3 {
    text-align: left;
    margin: 0;
  }
  #message .message2 p {
    text-align: left;
    white-space: initial;
  }
}
#message .name {
  font-size: clamp(15px, 15 / 375 * 100vw, 19px);
  font-weight: 600;
  letter-spacing: 4.5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 50px auto 0;
  padding: 4px 40px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22172%22%20height%3D%2249%22%20viewBox%3D%220%200%20172%2049%22%20fill%3D%22none%22%3E%0A%20%20%3Cpath%20d%3D%22M17.5%200H22L4.5%2049H0L17.5%200Z%22%20fill%3D%22%23E72119%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M167%200H171.5L154%2049H149.5L167%200Z%22%20fill%3D%22%23E72119%22%2F%3E%0A%3C%2Fsvg%3E") no-repeat center;
}
#message .name span {
  font-size: clamp(15px, 15 / 375 * 100vw, 19px);
  font-weight: 400;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  #message .name {
    margin-top: 80px;
    transform: translateX(70px);
  }
}

/* ==================================================================
*  report
* ================================================================== */
#report {
  padding: 100px 25px 60px;
}
#report h2 {
  text-align: center;
  margin-bottom: 16px;
}
#report #report_slide {
  position: relative;
  overflow: hidden;
  padding-top: 10px;
  max-width: 750px;
  margin: 0 auto;
}
#report #report_slide:before {
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2222%22%20viewBox%3D%220%200%2026%2022%22%20fill%3D%22none%22%3E%0A%20%20%3Cpath%20d%3D%22M14.9092%2014.5334L14.9092%2014.2148C14.9092%2011.4064%2015.7824%208.64518%2017.5288%205.93115C18.4964%204.44434%2019.641%203.19352%2020.9626%202.17871C22.2607%201.1639%2023.2165%200.656494%2023.8301%200.656494L24.0779%200.656494C25.2343%200.656494%2025.8125%201.1167%2025.8125%202.03711L25.8125%202.67432C25.8125%202.93392%2025.5057%203.39412%2024.8921%204.05493C23.0749%206.03735%2022.1663%207.93717%2022.1663%209.75439C22.1663%209.82519%2022.7681%2010.5922%2023.9717%2012.0554C25.1517%2013.5186%2025.7417%2014.9583%2025.7417%2016.3743C25.7417%2017.8139%2025.1989%2018.9939%2024.1133%2019.9143C23.0041%2020.8347%2021.7651%2021.2949%2020.3962%2021.2949L19.7944%2021.2949L19.5112%2021.2595C16.4432%2021.2595%2014.9092%2019.0175%2014.9092%2014.5334ZM6.34229%2021.2595L5.13867%2021.2595C1.92904%2021.2595%200.324219%2019.1001%200.324219%2014.7812L0.324219%2014.498C0.32422%2011.5716%201.06763%208.95198%202.55444%206.63916C4.04126%204.32633%205.62248%202.59171%207.2981%201.4353C8.19491%200.821694%208.89112%200.514891%209.38672%200.514891L9.66992%200.514891C10.9207%200.514891%2011.5461%201.0695%2011.5461%202.17871L11.5461%202.60351C11.5461%202.83952%2011.3101%203.21712%2010.8381%203.73633C8.90291%205.86035%207.9353%207.85457%207.9353%209.71899C7.9353%2010.2618%208.53711%2011.076%209.74072%2012.1616C10.9443%2013.2472%2011.5461%2014.4272%2011.5461%2015.7017L11.5461%2016.2681C11.5461%2017.6133%2011.0505%2018.7815%2010.0593%2019.7727C9.06812%2020.7639%207.8291%2021.2595%206.34229%2021.2595Z%22%20fill%3D%22%23E72119%22%2F%3E%0A%3C%2Fsvg%3E") no-repeat;
  background-size: contain;
  display: block;
  width: 25px;
  height: 20px;
  position: absolute;
  left: 8px;
  top: 0;
  z-index: 5;
}
#report #report_slide .report_nav a {
  color: #fff;
  display: block;
  width: 50%;
  line-height: 50px;
  cursor: pointer;
  font-size: clamp(13px, 13 / 375 * 100vw, 17px);
  text-align: center;
  position: absolute;
  bottom: 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
#report #report_slide #report_prev {
  background: #731c17 url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229%22%20height%3D%2214%22%20viewBox%3D%220%200%209%2014%22%20fill%3D%22none%22%3E%0A%3Cpath%20d%3D%22M9%200L4.3729%207L9%2014L0%207L9%200Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E") no-repeat 22px center;
  left: 0;
}
#report #report_slide #report_next {
  background: #E72119 url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229%22%20height%3D%2214%22%20viewBox%3D%220%200%209%2014%22%20fill%3D%22none%22%3E%0A%20%20%3Cpath%20d%3D%22M0%200L4.6271%207L0%2014L9%207L0%200Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E") no-repeat calc(100% - 22px) center;
  right: 0;
}
#report #report_slide .swipe {
  overflow: hidden;
  visibility: hidden;
  position: relative;
}
#report #report_slide .swipe-wrap {
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: stretch;
}
#report #report_slide .swipe-slide {
  background: #FFF;
  color: #222;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  position: relative;
  float: left;
  width: 100%;
  padding-bottom: 80px;
}
#report #report_slide .swipe-slide .slide_head {
  border-bottom: 0.5px solid #000;
  width: calc(100% - 32px);
  margin: 13px auto 0;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
}
#report #report_slide .swipe-slide .slide_head .slide_icon {
  width: 80px;
  border-radius: 100%;
  overflow: hidden;
}
#report #report_slide .swipe-slide .slide_head .slide_user {
  width: calc(100% - 80px);
  padding-top: 10px;
  padding-left: 10px;
  display: flex;
  flex-direction: column;
  font-weight: 500;
  gap: 2px;
}
#report #report_slide .swipe-slide .slide_head .slide_user .name {
  font-size: clamp(15px, 15 / 375 * 100vw, 19px);
  color: #222;
}
#report #report_slide .swipe-slide .slide_head .slide_user .subject {
  font-size: clamp(12px, 12 / 375 * 100vw, 16px);
  color: #222;
}
#report #report_slide .swipe-slide .slide_head .slide_user time {
  color: #E72119;
  font-size: clamp(12px, 12 / 375 * 100vw, 16px);
}
#report #report_slide .swipe-slide .slide_head .slide_user .review {
  color: #E72119;
  align-self: end;
  margin-top: -15px;
}
#report #report_slide .swipe-slide .slide_content {
  padding: 16px;
}
#report #report_slide .swipe-slide .slide_content p {
  font-size: clamp(12px, 12 / 375 * 100vw, 16px);
  line-height: 1.5;
}
#report #report_slide .swipe-slide .slide_content p:not(:last-of-type) {
  margin-bottom: 1em;
}
#report #report_slide .swipe-slide .slide_content .read_more {
  color: #E72119;
  font-size: clamp(12px, 12 / 375 * 100vw, 16px);
}
#report #report_slide .swipe-slide .slide_content .read_more ~ p {
  display: none;
}

/* ==================================================================
*  rules
* ================================================================== */
#rules {
  padding: 100px 25px 60px;
}
#rules h2 {
  text-align: center;
  margin-bottom: 32px;
}
#rules .rules_faq {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(15px, 15 / 375 * 100vw, 19px);
}
#rules .rules_faq:not(:first-of-type) summary {
  border-top: none;
}
#rules .rules_faq summary {
  border-block: 0.5px solid #fff;
  padding: 16px 60px 16px 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  position: relative;
}
#rules .rules_faq summary:after {
  content: "";
  width: 1em;
  height: 1em;
  background: url("../images/icon_plus.svg") no-repeat center;
  transition: all 0.2s linear;
  position: absolute;
  right: 5px;
}
#rules .rules_faq summary::-webkit-details-marker {
  display: none;
}
#rules .rules_faq[open] summary:after {
  background: url("../images/icon_minus.svg") no-repeat center;
  transform: rotate(180deg);
}
#rules .rules_faq[open] .faq_content {
  border-bottom: 0.5px solid #fff;
}
#rules .rules_faq .faq_content {
  padding: 25px 0;
}
#rules .rules_faq .faq_content p:not(:only-of-type):not(:last-child) {
  margin-bottom: 1em;
}
#rules .rules_faq .faq_content strong {
  color: #E72119;
  font-weight: normal;
}
#rules .rules_faq .faq_content a {
  color: #fff;
}

/* ==================================================================
*  links
* ================================================================== */
#links {
  padding: 60px 25px 30px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  max-width: 500px;
}
#links .links_list {
  display: flex;
  gap: 34px;
}
#links .logo_icon {
  margin-top: 0;
}

/* ==================================================================
*  footer
* ================================================================== */
footer {
  background: #E72119;
  padding: 47px 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  font-size: clamp(17px, 17 / 375 * 100vw, 21px);
  font-weight: 500;
}
footer .copyright {
  font-size: clamp(12px, 12 / 375 * 100vw, 16px);
  text-align: center;
  font-weight: 400;
}