@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_center {
  text-align: center; }

.txt_right {
  text-align: right; }

.f_bold {
  font-weight: bold; }

.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%;
  min-width: 900px; }

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_pc .main_img {
  width: 100%; }

.main_sp {
  display: none; }

.logo {
  display: block;
  margin: 20px auto 0;
  width: 30%; }

#wrapper {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto; }
  #wrapper #header {
    margin: 0 auto;
    width: 90%;
    max-width: 1200px; }
  #wrapper .header_img {
    margin-top: -10px !important;
    margin-left: -10px !important;
    width: calc(100% + 20px) !important; }
  #wrapper .main {
    margin: 20px auto 50px;
    padding: 30px;
    width: 90%;
    max-width: 1000px;
    box-shadow: 0 0 0 5px #fff inset;
    border: solid 5px #ff7f2f;
    border-radius: 30px;
    background: #fcf3ca;
    /*
    img{
    	display: block;
    	margin: 0 auto;
    	width: 100%;
    }*/ }
    #wrapper .main h1 {
      padding-bottom: 20px;
      margin-bottom: 20px;
      font-weight: bold;
      font-size: 1.4rem;
      border-bottom: 1px #555 solid; }
    #wrapper .main h2 {
      font-weight: bold;
      margin-bottom: 10px;
      font-size: 1.2rem; }
    #wrapper .main table {
      margin: 0 auto;
      background: #fff;
      border: 1px #555 solid;
      width: 60%; }
      #wrapper .main table th {
        background: #fc4683;
        color: #fff;
        padding: 10px; }
    #wrapper .main .border_dot {
      display: inline-block;
      border-top: 1px #555 dashed;
      border-bottom: 1px #555 dashed; }
    #wrapper .main .img_title {
      height: 40px;
      margin-bottom: 1rem; }
    #wrapper .main .title01 {
      height: 40px;
      margin-bottom: 0.5rem;
      background: url("../img/icon_title01.png") left 50% no-repeat;
      background-size: contain;
      padding-left: 5%;
      font-size: 1.45rem;
      font-weight: bold;
      line-height: 40px;
      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: 5%;
        border-radius: 100vh;
        content: "";
        display: block;
        width: 350px;
        height: 10px;
        background: #ffea00;
        z-index: -1; }
    #wrapper .main .title02 {
      height: 40px;
      margin-bottom: 0.5rem;
      background: url("../img/icon_title02.png") left 50% no-repeat;
      background-size: contain;
      padding-left: 5%;
      font-size: 1.45rem;
      font-weight: bold;
      line-height: 40px;
      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: 40px;
      margin-bottom: 0.5rem;
      background: url("../img/icon_title03.png") left 50% no-repeat;
      background-size: contain;
      padding-left: 5%;
      font-size: 1.45rem;
      font-weight: bold;
      line-height: 40px;
      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: 40px;
      margin-bottom: 0.5rem;
      background: url("../img/icon_title_end.png") left 50% no-repeat;
      background-size: contain;
      padding-left: 5%;
      font-size: 1.45rem;
      font-weight: bold;
      line-height: 40px;
      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_title_point {
      height: 35px;
      margin-bottom: 1rem; }
    #wrapper .main .img_subtitle {
      display: block;
      height: 20px;
      margin-bottom: 1rem; }
    #wrapper .main .subtitle01 {
      height: 20px;
      margin-bottom: 0.5rem;
      background: url("../img/icon_subtitle.png") left 50% no-repeat;
      background-size: contain;
      padding-left: 27px;
      font-size: 1.15rem;
      font-weight: bold;
      line-height: 20px;
      color: #ff7200;
      z-index: 2; }
    #wrapper .main .img01 {
      width: 60%;
      display: block;
      margin: 0 auto; }
    #wrapper .main .img02 {
      width: 100%;
      display: block;
      margin: 0 auto; }
    #wrapper .main .img03 {
      width: 60%;
      display: block;
      margin: 0 auto; }
    #wrapper .main .thumb_movie {
      width: 60%;
      display: block;
      margin: 0 auto; }
    #wrapper .main .box_cycle {
      border-radius: 10px;
      border: solid 3px #fff;
      color: #156485;
      font-weight: bold;
      font-size: 1.15rem;
      box-shadow: 0 0 0 3px #89dcff inset;
      box-sizing: border-box;
      padding: 2%;
      background: #a1eaff url(../img/txt_bx_pc.jpg) repeat-x 50% 50%;
      background-size: 4%;
      width: 90%;
      min-height: 100px;
      margin: 0 auto 10px;
      display: flex;
      flex-direction: column;
      justify-content: center; }
    #wrapper .main .img_cycle {
      width: 90%;
      display: block;
      margin: 0 auto 10px; }
    #wrapper .main .img_allow_bottom {
      width: 5%;
      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: 15%;
    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; }

.thanks_footer {
  height: 40vh;
  display: flex;
  align-items: center; }
  .thanks_footer a {
    margin: auto; }

.accordion1 {
  text-align: left;
  width: 80%;
  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.4rem;
      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-radius: 0 0 5px 5px;
    border-top: none; }
    .accordion1 .inner li {
      padding: 10px;
      background: #fff;
      box-shadow: 0 0 0 3px #fff inset; }
      .accordion1 .inner li a {
        color: #ff7200;
        text-decoration: none;
        width: 100%; }
      .accordion1 .inner li:hover {
        text-decoration: underline; }
    .accordion1 .inner li:nth-child(even) {
      background: #fcf3ca; }

.mfp-close {
  display: block;
  top: -60px;
  width: 50px;
  height: 50px;
  background: url(/img/btn_close_black.png) no-repeat !important;
  background-size: contain !important; }

.mfp-container, .mfp-close {
  cursor: default !important; }

.mfp-iframe-holder .mfp-content {
  width: 60%; }

/* mfp-bg（overlay） */
.mfp-bg {
  background: rgba(255, 255, 255, 0.8); }

.mfp-fade_top .mfp-figure:after {
  box-shadow: none;
  background-color: transparent; }
.mfp-fade_top .mfp-close {
  top: -2%; }

.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: 200%;
  border: none;
  display: block;
  width: 60px;
  height: 60px;
  background: url(/img/arrow_l03.png) 50% 50% no-repeat;
  background-size: cover; }
.mfp-arrow-left::after {
  border: none; }

.mfp-arrow-right::before {
  margin-left: -200%;
  border: none;
  display: block;
  width: 60px;
  height: 60px;
  background: #fff url(/img/arrow_r03.png) 50% 50% no-repeat;
  background-size: cover; }
.mfp-arrow-right::after {
  border: none; }
