header .inr {
  align-items: center;
}
header .an_mochi_logo {
  margin: 0 20px 0 20px;
  width: 20%;
  max-width: 130px;
}
header .an_mochi_logo p {
  text-align: center;
  font-size: min(2vw, 11px);
}
header .link_btn {
  margin-left: auto;
  width: 35%;
}
header .contact_sec p {
  font-size: min(0.9vw, 11px) !important;
}
header .contact_sec dl dt {
  font-size: min(1.9vw, 25px) !important;
}

.btn.type01 a {
  background: #004ea2;
  color: #fff;
  font-weight: bold;
}

.btn.type01:hover a {
  background: #083268;
  color: #fff;
}

.osaka {
  /* ttl */
  /* header */
}
.osaka .ttl h2 {
  color: #004ea2;
}
.osaka .sub_ttl02 {
  color: #004ea2;
}
.osaka header h1 {
  background: #004ea2;
}
.osaka header .contact_sec p {
  color: #004ea2;
  font-weight: 500;
}
.osaka header .contact_sec dt {
  color: #004ea2;
  font-weight: bold;
  font-size: 2rem;
}
.osaka #osaka .main_sec {
  padding: 30px 0 50px;
}
.osaka #osaka .sec01.bg {
  background: url("../images/common/bg01.jpg") !important;
  background-size: 80px !important;
}
.osaka #osaka .sec01 .future h3 {
  background-color: #004ea2;
}

.greed_sec .flex .info {
  margin-left: 3%;
  width: 40%;
  margin-right: auto;
}
.greed_sec .flex .info .flex {
  margin: 20px 0;
  flex-wrap: wrap;
  gap: 5px;
}
.greed_sec .flex .info .flex li {
  width: 49%;
}
.greed_sec .flex .img {
  width: 50%;
}

/*----------------------------------------------------------*/
/* price_sec */
/*----------------------------------------------------------*/
.price_sec {
  background: url("../images/oosaka/bg03.jpg?1");
  background-size: 80px;
}

#option_sec .img ul.flex {
  gap: 10px;
  text-align: center;
  margin-bottom: 20px;
}

#osaka .sec01 ul.future li h3 {
  position: relative;
}

#osaka .sec01 ul.future li h3::before {
  content: "";
  position: absolute;
  background: url("../images/oosaka/freature_icon01.gif") no-repeat;
  background-size: contain;
}

#osaka .sec01 ul.future li:nth-child(2) h3::before {
  background: url("../images/oosaka/freature_icon02.gif") no-repeat;
  background-size: contain;
}

#osaka .sec01 ul.future li:nth-child(3) h3::before {
  background: url("../images/oosaka/freature_icon03.gif") no-repeat;
  background-size: contain;
}

#osaka .sec01 ul.future li:nth-child(1) h3::before,
#osaka .sec01 ul.future li:nth-child(2) h3::before,
#osaka .sec01 ul.future li:nth-child(3) h3::before {
  width: 100px;
  height: 100px;
  left: 0px;
  top: -30px;
}

/*----------------------------------------------------------*/
/* ITEM */
/*----------------------------------------------------------*/
#item.price .inr .info {
  width: 45%;
}

#item.price .inr .info h3.sub_ttl02 {
  text-align: center;
}

#item.price .inr .table {
  width: 100%;
  margin: 8px 0;
}

#item.price .inr .table dl {
  width: 100%;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  background: #fff;
  font-size: 0.8rem;
}

#item.price .inr .table dt {
  color: #004ea2;
  border-bottom: 1px solid #000;
}

#item.price .inr .table dd {
  border-bottom: 1px solid #000;
}

#item.price .inr .table dt,
#item.price .inr .table dd {
  padding: 5px 10px;
}

#item.price .inr .img {
  width: 53%;
}

#item.price .inr .img ul {
  flex-wrap: wrap;
  justify-content: center;
}

#item.price .inr .img ul li {
  width: 24%;
  padding: 5px 3px;
  text-align: center;
  margin: 0.5%;
  background: #fff;
}

#item.price .inr .img ul li p {
  text-align: center;
  font-size: 0.8rem;
}

#item .support_sec {
  margin-top: 30px;
  padding: 20px;
  border: 2px solid #004ea2;
  background-color: #fff;
}
#item .support_sec .flex {
  align-items: center;
  gap: 20px;
}
#item .support_sec .flex .img {
  width: 45%;
}
#item .support_sec .flex .txt {
  width: 50%;
}
#item .support_sec .flex .txt h3 {
  font-size: 1.2em;
  margin-bottom: 10px;
}
#item .support_sec .flex .txt p {
  margin-bottom: 1em;
}

.side_menu_sec .side_menu {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.side_menu_sec .side_menu li {
  width: calc(24% - 5px);
  background-color: #fff;
  border-radius: 5px;
  padding: 10px;
  text-align: center;
}
.side_menu_sec .side_menu li h3 {
  margin-bottom: 10px;
}
.side_menu_sec .side_menu li dl dt {
  color: #c11920;
  font-weight: bold;
}
.side_menu_sec .side_menu li dl dd {
  font-size: 0.8em;
}

.area_sec .flex {
  justify-content: space-between;
}
.area_sec .flex figure {
  width: 30%;
}
.area_sec .flex .info {
  width: 70%;
}

@media only screen and (max-width: 980px) {
  header .inr .logo {
    width: 25%;
    min-width: 120px;
  }
  header .inr .link_btn {
    width: 30%;
  }
  header .an_mochi_logo {
    margin-left: 10px;
    width: 18%;
    max-width: 130px;
  }
  header .an_mochi_logo p {
    white-space: nowrap;
    font-size: min(1.5vw, 11px);
  }
  header .contact_sec p {
    font-size: min(1.3vw, 11px) !important;
  }
  header .contact_sec dl dt {
    font-size: min(3.2vw, 25px) !important;
  }
  header .contact_sec dl dd {
    font-size: min(1.8vw, 12px) !important;
  }
}
/*----------------------------------------------------------*/
/* qa */
/*----------------------------------------------------------*/
.icon_cicle, #qa li dd.a span.icon_qa, #qa li dt.q span.icon_qa {
  flex-basis: 30px;
  border-radius: 50%;
  line-height: 28px;
  min-width: 30px;
  height: 30px;
  width: 30px;
  text-align: center;
  color: #fff;
  margin-right: 10px;
}

#qa ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#qa li {
  width: 49%;
  background: #fff;
  padding: 20px 20px;
  border-radius: 5px;
  box-shadow: 0 0 4px 1px rgb(202, 207, 191);
  margin-bottom: 10px;
}
#qa li dt {
  display: flex;
  align-items: center;
  margin-bottom: 1em;
}
#qa li dt p {
  font-weight: bold;
}
#qa li dd {
  font-size: 0.9em;
  display: flex;
  align-items: top;
}
#qa li dt.q span.icon_qa {
  font-weight: bold;
  background-color: #0452b8;
}
#qa li dd.a span.icon_qa {
  font-weight: bold;
  background-color: #c11920;
}
#qa li dd.link {
  text-align: right;
  justify-content: end;
  text-decoration: underline;
  color: #0452b8;
  font-weight: bold;
  margin-top: 10px;
}

@media only screen and (max-width: 780px) {
  .greed_sec {
    padding: 0 10px;
  }
  .greed_sec .flex {
    display: block;
  }
  .greed_sec .flex .info {
    margin-left: 0;
    width: 100%;
    margin-right: auto;
  }
  .greed_sec .flex .info .flex {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
  }
  .greed_sec .flex .img {
    width: 100%;
  }
  #item.price .inr > .flex {
    flex-direction: column;
  }
  #item.price .inr > .flex .info {
    width: 100%;
  }
  #item.price .inr > .flex .img {
    flex-direction: column;
    width: 100%;
  }
  #item.price .inr > .flex .img .flex {
    width: 100%;
    display: flex;
  }
  #item .support_sec {
    margin-top: 30px;
    padding: 10px;
  }
  #item .support_sec .flex {
    padding: 0;
    flex-direction: column;
  }
  #item .support_sec .flex .img {
    width: 100%;
    margin: 0 auto;
  }
  #item .support_sec .flex .txt {
    width: 100%;
  }
  .area_sec .flex figure {
    display: none;
  }
  .area_sec .flex .info {
    width: 100%;
  }
  .side_menu_sec .side_menu {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }
  .side_menu_sec .side_menu li {
    width: calc(33% - 5px);
    padding: 5px;
  }
  .side_menu_sec .side_menu li h3 {
    margin-bottom: 5px;
    font-size: 11px;
  }
  .side_menu_sec .side_menu li dl dt {
    font-size: 10px;
  }
  .side_menu_sec .side_menu li dl dd {
    font-size: 8px;
  }
  .side_menu_sec .side_menu li dl dd p {
    font-size: 7px;
  }
  #option_sec .img ul.flex {
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 0px;
  }
  #option_sec .img ul.flex li {
    width: 32%;
  }
  #qa ul {
    flex-direction: column;
  }
  #qa li {
    width: 100%;
    background: #fff;
    padding: 10px 10px;
  }
}