@charset "UTF-8";
h1 {
  background-color: transparent !important;
  color: #ED81A9 !important; }
  @media only screen and (min-width: 768px) {
    h1 span {
      font-size: 150%; } }
  @media only screen and (max-width: 767px) {
    h1 span {
      font-size: 11vw; } }

.content {
  margin-bottom: 0 !important; }

h2 {
  color: #fff !important; }

.h3 {
  color: #ED81A9 !important; }

.bg-radius {
  background-color: #ED81A9; }

.content dt {
  border-bottom: 0; }

/*リボンタイトル*/
.page .content h2 {
  position: relative;
  height: 2em;
  margin: 0 auto 1.5em;
  padding: 0 2em;
  background-color: #ED81A9 !important;
  color: #FFF;
  font-size: 130%;
  line-height: 2;
  text-align: center; }
  .page .content h2:before, .page .content h2:after {
    position: absolute;
    width: 0px;
    height: 0px;
    content: '';
    z-index: 1; }
  .page .content h2:before {
    top: 0;
    left: 0;
    border-width: 1em 0px 1em 0.8em;
    border-color: transparent transparent transparent #fff;
    border-style: solid; }
  .page .content h2:after {
    top: 0;
    right: 0;
    border-width: 1em 0.8em 1em 0px;
    border-color: transparent #fff transparent transparent;
    border-style: solid; }
@media only screen and (max-width: 767px) {
  .page {
    font-size: 116%; } }

/*sec01*/
#sec01 p {
  text-indent: 1em;
  padding-bottom: 0; }

/*aisatsu*/
#aisatsu p:last-of-type {
  text-align: right; }

/*sec02*/
#sec02 dl {
  display: flex;
  flex-wrap: wrap;
  padding: 1em 0; }
  @media only screen and (min-width: 768px) {
    #sec02 dl:not(:last-of-type) {
      border-bottom: 2px solid #ED81A9; } }
  #sec02 dl > * {
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      #sec02 dl > * {
        width: 100%;
        justify-content: center;
        text-align: center; } }
#sec02 dt {
  justify-content: center;
  background-color: #E23546;
  color: #fff; }
  @media only screen and (max-width: 767px) {
    #sec02 dt {
      border-radius: 0.2em; } }
  @media only screen and (min-width: 768px) {
    #sec02 dt {
      border-radius: 50%;
      width: 5rem;
      height: 5rem; } }
@media only screen and (max-width: 767px) {
  #sec02 dd:nth-of-type(odd) {
    justify-content: center;
    font-size: 150%; } }
@media only screen and (min-width: 768px) {
  #sec02 dd:nth-of-type(odd) {
    width: 5rem; }
  #sec02 dd:nth-of-type(even) {
    width: calc(100% - 5rem - 5rem); } }

/*sec03*/
#sec03 {
  text-align: center; }

/*sec04*/
#sec04 > a {
  display: block;
  width: 100%;
  max-width: 400px;
  margin: 1em auto; }
  #sec04 > a:hover {
    opacity: .6; }
#sec04 dt:before {
  content: "●";
  color: #E23546; }
@media only screen and (min-width: 768px) {
  #sec04 dl {
    display: flex;
    flex-wrap: wrap; }
  #sec04 dd::before {
    content: ":";
    margin-right: 0.5em; }
  #sec04 dt {
    width: 7em; }
  #sec04 dd {
    width: calc(100% - 7em); } }

/*sec05*/
#sec05 {
  text-align: center; }
  #sec05 dt {
    color: #ED81A9; }
  #sec05 dd:nth-of-type(odd) {
    margin-bottom: 1.5em; }

/*sec06*/
#sec06 > dl {
  text-align: center; }
  #sec06 > dl dt {
    line-height: 1.3; }
    @media only screen and (max-width: 767px) {
      #sec06 > dl dt {
        font-size: 6vw; } }
    @media only screen and (min-width: 768px) {
      #sec06 > dl dt {
        font-size: 150%; } }
  #sec06 > dl dd {
    font-size: 120%; }
@media only screen and (min-width: 768px) {
  #sec06 div {
    display: flex;
    flex-wrap: wrap; } }
#sec06 div dl {
  padding: 0.5em; }
  @media only screen and (min-width: 768px) {
    #sec06 div dl {
      width: 18em;
      margin: 0 calc((50% - 18em) / 2); } }
#sec06 div dt {
  color: #ED81A9; }
