@charset "utf-8";

.top2 {
  padding: 60px 0 0 0;
  text-align: center;
  border-bottom: 1px solid #f0f0f0;
}

.top2 h2 {
  padding: 0 0 20px 0;
  font-family: 'Oswald', "メイリオ", Meiryo, sans-serif;
  font-size: 32px;
  border-bottom: 1px solid #03224b;
}

hr {
  height: 20px;
  margin: 1px 0 0 0;
  border: none;
  background: #03224b;
}

h3.title {
  font-family: 'Oswald', "メイリオ", Meiryo, sans-serif;
  text-align: center;
  color: #424242;
  font-size: 24px;
  border-bottom: 5px solid #bcbcbc;
  margin: 10px 0;
  padding: 0 5px;
}

.text {
  text-align: center;
  color: #424242;
  font-size: 13px;
  line-height: 22px;
  letter-spacing: 0;
}

@media screen and (max-width: 768px) {

.text {
  text-align: justify;
}
}

.ph {
  font-size: 0;
  line-height: 1;
  letter-spacing: 0;
}

.ph img {
  width: 100%;
}

/* --------------------------------------------------
colBox
---------------------------------------------------*/
.colBox {
  -webkit-display: flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  text-align: center;
}

@media screen and (max-width: 768px) {

ul.colBox li {
  flex-basis: 49% !important;
}
}

@media screen and (max-width: 480px) {

ul.colBox li {
  flex-basis: 49% !important;
}
}

ul.colBox li>div {
  padding: 10px 0;
}

ul.colBox li>div a {
  display: block;
}

ul.colBox li>div a .text {
  text-align: center;
  color: #424242;
  font-size: 12px;
  line-height: 20px;
  text-decoration: underline;
}

/* --------------------------------------------------
#after_level
---------------------------------------------------*/
#after_level {
  padding-top: 30px;
  padding-bottom: 30px;
}

@media screen and (max-width: 768px) {

#after_level {
  padding-top: 3%;
  padding-bottom: 3%;
}
}

#after_level .inner {
  padding-top: 30px;
  padding-bottom: 30px;
}

@media screen and (max-width: 768px) {

#after_level .inner {
  padding-top: 3%;
  padding-bottom: 3%;
}
}

#after_level dl.info {
  font-size: 0;
  line-height: 1;
  letter-spacing: 0;
  border-bottom: 2px solid #bbb;
  padding: 50px 0 25px 0;
}

#after_level dl.info:first-of-type {
  border-top: 2px solid #bbb;
  margin: 50px 0 0 0;
}

@media screen and (max-width: 768px) {

#after_level dl.info {
  border-bottom: 2px solid #bbb;
  padding: 5% 0 2.5% 0;
}

#after_level dl.info:first-of-type {
  margin: 5% 0 0 0;
}
}

#after_level dl.info dt {
  display: inline-block;
  vertical-align: top;
  width: 210px;
}

@media screen and (max-width: 768px) {

#after_level dl.info dt {
  width: calc(100vw * 32 * 5.5 / 640);
}
}

#after_level dl.info dt p {
  text-align: right;
  font-size: 32px;
  line-height: 40px;
}

@media screen and (max-width: 768px) {

#after_level dl.info dt p {
  text-align: justify;
  font-size: calc(100vw * 32 / 640);
  line-height: calc(100vw * 40 / 640);
}
}

#after_level dl.info dd {
  display: inline-block;
  vertical-align: top;
  width: calc(100% - 210px);
}

@media screen and (max-width: 768px) {

#after_level dl.info dd {
  width: calc(100% - (100vw * 32 * 5.5 / 640));
}
}

#after_level dl.info dd p {
  font-size: 32px;
  line-height: 40px;
}

#after_level dl.info dd p br {
  display: none;
}

@media screen and (max-width: 768px) {

#after_level dl.info dd p {
  font-size: calc(100vw * 32 / 640);
  line-height: calc(100vw * 40 / 640);
}

#after_level dl.info dd p br {
  display: block;
}
}

#after_level dl.info dd em {
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
  display: block;
  color: #777;
  font-style: normal;
  font-size: 22px;
  line-height: 30px;
}

@media screen and (max-width: 768px) {

#after_level dl.info dd em {
  font-size: calc(100vw * 22 / 640);
  line-height: calc(100vw * 30 / 640);
}
}

#after_level .btn {
  text-align: center;
  padding: 5% 0 2.5% 0;
}

#after_level .btn a {
  display: inline-block;
}

#after_level .btn a img {
  width: auto;
  max-width: 100%;
}

#after_level .bd {
  border: 2px solid #bbb;
  margin: 0 0 2.5% 0;
  padding: 4%;
}

#after_level .bd dl {
  font-size: 0;
  line-height: 1;
  letter-spacing: 0;
  padding: 1%;
}

#after_level .bd dl dt {
  display: inline-block;
  vertical-align: top;
  text-align: right;
  width: 150px;
}

@media screen and (max-width: 768px) {

#after_level .bd dl dt {
  width: calc(100vw * 22 * 6.5 / 640);
}
}

#after_level .bd dl dt p {
  font-size: 22px;
  line-height: 30px;
}

@media screen and (max-width: 768px) {

#after_level .bd dl dt p {
  font-size: calc(100vw * 22 / 640);
  line-height: calc(100vw * 30 / 640);
}
}

#after_level .bd dl dd {
  display: inline-block;
  vertical-align: top;
  width: calc(100% - 150px);
}

@media screen and (max-width: 768px) {

#after_level .bd dl dd {
  width: calc(100% - (100vw * 22 * 6.5 / 640));
}
}

#after_level .bd dl dd p {
  font-size: 22px;
  line-height: 30px;
}

@media screen and (max-width: 768px) {

#after_level .bd dl dd p {
  font-size: calc(100vw * 22 / 640);
  line-height: calc(100vw * 30 / 640);
}
}

/* --------------------------------------------------
youtube
---------------------------------------------------*/
.youtube {
  position:relative;
  width:100%;
  padding-top:56.25%;
}
.youtube iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}

/* --------------------------------------------------
linkBox
---------------------------------------------------*/
.linkBox li {
  flex-basis: 32.1904761%;
}

/* --------------------------------------------------
productBox
---------------------------------------------------*/
.productBox li {
  flex-basis: 23.7142857%;
}

/* --------------------------------------------------
brandBox
---------------------------------------------------*/
.brandBox li {
  flex-basis: 15.2380952%;
}
