@charset "UTF-8";
html {
  font-family: sans-serif; }

html, body, header, section, article, nav, header, footer,
div, span, p, h1, h2, h3, h4,
ul, ol, li, dl, dt, dd,
table, tr, th, td, tbody, thead, tfoot {
  position: relative;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

*, :after, :before {
  box-sizing: inherit; }

a {
  text-decoration: none;
  outline: none;
  color: #ff7200; }

a,
a:link,
a:visited,
a:hover,
a:active {
  outline: none;
  text-decoration: none; }

a:hover {
  opacity: 0.8; }

ul {
  list-style: none; }

.txt_right {
  text-align: right; }

.dis_block {
  display: block; }

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  display: inline-table; }

/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* End hide from IE-mac */
html {
  box-sizing: border-box;
  font-family: sans-serif;
  /*height: 100%;*/
  width: 100%; }

body {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: 600;
  -webkit-text-size-adjust: 100%;
  margin: 0 !important;
  background: url("../img/bg.jpg") top center no-repeat;
  background-size: cover;
  color: #875235; }

.main_sp .main_img {
  width: 100%; }

.main_pc {
  display: none; }

.logo {
  display: block;
  margin: 20px auto 0;
  width: 40%; }

#wrapper {
  width: 100%;
  margin: 0 auto; }
  #wrapper #header {
    margin: 0 auto;
    width: 90%; }
  #wrapper .main {
    margin: 10px auto 50px;
    padding: 20px;
    width: 95%;
    box-shadow: 0 0 0 5px #fff inset;
    border: solid 5px #ff7f2f;
    border-radius: 20px;
    background: #fcf3ca;
    font-size: 0.8rem; }
    #wrapper .main .header_img {
      margin-top: -10px;
      margin-left: -10px;
      width: calc(100% + 20px); }
    #wrapper .main h1 {
      padding-bottom: 20px;
      margin-bottom: 20px;
      font-weight: bold;
      font-size: 1.2rem;
      border-bottom: 1px #555 solid; }
    #wrapper .main img {
      display: block;
      width: 100%; }
    #wrapper .main table {
      margin: 0 auto;
      background: #fff;
      border: 1px #555 solid;
      width: 100%; }
      #wrapper .main table th {
        background: #fc4683;
        color: #fff;
        padding: 10px; }
    #wrapper .main .title01 {
      height: 35px;
      margin-bottom: 0.5rem;
      background: url("../img/icon_title01.png") left 50% no-repeat;
      background-size: contain;
      padding-left: 11%;
      font-size: 1rem;
      font-weight: bold;
      line-height: 35px;
      color: #ff7200;
      text-shadow: 2px 2px 0 #fffde9,-2px 2px 0 #fffde9,2px -2px 0 #fffde9,-2px -2px 0 #fff;
      z-index: 2; }
      #wrapper .main .title01::after {
        position: absolute;
        bottom: 5px;
        left: 9%;
        border-radius: 100vh;
        content: "";
        display: block;
        width: 75%;
        height: 10px;
        background: #ffea00;
        z-index: -1; }
    #wrapper .main .title02 {
      height: 35px;
      margin-bottom: 0.5rem;
      background: url("../img/icon_title02.png") left 50% no-repeat;
      background-size: contain;
      padding-left: 11%;
      font-size: 1rem;
      font-weight: bold;
      line-height: 37px;
      color: #ff7200;
      text-shadow: 2px 2px 0 #fffde9,-2px 2px 0 #fffde9,2px -2px 0 #fffde9,-2px -2px 0 #fff;
      z-index: 2; }
    #wrapper .main .title03 {
      height: 35px;
      margin-bottom: 0.5rem;
      background: url("../img/icon_title03.png") left 50% no-repeat;
      background-size: contain;
      padding-left: 11%;
      font-size: 1rem;
      font-weight: bold;
      line-height: 37px;
      color: #ff7200;
      text-shadow: 2px 2px 0 #fffde9,-2px 2px 0 #fffde9,2px -2px 0 #fffde9,-2px -2px 0 #fff;
      z-index: 2; }
    #wrapper .main .title_end {
      height: 35px;
      margin-bottom: 0.5rem;
      background: url("../img/icon_title_end.png") left 50% no-repeat;
      background-size: contain;
      padding-left: 11%;
      font-size: 1rem;
      font-weight: bold;
      line-height: 37px;
      color: #ff7200;
      text-shadow: 2px 2px 0 #fffde9,-2px 2px 0 #fffde9,2px -2px 0 #fffde9,-2px -2px 0 #fff;
      z-index: 2; }
    #wrapper .main .img_subtitle {
      margin-bottom: 0.2rem; }
    #wrapper .main .subtitle01 {
      margin-bottom: 0.5rem;
      background: url("../img/icon_subtitle.png") left 50% no-repeat;
      background-size: 5.5%;
      padding-left: 24px;
      font-size: 0.85rem;
      font-weight: bold;
      line-height: 20px;
      color: #ff7200;
      z-index: 2; }
    #wrapper .main .img01 {
      width: 80%;
      display: block;
      margin: 0 auto; }
    #wrapper .main .img02 {
      width: 100%;
      display: block;
      margin: 0 auto; }
    #wrapper .main .img03 {
      width: 80%;
      display: block;
      margin: 0 auto; }
    #wrapper .main .thumb_movie {
      width: 80%;
      display: block;
      margin: 0 auto; }
    #wrapper .main .box_cycle {
      border-radius: 10px;
      border: solid 3px #fff;
      color: #156485;
      font-weight: bold;
      font-size: 0.92rem;
      box-shadow: 0 0 0 3px #89dcff inset;
      box-sizing: border-box;
      padding: 2.5%;
      background: #a1eaff url(../img/txt_bx_sp.jpg) repeat-x 50% 50%;
      background-size: contain;
      width: 100%;
      min-height: 100px;
      margin: 0 auto 10px;
      display: flex;
      flex-direction: column;
      justify-content: center; }
    #wrapper .main .img_cycle {
      display: block;
      margin: 0 auto 10px; }
    #wrapper .main .img_allow_bottom {
      width: 8%;
      display: block;
      margin: 0 auto 10px; }
  #wrapper hr {
    height: 15px;
    margin: 0;
    border: 0px none;
    background: url("../img/hr_bg.png") top left repeat-x;
    background-size: auto 100%; }

footer {
  padding: 0 0 40px; }
  footer a {
    display: block;
    margin: 0 auto;
    width: 30%;
    max-width: 200px;
    text-align: center;
    text-decoration: none;
    font-weight: bold; }
    footer a img {
      width: 100%; }
  footer #company_logo {
    padding: 10px 0; }
    footer #company_logo a {
      background: transparent;
      height: 25px;
      margin-top: 10px;
      width: 100px; }
      footer #company_logo a img {
        width: 100%; }
    footer #company_logo img {
      display: block;
      margin: 0 auto; }
  footer .copy {
    text-align: center;
    color: #fff;
    font-size: 0.8rem; }

.accordion1 {
  text-align: left;
  width: 100%;
  font-size: .7rem;
  margin: 30px auto; }
  .accordion1 .ac1 {
    position: relative;
    font-weight: bold;
    padding: 10px;
    background: #fcf3ca;
    border: solid 3px #ff7f2f;
    border-radius: 5px 5px 0 0;
    box-shadow: 0 0 0 3px #fff inset; }
    .accordion1 .ac1::after {
      display: block;
      content: "▼";
      position: absolute;
      right: 10px;
      top: 5px;
      font-size: 1.2rem;
      color: #ff7f2f; }
  .accordion1 .ac1.on::after {
    display: block;
    content: "▲";
    position: absolute;
    right: 10px;
    top: 5px;
    font-size: 1.4rem; }
  .accordion1 .inner {
    display: none;
    list-style: none;
    padding: 0 !important;
    margin: 0 auto;
    border: solid 3px #ff7f2f;
    border-top: none;
    border-radius: 0 0 5px 5px; }
    .accordion1 .inner li {
      padding: 10px;
      background: #fff;
      box-shadow: 0 0 0 3px #fff inset; }
      .accordion1 .inner li a {
        color: #ff7200;
        text-decoration: none; }
      .accordion1 .inner li:hover {
        text-decoration: underline; }
    .accordion1 .inner li:nth-child(even) {
      background: #fcf3ca; }

/*magnific-popup*/
.mfp-close {
  width: 44px;
  height: 44px;
  position: absolute;
  right: 0;
  top: -45px;
  background: url("/img/btn_close_black.png") no-repeat !important;
  background-size: contain !important;
  padding: 0 0 18px 10px; }

/* mfp-bg（overlay） */
.mfp-bg {
  background: rgba(255, 255, 255, 0.8); }

.mfp-fade_top .mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: none;
  background: transparent; }

.mfp-fade.mfp-bg,
.mfp-fade_top.mfp-bg {
  opacity: 0;
  transition: all 0.5s ease-out; }

.mfp-fade.mfp-bg.mfp-ready,
.mfp-fade_top.mfp-bg.mfp-ready {
  opacity: 0.8; }

.mfp-fade.mfp-bg.mfp-removing,
.mfp-fade_top.mfp-bg.mfp-removing {
  opacity: 0; }

/* mfp-content */
.mfp-fade.mfp-wrap .mfp-content,
.mfp-fade_top.mfp-wrap .mfp-content {
  opacity: 0;
  transition: all 0.5s ease-out; }

.mfp-fade.mfp-wrap.mfp-ready .mfp-content,
.mfp-fade_top.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1; }

.mfp-fade.mfp-wrap.mfp-removing .mfp-content,
.mfp-fade_top.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0; }

.mfp-arrow-left::before {
  margin-left: 10%;
  border: none;
  display: block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: url(/img/arrow_l04.png) 0% 50% no-repeat;
  background-size: 90%;
  opacity: 1 !important; }
.mfp-arrow-left::after {
  border: none; }

.mfp-arrow-right::before {
  margin-left: 25%;
  border: none;
  display: block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: url(/img/arrow_r04.png) 100% 50% no-repeat;
  background-size: 90%;
  opacity: 1 !important; }
.mfp-arrow-right::after {
  border: none; }
