@charset "UTF-8";
/*
* base
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Roboto:wght@100;300;400;700&display=swap");
@keyframes animate-panel {
  0% {
    transform-origin: left top;
    transform: scale(0, 1);
  }
  49% {
    transform-origin: left top;
    transform: scale(1, 1);
  }
  50% {
    transform-origin: right top;
    transform: scale(1, 1);
  }
  100% {
    transform-origin: right top;
    transform: scale(0, 1);
  }
}
@keyframes animate-content {
  0% {
    visibility: hidden;
  }
  49% {
    visibility: hidden;
  }
  50% {
    visibility: visible;
  }
  100% {
    visibility: visible;
  }
}
.mask_wrap {
  display: inline-block;
  width: 400px;
}
.mask_wrap .mask_inner {
  position: relative;
  visibility: hidden;
}
.mask_wrap .mask_inner::after {
  content: "";
  background: #616481;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform-origin: left top;
  transform: scale(0, 1);
  transition: all 0.3s ease 0s;
  visibility: visible;
}
.mask_wrap .mask_inner.start {
  animation-name: animate-content;
  animation-duration: 0.8s;
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: both;
  animation-play-state: running;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.mask_wrap .mask_inner.start::after {
  animation-name: animate-panel;
  animation-duration: 0.8s;
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: both;
  animation-play-state: running;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

@media screen and (max-width: 480px) {
  .mask_wrap {
    display: inline-block;
    width: 100%;
  }
}
.effect-0 {
  transition: all 1s;
  opacity: 0;
  visibility: hidden;
  transform: translate(-30px, 0px);
}

.effect-0-1 {
  opacity: 1;
  visibility: visible;
  transform: translate(0px, 0px);
}

@keyframes show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/**************************************
	keyframes
**************************************/
@keyframes play-width {
  0% {
    width: 0;
  }
  50% {
    width: 50%;
  }
  80% {
    width: 80%;
  }
  100% {
    width: 100%;
  }
}
@keyframes anime-1 {
  0% {
    width: 0;
  }
  50% {
    width: 100%;
  }
  80% {
    width: 100%;
  }
  100% {
    width: 0%;
  }
}
@keyframes play2 {
  0% {
    width: 0;
  }
  50% {
    width: 100%;
  }
  80% {
    width: 100%;
  }
  100% {
    width: 0%;
  }
}
@keyframes shutterOpen {
  0% {
    width: 0;
    height: 1px;
  }
  50% {
    width: 100%;
    height: 1px;
  }
  90% {
    width: 100%;
    height: 100%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

RESET CSS

html5doctor.com Reset Stylesheet

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:after, blockquote:before, q:after, q:before {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: 700;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

* {
  font-family: "Noto Sans JP", "メイリオ", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  min-height: 100%;
}

body {
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  color: #666;
  height: 100%;
  font-size: 1.6rem;
  background-color: #616481;
  padding-top: 70px;
}

@media screen and (max-width: 480px) {
  body {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
h1,
h2,
h3,
h4,
h5 {
  font-weight: normal;
}

li {
  list-style-type: none;
}

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

p {
  margin: 0 0;
  padding: 0;
}

img {
  border: 0;
  line-height: 0;
  vertical-align: middle;
}

hr {
  display: none;
}

table {
  margin: 0;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
  margin: 0;
}

td {
  margin: 0;
}

em {
  font-weight: bold;
  font-style: normal;
}

form {
  margin: 0;
  padding: 0;
}

label {
  margin: 0;
  padding: 0;
}

input.btn {
  margin: 0 0.5em;
  padding: 0 1em;
}

html {
  height: 100%;
}

a {
  outline: none;
}

p {
  line-height: 1.5;
}

img {
  max-width: 100%;
  height: auto;
}

a,
a:link,
a:visited {
  color: #616481;
  text-decoration: none;
}

a:active,
a:hover {
  color: #616481;
  text-decoration: none;
}

a:hover {
  color: #616481;
  text-decoration: none;
}

div#wrapper {
  width: 100%;
  min-height: 100%;
  height: auto !important;
  height: 100%;
  margin: 0px auto;
  padding: 0 0px;
  position: relative;
  margin-bottom: -250px;
}

@media screen and (max-width: 480px) {
  div#wrapper {
    margin-bottom: -250px;
  }
}
.sp-i {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp-i {
    display: block;
  }
}

.pc-i {
  display: block;
}
@media screen and (min-width: 481px) and (max-width: 896px) {
  .pc-i {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .pc-i {
    display: none;
  }
}

.tab-i {
  display: none;
}
@media screen and (min-width: 481px) and (max-width: 896px) {
  .tab-i {
    display: block;
  }
}

/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

margin

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
.marT0 {
  margin-top: 0px !important;
}

.marR0 {
  margin-right: 0px !important;
}

.marB0 {
  margin-bottom: 0px !important;
}

.marL0 {
  margin-left: 0px !important;
}

.padT0 {
  padding-top: 0px !important;
}

.padR0 {
  padding-right: 0px !important;
}

.padB0 {
  padding-bottom: 0px !important;
}

.padL0 {
  padding-left: 0px !important;
}

.marT5 {
  margin-top: 5px !important;
}

.marR5 {
  margin-right: 5px !important;
}

.marB5 {
  margin-bottom: 5px !important;
}

.marL5 {
  margin-left: 5px !important;
}

.padT5 {
  padding-top: 5px !important;
}

.padR5 {
  padding-right: 5px !important;
}

.padB5 {
  padding-bottom: 5px !important;
}

.padL5 {
  padding-left: 5px !important;
}

.marT10 {
  margin-top: 10px !important;
}

.marR10 {
  margin-right: 10px !important;
}

.marB10 {
  margin-bottom: 10px !important;
}

.marL10 {
  margin-left: 10px !important;
}

.padT10 {
  padding-top: 10px !important;
}

.padR10 {
  padding-right: 10px !important;
}

.padB10 {
  padding-bottom: 10px !important;
}

.padL10 {
  padding-left: 10px !important;
}

.marT15 {
  margin-top: 15px !important;
}

.marR15 {
  margin-right: 15px !important;
}

.marB15 {
  margin-bottom: 15px !important;
}

.marL15 {
  margin-left: 15px !important;
}

.padT15 {
  padding-top: 15px !important;
}

.padR15 {
  padding-right: 15px !important;
}

.padB15 {
  padding-bottom: 15px !important;
}

.padL15 {
  padding-left: 15px !important;
}

.marT20 {
  margin-top: 20px !important;
}

.marR20 {
  margin-right: 20px !important;
}

.marB20 {
  margin-bottom: 20px !important;
}

.marL20 {
  margin-left: 20px !important;
}

.padT20 {
  padding-top: 20px !important;
}

.padR20 {
  padding-right: 20px !important;
}

.padB20 {
  padding-bottom: 20px !important;
}

.padL20 {
  padding-left: 20px !important;
}

.marT25 {
  margin-top: 25px !important;
}

.marR25 {
  margin-right: 25px !important;
}

.marB25 {
  margin-bottom: 25px !important;
}

.marL25 {
  margin-left: 25px !important;
}

.padT25 {
  padding-top: 25px !important;
}

.padR25 {
  padding-right: 25px !important;
}

.padB25 {
  padding-bottom: 25px !important;
}

.padL25 {
  padding-left: 25px !important;
}

.marT30 {
  margin-top: 30px !important;
}

.marR30 {
  margin-right: 30px !important;
}

.marB30 {
  margin-bottom: 30px !important;
}

.marL30 {
  margin-left: 30px !important;
}

.padT30 {
  padding-top: 30px !important;
}

.padR30 {
  padding-right: 30px !important;
}

.padB30 {
  padding-bottom: 30px !important;
}

.padL30 {
  padding-left: 30px !important;
}

.marT35 {
  margin-top: 35px !important;
}

.marR35 {
  margin-right: 35px !important;
}

.marB35 {
  margin-bottom: 35px !important;
}

.marL35 {
  margin-left: 35px !important;
}

.padT35 {
  padding-top: 35px !important;
}

.padR35 {
  padding-right: 35px !important;
}

.padB35 {
  padding-bottom: 35px !important;
}

.padL35 {
  padding-left: 35px !important;
}

.marT40 {
  margin-top: 40px !important;
}

.marR40 {
  margin-right: 40px !important;
}

.marB40 {
  margin-bottom: 40px !important;
}

.marL40 {
  margin-left: 40px !important;
}

.padT40 {
  padding-top: 40px !important;
}

.padR40 {
  padding-right: 40px !important;
}

.padB40 {
  padding-bottom: 40px !important;
}

.padL40 {
  padding-left: 40px !important;
}

.marT45 {
  margin-top: 45px !important;
}

.marR45 {
  margin-right: 45px !important;
}

.marB45 {
  margin-bottom: 45px !important;
}

.marL45 {
  margin-left: 45px !important;
}

.padT45 {
  padding-top: 45px !important;
}

.padR45 {
  padding-right: 45px !important;
}

.padB45 {
  padding-bottom: 45px !important;
}

.padL45 {
  padding-left: 45px !important;
}

.marT50 {
  margin-top: 50px !important;
}

.marR50 {
  margin-right: 50px !important;
}

.marB50 {
  margin-bottom: 50px !important;
}

.marL50 {
  margin-left: 50px !important;
}

.padT50 {
  padding-top: 50px !important;
}

.padR50 {
  padding-right: 50px !important;
}

.padB50 {
  padding-bottom: 50px !important;
}

.padL50 {
  padding-left: 50px !important;
}

.marT55 {
  margin-top: 55px !important;
}

.marR55 {
  margin-right: 55px !important;
}

.marB55 {
  margin-bottom: 55px !important;
}

.marL55 {
  margin-left: 55px !important;
}

.padT55 {
  padding-top: 55px !important;
}

.padR55 {
  padding-right: 55px !important;
}

.padB55 {
  padding-bottom: 55px !important;
}

.padL55 {
  padding-left: 55px !important;
}

.marT60 {
  margin-top: 60px !important;
}

.marR60 {
  margin-right: 60px !important;
}

.marB60 {
  margin-bottom: 60px !important;
}

.marL60 {
  margin-left: 60px !important;
}

.padT60 {
  padding-top: 60px !important;
}

.padR60 {
  padding-right: 60px !important;
}

.padB60 {
  padding-bottom: 60px !important;
}

.padL60 {
  padding-left: 60px !important;
}

.marT65 {
  margin-top: 65px !important;
}

.marR65 {
  margin-right: 65px !important;
}

.marB65 {
  margin-bottom: 65px !important;
}

.marL65 {
  margin-left: 65px !important;
}

.padT65 {
  padding-top: 65px !important;
}

.padR65 {
  padding-right: 65px !important;
}

.padB65 {
  padding-bottom: 65px !important;
}

.padL65 {
  padding-left: 65px !important;
}

.marT70 {
  margin-top: 70px !important;
}

.marR70 {
  margin-right: 70px !important;
}

.marB70 {
  margin-bottom: 70px !important;
}

.marL70 {
  margin-left: 70px !important;
}

.padT70 {
  padding-top: 70px !important;
}

.padR70 {
  padding-right: 70px !important;
}

.padB70 {
  padding-bottom: 70px !important;
}

.padL70 {
  padding-left: 70px !important;
}

.marT75 {
  margin-top: 75px !important;
}

.marR75 {
  margin-right: 75px !important;
}

.marB75 {
  margin-bottom: 75px !important;
}

.marL75 {
  margin-left: 75px !important;
}

.padT75 {
  padding-top: 75px !important;
}

.padR75 {
  padding-right: 75px !important;
}

.padB75 {
  padding-bottom: 75px !important;
}

.padL75 {
  padding-left: 75px !important;
}

.marT80 {
  margin-top: 80px !important;
}

.marR80 {
  margin-right: 80px !important;
}

.marB80 {
  margin-bottom: 80px !important;
}

.marL80 {
  margin-left: 80px !important;
}

.padT80 {
  padding-top: 80px !important;
}

.padR80 {
  padding-right: 80px !important;
}

.padB80 {
  padding-bottom: 80px !important;
}

.padL80 {
  padding-left: 80px !important;
}

.marT85 {
  margin-top: 85px !important;
}

.marR85 {
  margin-right: 85px !important;
}

.marB85 {
  margin-bottom: 85px !important;
}

.marL85 {
  margin-left: 85px !important;
}

.padT85 {
  padding-top: 85px !important;
}

.padR85 {
  padding-right: 85px !important;
}

.padB85 {
  padding-bottom: 85px !important;
}

.padL85 {
  padding-left: 85px !important;
}

.marT90 {
  margin-top: 90px !important;
}

.marR90 {
  margin-right: 90px !important;
}

.marB90 {
  margin-bottom: 90px !important;
}

.marL90 {
  margin-left: 90px !important;
}

.padT90 {
  padding-top: 90px !important;
}

.padR90 {
  padding-right: 90px !important;
}

.padB90 {
  padding-bottom: 90px !important;
}

.padL90 {
  padding-left: 90px !important;
}

.marT95 {
  margin-top: 95px !important;
}

.marR95 {
  margin-right: 95px !important;
}

.marB95 {
  margin-bottom: 95px !important;
}

.marL95 {
  margin-left: 95px !important;
}

.padT95 {
  padding-top: 95px !important;
}

.padR95 {
  padding-right: 95px !important;
}

.padB95 {
  padding-bottom: 95px !important;
}

.padL95 {
  padding-left: 95px !important;
}

.marT100 {
  margin-top: 100px !important;
}

.marR100 {
  margin-right: 100px !important;
}

.marB100 {
  margin-bottom: 100px !important;
}

.marL100 {
  margin-left: 100px !important;
}

.padT100 {
  padding-top: 100px !important;
}

.padR100 {
  padding-right: 100px !important;
}

.padB100 {
  padding-bottom: 100px !important;
}

.padL100 {
  padding-left: 100px !important;
}

/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

font-weigh

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
.fontWB {
  font-weight: bold !important;
}

.fontWN {
  font-weight: normal !important;
}

.fontUL {
  text-decoration: underline !important;
}

/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

揃え位置・インデント clearfix

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
.alignC {
  text-align: center !important;
}

.alignL {
  text-align: left !important;
}

.alignR {
  text-align: right !important;
}

.alignJ {
  text-align: justify;
}

.textIndent {
  margin-left: 1.3em !important;
  text-indent: -1.3em !important;
}

.textIndentNsp {
  margin-left: 1em !important;
  text-indent: -1em !important;
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/*
* layout
*/
#header {
  width: 100%;
  height: 70px;
  background: #616481;
  padding-top: 10px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}
#header #header-cnt {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#header #header-cnt .header-logo {
  width: 246px;
  margin-left: 1%;
}

@media screen and (max-width: 480px) {
  #header #header-cnt .header-logo {
    width: 138px;
    margin-left: 10px;
    margin-top: 5px;
  }
}
#spMenuBtn {
  width: 60px;
  height: 60px;
  background-color: #616481;
  border-radius: 30px;
  padding-top: 10px;
  font-size: 1rem;
  position: absolute;
  display: none;
  z-index: 9999;
  text-align: center;
}
@media screen and (min-width: 481px) and (max-width: 896px) {
  #spMenuBtn {
    display: block;
    top: 20px;
    right: 10px;
  }
}
#spMenuBtn::before {
  position: relative;
  top: 0px;
  color: #fff;
  display: block;
}

@media screen and (max-width: 480px) {
  #spMenuBtn {
    display: block;
    top: 5px;
    right: 10px;
  }
}
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}

.menu-trigger {
  position: relative;
  top: 10px;
  width: 21px;
  height: 20px;
}

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  border-radius: 0px;
}

.menu-trigger span:nth-of-type(1) {
  top: 0px;
}

.menu-trigger span:nth-of-type(2) {
  top: 9px;
}

.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger.active {
  height: 20px;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
  transform: translateY(10px) rotate(-45deg);
  animation: none;
}

.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
  animation: none;
}

.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
  transform: translateY(-10px) rotate(45deg);
  animation: none;
}

@keyframes trigger {
  0% {
    width: 0%;
  }
  30% {
    width: 100%;
  }
  100% {
    width: 100%;
  }
}
footer {
  clear: both;
  width: 100%;
  height: 250px;
  margin: 0px auto;
  display: block;
  padding: 0px;
  position: relative;
  color: #fff;
}

div#footerPush {
  width: 100%;
  height: 250px;
}

.footer-cnt {
  padding-top: 20px;
  width: 1000px;
  margin: 0 auto;
  text-align: center;
}
.footer-cnt a {
  color: #fff;
}
.footer-cnt nav {
  margin-top: 20px;
}
.footer-cnt nav ul {
  display: flex;
  justify-content: center;
}
.footer-cnt nav ul li {
  padding: 10px;
}
.footer-cnt .ft-logo {
  width: 134px;
  margin: 0 auto;
}

.copyright {
  font-size: 12px;
  font-size: 1.2rem;
  margin-top: 20px;
}

@media screen and (max-width: 480px) {
  footer {
    height: 250px;
  }
  div#footerPush {
    width: 100%;
    height: 250px;
  }
  .footer-cnt {
    padding-top: 20px;
    width: 100%;
    text-align: center;
  }
  .footer-cnt a {
    color: #fff;
  }
  .footer-cnt nav {
    margin-top: 40px;
  }
  .footer-cnt nav ul {
    display: flex;
    justify-content: center;
  }
  .footer-cnt nav ul li {
    padding: 10px;
  }
  .footer-cnt .ft-logo {
    width: 67px;
  }
}
#floatingGoTop {
  width: 50px;
  height: 50px;
  line-height: 50px;
  background: #000;
  color: #000;
  font-size: 4rem;
  border-radius: 25px;
  border: 1px solid #000;
  text-align: center;
  position: fixed;
  right: 3%;
  bottom: 260px;
  cursor: pointer;
  display: none;
}
@media screen and (max-width: 480px) {
  #floatingGoTop {
    bottom: 60px;
  }
}
#floatingGoTop .arrowTop {
  display: block;
  width: 16px;
  height: 16px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: relative;
  left: 16px;
  top: 18px;
}

@media screen and (max-width: 834px) {
  #floatingGoTop {
    display: none;
  }
}
.bnr-ft-area {
  width: 1000px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 50px auto;
}
.bnr-ft-area div {
  width: 323.3333333333px;
  margin-top: 20px;
}
.bnr-ft-area div a {
  text-align: center;
  display: block;
}

@media screen and (max-width: 480px) {
  .bnr-ft-area {
    width: 100%;
    display: inline-block;
    margin: 25px auto;
  }
  .bnr-ft-area div {
    width: 90%;
    margin: 10px auto 10px;
  }
  .bnr-ft-area div img {
    width: 100%;
  }
  .bnr-ft-area::after {
    display: none;
  }
}
#content-wrap {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 481px) and (max-width: 896px) {
  main {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0px;
    margin-left: 0;
  }
}
@media screen and (max-width: 480px) {
  main {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0px;
    margin-left: 0;
  }
}

#main-visual {
  position: relative;
  width: 100%;
  height: 330px;
}
@media screen and (min-width: 481px) and (max-width: 896px) {
  #main-visual {
    height: auto;
  }
}
@media screen and (max-width: 480px) {
  #main-visual {
    height: auto;
  }
}

.cnt-area {
  background-color: #fff;
  width: 1100px;
  margin: 50px auto 0;
  padding: 50px 50px;
}

@media screen and (max-width: 480px) {
  .cnt-area {
    width: 90%;
    padding: 40px 10px;
  }
}
#g-nav {
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-style: normal;
  width: calc(100% - 200px);
}
#g-nav ul.g-nav {
  display: flex;
  justify-content: flex-end;
}
#g-nav ul.g-nav li {
  padding: 10px 10px;
}
#g-nav ul.g-nav li a {
  color: #fff;
  position: relative;
  display: inline-block;
  text-decoration: none;
}
#g-nav ul.g-nav li a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  bottom: -2px;
  transform: scale(0, 1);
  transition: transform 0.3s;
  transform-origin: right top;
}
#g-nav ul.g-nav li a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
@media screen and (min-width: 481px) and (max-width: 896px) {
  #g-nav {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  #g-nav {
    width: 100%;
    display: none;
  }
}

.over-menu.active {
  display: block;
  transform: translateY(0%);
  animation: drawer-open 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  animation-fill-mode: both;
  z-index: 9999;
}

.over-menu {
  display: block;
  transition: all 0.4s;
  z-index: -1;
  position: fixed;
  top: 0px;
  left: 0;
  width: 100%;
  background: #616481;
  overflow: scroll;
  height: 100vh;
  padding: 0px;
  animation: drawer-close 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  animation-fill-mode: both;
}

.over-menu .menu-block {
  position: absolute;
  top: 90px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
}
.over-menu .menu-block ul {
  margin-bottom: 40px;
  font-family: "Roboto", sans-serif;
  font-weight: 100;
  font-style: normal;
}
.over-menu .menu-block ul li {
  font-size: 16px;
  font-size: 1.6rem;
  padding: 6px 0;
}
.over-menu .menu-block ul li a {
  color: #fff;
}
.over-menu .menu-block .over-menu-sns {
  display: flex;
  justify-content: center;
}
.over-menu .menu-block .over-menu-sns div {
  padding: 0 10px;
}
.over-menu .menu-block .over-menu-sns div a {
  color: #fff;
}

@-webkit-keyframes drawer-open {
  0% {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes drawer-open {
  0% {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes drawer-close {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
    opacity: 0;
  }
}
@keyframes drawer-close {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
    opacity: 0;
  }
}
/*
* module
*/
.btn-area {
  display: flex;
  justify-content: center;
  padding-top: 60px;
}
.btn-area li {
  padding: 0 10px;
}

@media screen and (max-width: 480px) {
  .btn-area {
    padding-top: 40px;
  }
}
a.btn {
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-style: normal;
  width: 300px;
  line-height: 70px;
  color: #000;
  background-color: #fff;
  text-align: center;
  display: block;
  transition: all 0.4s;
  position: relative;
  z-index: 0;
  border: 1px solid #000;
}
a.btn::before {
  content: "";
  width: 0%;
  height: 100%;
  left: 0;
  bottom: 0;
  position: absolute;
  background-color: #616481;
  transition: 0.2s;
  z-index: -1;
}
a.btn::after {
  content: "";
  position: absolute;
  top: calc(50% - 8px);
  right: 35px;
  line-height: 1;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
}
a.btn:hover {
  color: #fff;
}
a.btn:hover::before {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 480px) {
  a.btn {
    font-size: 12px;
    font-size: 1.2rem;
    width: 180px;
    line-height: 50px;
  }
  a.btn::after {
    content: "";
    position: absolute;
    top: calc(50% - 6px);
    right: 15px;
    line-height: 1;
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: 900;
  }
  a.btn:hover {
    color: #000;
  }
  a.btn:hover::before {
    display: none;
  }
}
a.btn-2 {
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-style: normal;
  width: 300px;
  line-height: 42px;
  color: #000;
  background-color: #fff;
  text-align: center;
  display: block;
  transition: all 0.4s;
  position: relative;
  z-index: 0;
  border: 1px solid #000;
}
a.btn-2::before {
  content: "";
  width: 0%;
  height: 100%;
  left: 0;
  bottom: 0;
  position: absolute;
  background-color: #616481;
  transition: 0.2s;
  z-index: -1;
}
a.btn-2::after {
  content: "";
  position: absolute;
  top: calc(50% - 8px);
  right: 35px;
  line-height: 1;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
}
a.btn-2:hover {
  color: #fff;
}
a.btn-2:hover::before {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 480px) {
  a.btn-2 {
    font-size: 12px;
    font-size: 1.2rem;
    width: 150px;
    height: 30px;
    line-height: 30px;
  }
  a.btn-2::after {
    content: "";
    position: absolute;
    top: calc(50% - 6px);
    right: 15px;
    line-height: 1;
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: 900;
  }
  a.btn-2:hover {
    color: #000;
  }
  a.btn-2:hover::before {
    display: none;
  }
}
a.btn-3 {
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-style: normal;
  width: 300px;
  line-height: 42px;
  color: #000;
  background-color: #fff;
  text-align: center;
  display: block;
  transition: all 0.4s;
  position: relative;
  z-index: 0;
  border: 1px solid #000;
}
a.btn-3::before {
  content: "";
  width: 0%;
  height: 100%;
  left: 0;
  bottom: 0;
  position: absolute;
  background-color: #616481;
  transition: 0.2s;
  z-index: -1;
}
a.btn-3::after {
  content: "";
  position: absolute;
  top: calc(50% - 8px);
  right: 35px;
  line-height: 1;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
}
a.btn-3:hover {
  color: #fff;
}
a.btn-3:hover::before {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 480px) {
  a.btn-3 {
    font-size: 16px;
    font-size: 1.6rem;
    width: 250px;
    line-height: 50px;
  }
  a.btn-3:hover {
    color: #fff;
  }
  a.btn-3:hover::before {
    display: none;
  }
}
.more-btn {
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
}

.return-btn {
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
}

@media screen and (max-width: 480px) {
  .more-btn a.btn-2 {
    width: 150px;
  }
  .more-btn a.btn-2::after {
    content: "";
    position: absolute;
    top: calc(50% - 8px);
    right: 15px;
    line-height: 1;
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: 900;
  }
  .return-btn {
    justify-content: center;
    margin-top: 40px;
  }
  .return-btn a.btn-2 {
    width: 150px;
    height: 40px;
    line-height: 40px;
  }
  .return-btn a.btn-2::after {
    content: "";
    position: absolute;
    top: calc(50% - 8px);
    right: 15px;
    line-height: 1;
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: 900;
  }
}
input[type=button].btn-send {
  border-color: #ccc;
  font-size: 14px;
  font-size: 1.4rem;
  cursor: pointer;
  width: 200px;
  line-height: 60px;
  height: 60px;
  color: #000;
  background-color: #fff;
  text-align: center;
  transition: all 0.4s;
  padding: 0;
}
input[type=button].btn-send:hover {
  opacity: 0.5;
}

input[type=button].btn-return {
  border-color: #ccc;
  font-size: 14px;
  font-size: 1.4rem;
  cursor: pointer;
  width: 200px;
  line-height: 60px;
  height: 60px;
  color: #000;
  background-color: #eee;
  text-align: center;
  transition: all 0.4s;
  padding: 0;
}
input[type=button].btn-return:hover {
  opacity: 0.5;
}

input[type=submit].btn-confirm {
  border-color: #ccc;
  font-size: 14px;
  font-size: 1.4rem;
  cursor: pointer;
  width: 200px;
  line-height: 60px;
  height: 60px;
  color: #000;
  background-color: #fff;
  text-align: center;
  transition: all 0.4s;
  padding: 0;
}
input[type=submit].btn-confirm:hover {
  opacity: 0.5;
}

/**************************************
	見出し
**************************************/
.ttl {
  color: #000;
}

.ttl {
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1;
  letter-spacing: 0.05em;
  position: relative;
  display: inline-block;
}
.ttl::after {
  content: "";
  height: 3px;
  width: 60px;
  background-color: #000;
  display: block;
  position: absolute;
  top: 50%;
  right: -80px;
}

@media screen and (max-width: 480px) {
  .ttl {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
.ttl-2 {
  font-size: 24px;
  font-size: 2.4rem;
  margin-top: 40px;
  line-height: 1.6;
  border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 480px) {
  .ttl-2 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
.ttl-3 {
  font-size: 16px;
  font-size: 1.6rem;
  background-color: #f3f3f3;
  text-align: center;
  padding: 10px;
}

/**************************************
	リスト
**************************************/
.oListDefault {
  line-height: 1.5;
  margin-top: 20px;
}

.oListDefault li {
  list-style-type: decimal;
  margin-left: 23px;
  margin-bottom: 10px;
}

.oListDefault li ol {
  margin-top: 10px;
  margin-bottom: 20px;
}

.oListDefault li ol li {
  list-style-type: upper-roman;
}

.table-temple {
  width: 100%;
}
.table-temple tr {
  border-bottom: 1px solid #ccc;
}
.table-temple tr:first-child {
  border-top: 1px solid #ccc;
}
.table-temple th {
  padding: 15px 0 15px 20px;
  background-color: #e7e3e0;
}
.table-temple td {
  padding: 15px 0 15px 20px;
  background-color: #fbf7f3;
}

.table-price-1 {
  width: 100%;
  border: 6px solid #bbb1a8;
}
.table-price-1 th {
  background: #bbb1a8;
  color: #fff;
  text-align: center;
  width: 50%;
  font-size: 24px;
  font-size: 2.4rem;
  padding: 20px 20px;
  font-weight: normal;
}
@media screen and (max-width: 480px) {
  .table-price-1 th {
    font-size: 20px;
    font-size: 2rem;
    padding: 10px;
  }
}
.table-price-1 td {
  font-size: 40px;
  font-size: 4rem;
  text-align: center;
  border: 6px solid #bbb1a8;
  padding: 30px 20px;
}
@media screen and (max-width: 480px) {
  .table-price-1 td {
    font-size: 22px;
    font-size: 2.2rem;
    padding: 10px;
  }
}

.table-price-2 {
  width: 100%;
  border: 1px solid #ccc;
}
.table-price-2 th {
  background: #000;
  color: #fff;
  text-align: center;
  padding: 14px;
}
.table-price-2 td {
  width: 36%;
  border-bottom: 1px solid #ccc;
  padding: 20px;
}
@media screen and (max-width: 480px) {
  .table-price-2 td {
    text-align: center;
    display: block;
    width: 100%;
    border-right: 1px solid #ccc;
  }
  .table-price-2 td:first-child {
    background: #f3f3f3;
  }
}
.table-price-2 td:nth-child(2) {
  text-align: center;
  width: 28%;
}
@media screen and (max-width: 480px) {
  .table-price-2 td:nth-child(2) {
    display: block;
    width: 100%;
  }
}
.table-price-2 td:last-child {
  text-align: right;
}
@media screen and (max-width: 480px) {
  .table-price-2 td:last-child {
    text-align: center;
    display: block;
    width: 100%;
  }
}

.table01 {
  width: 100%;
}

.table01 thead, .table01 tfoot {
  background: #000;
  color: #fff;
  height: 70px;
  font-weight: bold;
}

.table01 td {
  height: 70px;
  vertical-align: middle;
  padding: 20px;
}

.table-form {
  margin-bottom: 40px;
}

.table-form th {
  width: 420px;
  background: #fff;
  text-align: left;
  vertical-align: middle;
  border-bottom: 2px solid #fff;
  font-weight: normal;
  padding-left: 200px;
}

@media screen and (max-width: 1024px) {
  .table-form tr {
    height: auto;
  }
  .table-form td {
    height: auto;
    display: block;
    width: 100%;
  }
  .table-form th {
    width: 100%;
    display: block;
    padding: 8px 0;
  }
}
@media screen and (max-width: 560px) {
  .table01 thead, .table01 tfoot {
    height: 40px;
  }
  .table01 td {
    height: 40px;
    vertical-align: middle;
    padding: 10px 10px;
    font-size: 1.3rem;
  }
  .table-form td {
    height: auto;
    display: block;
    width: 100%;
  }
}
/************************************
form
*************************************/
/*
reset
***********************/
button,
option,
select,
textarea,
input[type=button],
input[type=submit],
input[type=number],
input[type=email],
input[type=tel],
input[type=date],
input[type=text],
input[type=select],
input[type=option],
input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  border-radius: 0;
  border: none;
  outline: 0;
  margin: 0;
}

/* デフォルトのradio、checkboxは非表示 */
input[type=radio],
input[type=checkbox] {
  display: none;
}

/* for firefox */
select {
  text-indent: 0.01px;
  text-overflow: "";
}

/* for ie10 ie11 ie系のプルダウンの矢印を消す ie9は非対応 */
select::-ms-expand {
  display: none;
}

/*
input[type="text"] textarea
input[type="●●●"] 適宜追加
*/
textarea, select,
input[type=number],
input[type=text],
input[type=email],
input[type=tel],
input[type=date] {
  padding: 5px 5px;
  font-size: 14px;
  font-size: 1.4rem;
  border: 1px solid #ccc;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
}

textarea {
  height: 100px; /* お好みの高さに */
}

/* フォーカス時の色変更 */
textarea:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=text]:focus {
  border: 1px solid #333;
}

/* ラジオボタン */
.formTckKind li {
  display: inline-block;
}
.formTckKind input[type=radio] {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 5px 30px;
  position: relative;
  width: auto;
  margin-right: 10px;
}
.formTckKind input[type=radio]::before {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 50%;
  content: "";
  display: block;
  height: 16px;
  left: 0px;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 16px;
}
.formTckKind input[type=radio]::after {
  background: #fedd1e;
  border-radius: 50%;
  content: "";
  display: block;
  height: 10px;
  left: 3px;
  margin-top: -5px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: scale3d(0.3, 0.3, 1);
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
  width: 10px;
}
.formTckKind input[type=radio]:checked::before {
  border-color: #666;
}
.formTckKind input[type=radio]:checked::after {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}
.formTckKind label {
  margin-right: 20px;
}

/* チェックボックス */
.checkbox03 {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 5px 30px;
  position: relative;
  width: auto;
}

.checkbox03::before {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 3px;
  content: "";
  display: block;
  height: 16px;
  left: 5px;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 16px;
}

.checkbox03::after {
  border-right: 6px solid #fedd1e;
  border-bottom: 3px solid #fedd1e;
  content: "";
  display: block;
  height: 20px;
  left: 7px;
  margin-top: -16px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg) translate3d(0, 2px, 0) scale3d(0.7, 0.7, 1);
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
  width: 9px;
}

input[type=checkbox]:checked + .checkbox03::before {
  border-color: #666;
}

input[type=checkbox]:checked + .checkbox03::after {
  opacity: 1;
  transform: rotate(45deg) scale3d(1, 1, 1);
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

input[type=submit], input[type=button] {
  width: 100%;
  height: 44px;
  padding: 10px 20px;
  display: block;
  position: relative;
  background: #111;
  color: #fff;
  text-align: center;
  border: 1px solid #111;
  cursor: pointer;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
  color: #ccc;
  font-size: 12px;
  font-size: 1.2rem;
}

.formCntName,
.formCntKana,
.formTckName,
.formTckKana {
  width: 300px;
  padding: 3px 6px;
}

.formCntTel,
.formCntFax,
.formTckTel {
  width: 300px;
  padding: 3px 6px;
}

.formTckNum {
  width: 60px;
  padding: 3px 6px;
}

.formCntZip1, .formTckZip1 {
  width: 100px;
  padding: 3px 6px;
}

.formCntZip2, .formTckZip2 {
  width: 140px;
  padding: 3px 6px;
}

.prefectures-select {
  width: 200px;
}

.formCntAddress, .formTckAddress {
  margin-top: 5px !important;
  width: 100%;
  padding: 3px 6px;
  box-sizing: border-box;
}

.formCntMail, .formTckMail1, .formTckMail2 {
  width: 300px;
  padding: 3px 6px;
}

.formCntSub {
  width: 300px;
  padding: 3px 6px;
}

.formCntCnt, .formTckCnt {
  width: 100%;
  height: 200px;
  box-sizing: border-box;
  padding: 6px 6px;
  font-size: 1.6rem;
}

.ruleBase {
  width: 94%;
  padding: 10px;
  margin: 0px auto;
  margin-top: 20px;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  height: 150px;
  overflow: auto;
  font-size: 12px;
  font-size: 1.2rem;
  text-align: left;
}

.agreeCheck {
  text-align: center;
}

@media screen and (max-width: 480px) {
  .formCntName,
  .formCntKana,
  .formTckName,
  .formTckKana {
    width: 100%;
    padding: 3px 6px;
  }
  .formCntTel,
  .formCntFax,
  .formTckNum,
  .formTckTel {
    width: 100%;
    padding: 3px 6px;
  }
  .formCntZip1, .formTckZip1 {
    width: 60px;
    padding: 3px 6px;
  }
  .formCntZip2, .formTckZip2 {
    width: 100px;
    padding: 3px 6px;
  }
  .formCntMail, .formTckMail1, .formTckMail2 {
    width: 100%;
    padding: 3px 6px;
  }
  .formCntSub {
    width: 100%;
    padding: 3px 6px;
  }
  .formCntCnt, .formTckCnt {
    width: 100%;
    height: 200px;
    box-sizing: border-box;
    padding: 6px 6px;
    font-size: 1.6rem;
  }
}
/*
* pages
*/
#main-visual {
  width: 100%;
  height: calc(100vh - 70px);
  background-repeat: no-repeat;
  background-position: center 70px;
  background-size: contain;
  background-attachment: fixed;
}

@media screen and (max-width: 480px) {
  #main-visual {
    height: 30vh;
  }
}
#mainMovie {
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

@media screen and (max-width: 480px) {
  #mainMovie {
    display: none;
  }
  #tubular-container {
    display: none;
  }
  #tubular-container iframe {
    display: none;
  }
  #tubular-shield {
    display: none;
  }
}
.mainSlideArea {
  width: 100%;
  margin: 0 auto;
}

.mainSlideArea div.innerBlock {
  max-width: 600px;
}

.mypattern .slick-slide:not(.slick-center) {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  filter: grayscale(100%);
  transition: 0.2s linear;
}

.slick-slide img {
  width: 100%;
  height: auto;
}

.mypattern .slick-slide {
  margin: 0 5px;
}

.mypattern .slide-arrow {
  top: 40%;
  position: absolute;
  cursor: pointer;
}

.mypattern .prev-arrow {
  left: 30px;
  z-index: 1;
}

.mypattern .next-arrow {
  right: 30px;
}

@media only screen and (max-width: 480px) {
  .mainSlideArea {
    width: 100%;
    margin: 20px auto;
  }
  .mypattern .slide-arrow {
    top: 45%;
    position: absolute;
    cursor: pointer;
    width: 20px;
    opacity: 0.5;
  }
  .mypattern .prev-arrow {
    left: 10px;
    z-index: 1;
  }
  .mypattern .next-arrow {
    right: 10px;
  }
  .mypattern .slick-slide:not(.slick-center) {
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    filter: grayscale(0%);
    transition: 0.2s linear;
  }
}
.record-list {
  margin-top: 30px;
}
.record-list li {
  border-bottom: 1px solid #ccc;
}
.record-list li a {
  line-height: 1.5;
  display: flex;
  color: #000;
  padding: 25px 20px;
  transition: all 0.3s;
}
.record-list li a time {
  width: 100px;
}
.record-list li a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 480px) {
  .record-list {
    margin-top: 20px;
  }
  .record-list li a {
    display: block;
    padding: 10px 10px;
  }
  .record-list li a time {
    width: auto;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .record-list li a h2 {
    margin-top: 10px;
  }
}
.schedule-panel {
  display: flex;
  justify-content: space-between;
}
.schedule-panel .schedule-panel-next {
  margin-top: 50px;
  width: 480px;
}
.schedule-panel .schedule-panel-next h3 {
  font-size: 24px;
  font-size: 2.4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-style: normal;
  position: relative;
  padding-left: 0px;
  display: block;
  text-align: center;
}
.schedule-panel .schedule-panel-next h3::before {
  content: "";
  height: 1px;
  width: 100px;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 0;
}
.schedule-panel .schedule-panel-next h3::after {
  content: "";
  height: 1px;
  width: 100px;
  background-color: #000;
  position: absolute;
  top: 50%;
  right: 0px;
}
.schedule-panel .schedule-panel-next .schedule-panel-next-header {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-style: normal;
}
.schedule-panel .schedule-panel-next .schedule-panel-next-title {
  margin-top: 30px;
}
.schedule-panel .schedule-panel-next .schedule-panel-next-title p {
  line-height: 1.5;
}

.schedule-panel-list-area {
  width: 460px;
  margin-top: 50px;
}
.schedule-panel-list-area h3 {
  font-size: 24px;
  font-size: 2.4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-style: normal;
  position: relative;
  padding-left: 0px;
  display: block;
  text-align: center;
}
.schedule-panel-list-area h3::before {
  content: "";
  height: 1px;
  width: 100px;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 0;
}
.schedule-panel-list-area h3::after {
  content: "";
  height: 1px;
  width: 100px;
  background-color: #000;
  position: absolute;
  top: 50%;
  right: 0px;
}
.schedule-panel-list-area .record-list li a {
  padding: 10px 0;
}
.schedule-panel-list-area .record-list li a time {
  width: 150px;
  line-height: 1.5;
}
.schedule-panel-list-area .record-list li a p {
  width: calc(100% - 150px);
}

@media screen and (max-width: 480px) {
  .schedule-panel {
    display: block;
  }
  .schedule-panel .schedule-panel-next {
    margin-top: 25px;
    padding-bottom: 20px;
    width: 100%;
  }
  .schedule-panel .schedule-panel-next h3 {
    font-size: 20px;
    font-size: 2rem;
    padding-left: 0px;
  }
  .schedule-panel .schedule-panel-next h3::before {
    width: 70px;
  }
  .schedule-panel .schedule-panel-next h3::after {
    width: 70px;
    right: 0px;
  }
  .schedule-panel .schedule-panel-next .schedule-panel-next-header {
    display: flex;
    justify-content: space-between;
    margin-top: 24px;
    font-family: "Roboto", sans-serif;
    font-weight: 600;
    font-style: normal;
    line-height: 1.5;
  }
  .schedule-panel .schedule-panel-next .schedule-panel-next-title {
    margin-top: 30px;
  }
  .schedule-panel .schedule-panel-next .schedule-panel-next-title p {
    line-height: 1.5;
  }
  .schedule-panel-list-area {
    width: 100%;
    margin-top: 20px;
  }
  .schedule-panel-list-area h3 {
    font-size: 20px;
    font-size: 2rem;
    padding-left: 0px;
  }
  .schedule-panel-list-area h3::before {
    width: 70px;
  }
  .schedule-panel-list-area h3::after {
    width: 70px;
    right: 0px;
  }
  .schedule-panel-list-area .record-list li a time {
    width: 100%;
    line-height: 1.5;
  }
  .schedule-panel-list-area .record-list li a p {
    width: 100%;
  }
}
.record-list-2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 10px;
}
.record-list-2 li {
  margin-top: 40px;
  width: 48%;
}
.record-list-2 li img {
  width: 100%;
  height: auto;
}
.record-list-2 li .info {
  margin-top: 20px;
  word-break: break-all;
  line-height: 1.5;
}

.disco-list li {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #ccc;
  padding-bottom: 50px;
}
.disco-list li:last-child {
  border-bottom: none;
}
.disco-list li .disco-jacket {
  width: 300px;
}
.disco-list li .disco-info {
  width: 600px;
}
.disco-list li .item-type {
  font-size: 12px;
  font-size: 1.2rem;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-style: normal;
}
.disco-list li h3 {
  margin-top: 10px;
  font-size: 24px;
  font-size: 2.4rem;
  word-break: break-all;
}
.disco-list li .info-base {
  margin-top: 10px;
  font-size: 12px;
  font-size: 1.2rem;
  padding: 5px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.disco-list li .info-base p {
  display: flex;
  line-height: 1.5;
}
.disco-list li .info-base .code {
  margin-left: auto;
}
.disco-list li .song-list {
  margin-top: 10px;
}
.disco-list li .song-list li {
  line-height: 1.5;
  margin-top: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.disco-list li .item-cnt {
  margin-top: 40px;
  background-color: #eee;
  padding: 20px;
  word-break: break-all;
  font-size: 14px;
  font-size: 1.4rem;
}

@media screen and (max-width: 480px) {
  .disco-list li {
    margin-top: 25px;
    display: block;
    padding-bottom: 25px;
  }
  .disco-list li:last-child {
    border-bottom: none;
  }
  .disco-list li .disco-jacket {
    width: 100%;
  }
  .disco-list li .disco-info {
    width: 100%;
    line-height: 1.5;
  }
  .disco-list li h3 {
    margin-top: 10px;
    font-size: 20px;
    font-size: 2rem;
    word-break: break-all;
  }
  .disco-list li .info-base {
    margin-top: 10px;
    font-size: 12px;
    font-size: 1.2rem;
    border-top: 1px solid #ccc;
  }
  .disco-list li .info-base p {
    display: block;
    line-height: 1.5;
  }
  .disco-list li .info-base .code {
    margin-left: auto;
    display: block;
    text-align: right;
  }
  .disco-list li .info-base .sold-mark {
    margin: 4px 0;
  }
  .disco-list li .item-cnt {
    margin-top: 20px;
    background-color: #eee;
    padding: 10px;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.link-list {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}
.link-list li {
  border-bottom: 1px dotted #ccc;
  width: 480px;
}
.link-list li a {
  color: #000;
  padding: 10px;
  display: block;
  transition: all 0.3s;
}
.link-list li a:hover {
  opacity: 0.3;
}

@media screen and (max-width: 480px) {
  .link-list {
    margin-top: 25px;
    display: block;
    width: 100%;
  }
  .link-list li {
    border-bottom: 1px dotted #ccc;
    width: 100%;
  }
}
/**************************************
	汎用
**************************************/
.img {
  max-width: 100%;
  height: auto;
}

.new-mark {
  background-color: #c44;
  color: #fff;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 20px;
  padding: 2px 8px;
  margin-left: 8px;
  margin-right: 8px;
}

.sold-mark {
  background-color: #c44;
  color: #fff;
  font-size: 10px;
  font-size: 1rem;
  line-height: 15px;
  padding: 2px 8px;
  margin-left: 20px;
  margin-right: 8px;
}

@media screen and (max-width: 480px) {
  .sold-mark {
    display: block;
    line-height: 15px;
    padding: 2px 8px;
    margin-left: 0px;
    margin-right: 0px;
    text-align: center;
  }
}
.example {
  color: #666;
  font-size: 85%;
}

.note-txt {
  font-size: 1.2rem;
}

.note-color {
  color: #ff0000;
}

.super {
  vertical-align: super;
  font-size: 10px;
  font-size: 1rem;
}

.est {
  color: #ff0000;
  font-size: 1.2rem;
  margin-left: 5px;
}

.empty-box {
  padding: 20px;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5;
}

.rec-info {
  background-color: #000;
  color: #fff;
  margin-top: 20px;
  padding: 4px 10px;
}

.pagerSec {
  margin-top: 10px;
  margin-bottom: 30px;
  width: 100%;
  overflow: hidden;
  *zoom: 1;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 20px;
}
.pagerSec ul {
  display: flex;
  flex-wrap: wrap;
}
.pagerSec ul li {
  margin-right: 10px;
  margin-top: 10px;
}
.pagerSec ul li .thisPage {
  border: 1px solid #616481;
  color: #fff;
  background-color: #616481;
  padding: 8px 14px;
  display: block;
}
.pagerSec ul li a {
  text-decoration: none;
  color: #666;
  padding: 8px 14px;
  border: 1px dotted #616481;
  display: block;
}
.pagerSec ul li a:hover {
  border-color: #616481;
}

.news-time-info {
  margin-top: 10px;
}

.photo-box {
  margin-top: 30px;
}

.text-box {
  margin-top: 30px;
  line-height: 1.5;
}

.artist-pic {
  margin-top: 50px;
}

.artist-txt {
  margin-top: 30px;
}

.member-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 40px;
}
.member-list li {
  width: calc(25% - 20px);
  margin-top: 20px;
}
.member-list li a {
  border: 1px solid #000;
  background-color: #000;
  height: 60px;
  display: block;
  text-align: center;
  padding: 7px;
  color: #fff;
  transition: all 0.4s;
  position: relative;
  z-index: 0;
}
.member-list li a h3 {
  font-weight: bold;
  line-height: 1.6;
}
.member-list li a p {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
}
.member-list li a::before {
  content: "";
  width: 0%;
  height: 100%;
  left: 0;
  bottom: 0;
  position: absolute;
  background-color: #616481;
  transition: 0.2s;
  z-index: -1;
}
.member-list li a:hover {
  color: #fff;
}
.member-list li a:hover::before {
  width: 100%;
  height: 100%;
}
.member-list::after {
  content: "";
  display: block;
  width: calc(25% - 20px);
  height: 0;
}
.member-list::before {
  content: "";
  display: block;
  width: calc(25% - 20px);
  height: 0;
  order: 1; /* 疑似要素beforeの順番を必ず指定する*/
}

@media screen and (max-width: 480px) {
  .artist-pic {
    margin-top: 25px;
  }
  .artist-txt {
    margin-top: 20px;
  }
  .member-list {
    display: block;
    margin-top: 20px;
  }
  .member-list li {
    width: 100%;
    margin-top: 14px;
  }
  .member-list li a {
    border: 1px solid #000;
    background-color: #000;
    height: 60px;
    display: block;
    text-align: center;
    padding: 7px;
    color: #fff;
    transition: all 0.4s;
    position: relative;
    z-index: 0;
  }
  .member-list li a h3 {
    font-weight: bold;
    line-height: 1.6;
  }
  .member-list li a p {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
  }
  .member-list li a::before {
    content: "";
    width: 0%;
    height: 100%;
    left: 0;
    bottom: 0;
    position: absolute;
    background-color: #616481;
    transition: 0.2s;
    z-index: -1;
  }
  .member-list li a:hover {
    color: #fff;
  }
  .member-list li a:hover::before {
    display: none;
    width: 100%;
    height: 100%;
  }
  .member-list::after {
    display: none;
  }
  .member-list::before {
    display: none;
  }
}
.member-panel {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
}
.member-panel .member-photo {
  width: 400px;
}
.member-panel .member-info {
  width: 500px;
  line-height: 1.5;
}
.member-panel .member-info h3 {
  font-size: 24px;
  font-size: 2.4rem;
}
.member-panel .member-info .member-part {
  font-size: 12px;
  font-size: 1.2rem;
  margin-top: 10px;
}
.member-panel .member-info .member-text {
  margin-top: 40px;
}
.member-panel .member-info .member-spec {
  margin-top: 20px;
}
.member-panel .member-info .member-spec dl {
  display: flex;
  border-bottom: 1px solid #ccc;
}
.member-panel .member-info .member-spec dl dt {
  width: 30%;
  text-align: center;
  padding: 8px;
  border-right: 1px solid #ccc;
  word-break: break-all;
}
.member-panel .member-info .member-spec dl dd {
  width: 70%;
  padding: 8px 30px;
  word-break: break-all;
}

@media screen and (max-width: 480px) {
  .member-panel {
    margin-top: 50px;
    display: block;
  }
  .member-panel .member-photo {
    width: 100%;
  }
  .member-panel .member-info {
    width: 100%;
  }
  .member-panel .member-info h3 {
    font-size: 20px;
    font-size: 2rem;
    margin-top: 10px;
  }
  .member-panel .member-info .member-part {
    font-size: 12px;
    font-size: 1.2rem;
    margin-top: 10px;
  }
  .member-panel .member-info .member-text {
    margin-top: 30px;
  }
  .member-panel .member-info .member-spec {
    margin-top: 20px;
  }
  .member-panel .member-info .member-spec dl {
    display: block;
    border-bottom: 1px solid #ccc;
  }
  .member-panel .member-info .member-spec dl dt {
    width: 100%;
    text-align: left;
    padding: 8px;
    border-right: none;
    border-bottom: 1px solid #ccc;
    word-break: break-all;
    font-weight: bold;
    background-color: #f9f9f9;
  }
  .member-panel .member-info .member-spec dl dd {
    width: 100%;
    padding: 8px;
    word-break: break-all;
  }
}
.bio-list {
  margin-top: 50px;
}
.bio-list li {
  margin-top: 50px;
}
.bio-list .day {
  font-size: 24px;
  font-size: 2.4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-style: normal;
}
.bio-list .bio-panel {
  display: flex;
}
.bio-list .bio-text-area h3 {
  font-size: 20px;
  font-size: 2rem;
  margin-top: 10px;
}
.bio-list .bio-text-area .bio-text {
  margin-top: 20px;
  line-height: 1.5;
}
.bio-list .bio-pic {
  margin-left: 40px;
}
.bio-list .bio-pic p {
  width: 380px;
}

@media screen and (max-width: 480px) {
  .bio-list {
    margin-top: 25px;
  }
  .bio-list li {
    margin-top: 25px;
  }
  .bio-list .day {
    font-size: 20px;
    font-size: 2rem;
  }
  .bio-list .bio-panel {
    display: block;
  }
  .bio-list .bio-text-area h3 {
    font-size: 20px;
    font-size: 2rem;
    margin-top: 10px;
  }
  .bio-list .bio-text-area .bio-text {
    margin-top: 20px;
    line-height: 1.5;
  }
  .bio-list .bio-pic {
    margin-left: 0px;
    margin-top: 20px;
  }
  .bio-list .bio-pic p {
    width: 100%;
  }
}
.buy-bnr-list {
  margin-top: 30px;
}
.buy-bnr-list a {
  display: inline-block;
  margin-top: 8px;
}

.item-list li {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #ccc;
  padding-bottom: 50px;
}
.item-list li:last-child {
  border-bottom: none;
}
.item-list li .item-pic {
  width: 300px;
}
.item-list li .item-info {
  width: 600px;
}
.item-list li h3 {
  font-size: 24px;
  font-size: 2.4rem;
  word-break: break-all;
}
.item-list li .item-base {
  margin-top: 10px;
  font-size: 12px;
  font-size: 1.2rem;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 5px;
}
.item-list li .item-base p {
  display: flex;
  line-height: 1.5;
}
.item-list li .item-base .code {
  margin-left: auto;
}
.item-list li .item-cnt {
  margin-top: 40px;
}

#cate-tab {
  margin-top: 50px;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 10px 0;
  line-height: 1.4;
}

#cate-tab span {
  display: block;
  padding: 0px 10px;
  border-right: 1px solid #ccc;
  cursor: pointer;
  font-size: 12px;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

#cate-tab div:first-child {
  border-left: 1px solid #ccc;
}

@media screen and (max-width: 480px) {
  .item-list li {
    margin-top: 25px;
    display: block;
    padding-bottom: 25px;
  }
  .item-list li:last-child {
    border-bottom: none;
  }
  .item-list li .item-pic {
    width: 100%;
  }
  .item-list li .item-info {
    margin-top: 20px;
    width: 100%;
    line-height: 1.5;
  }
  .item-list li h3 {
    margin-top: 10px;
    font-size: 20px;
    font-size: 2rem;
  }
  .item-list li .item-base {
    margin-top: 10px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .item-list li .item-base p {
    display: block;
    line-height: 1.5;
  }
  .item-list li .item-base .sold-mark {
    margin: 5px 0;
  }
  .item-list li .item-base .code {
    margin-left: auto;
    display: block;
    text-align: right;
  }
  .item-list li .item-cnt {
    margin-top: 20px;
  }
  #cate-tab span {
    padding: 5px 10px;
  }
  #cate-tab div {
    margin-bottom: 5px;
  }
}
.modeSec {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  height: 40px;
  margin-top: 50px;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 12px;
  font-size: 1.2rem;
}
.modeSec ul {
  display: flex;
  justify-content: flex-end;
  height: 40px;
}
.modeSec ul li {
  line-height: 40px;
}
.modeSec ul li span {
  padding-left: 20px;
  padding-right: 20px;
}
.modeSec ul li a {
  background-color: #000;
  display: block;
  height: 40px;
  padding: 0px 30px;
  color: #fff;
  position: relative;
  transition: all 0.4s;
}
.modeSec ul li a::after {
  content: "";
  position: absolute;
  top: calc(50% - 4px);
  right: 10px;
  line-height: 1;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
}
.modeSec ul li a:hover {
  opacity: 0.7;
}

.record-list2 {
  margin-top: 50px;
}
.record-list2 li {
  border-bottom: 1px solid #ccc;
}
.record-list2 li a {
  display: flex;
  justify-content: space-between;
  color: #000;
  padding-top: 20px;
  padding-bottom: 20px;
  line-height: 1.5;
  transition: all 0.3s;
}
.record-list2 li a:hover {
  opacity: 0.7;
}
.record-list2 li time {
  width: 200px;
  font-size: 24px;
  font-size: 2.4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-style: normal;
}
.record-list2 li time span {
  font-size: 14px;
  font-size: 1.4rem;
}
.record-list2 li div {
  width: calc(100% - 240px);
}
.record-list2 li div p {
  font-size: 16px;
  font-size: 1.6rem;
}
.record-list2 li div h2 {
  font-size: 20px;
  font-size: 2rem;
}

@media screen and (max-width: 480px) {
  .record-list2 {
    margin-top: 25px;
  }
  .record-list2 li a {
    display: block;
    padding-top: 20px;
    padding-bottom: 20px;
    line-height: 1.5;
    transition: all 0.3s;
  }
  .record-list2 li a:hover {
    opacity: 0.7;
  }
  .record-list2 li time {
    width: 200px;
    font-size: 22px;
    font-size: 2.2rem;
    font-family: "Roboto", sans-serif;
    font-weight: 600;
    font-style: normal;
  }
  .record-list2 li time span {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .record-list2 li div {
    width: 100%;
  }
  .record-list2 li div p {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .record-list2 li div h2 {
    font-size: 20px;
    font-size: 2rem;
  }
}
.schedule-header {
  margin-top: 50px;
  border-bottom: 1px solid #ccc;
  display: flex;
  justify-content: space-between;
}
.schedule-header .schedule-date {
  font-size: 32px;
  font-size: 3.2rem;
  position: relative;
  padding-left: 40px;
}
.schedule-header .schedule-date .schedule-today {
  font-size: 14px;
  font-size: 1.4rem;
  margin-left: 10px;
}
.schedule-header .schedule-date::before {
  content: "";
  width: 20px;
  height: 4px;
  background-color: #616481;
  position: absolute;
  top: 50%;
  left: 0;
}
.schedule-header .schedule-place {
  margin-top: 10px;
  font-size: 20px;
  font-size: 2rem;
}

.shedule-area h3 {
  padding: 8px 0;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  border-bottom: 1px solid #ccc;
}
.shedule-area .shedule-area-info {
  margin-top: 20px;
  padding: 25px;
  line-height: 1.5;
  word-break: break-all;
  background-color: #f9f9f9;
  display: flex;
}
.shedule-area .shedule-area-info .schedule-flyer {
  min-width: 30%;
  max-width: 50%;
  margin-right: 5%;
}
.shedule-area .shedule-area-info .schedule-flyer img {
  width: 100%;
  height: auto;
}

.schedule-table {
  margin-top: 20px;
}
.schedule-table dl {
  padding-top: 20px;
  padding-bottom: 20px;
}
.schedule-table dl dt {
  width: 100%;
  text-align: left;
  background-color: #f9f9f9;
  padding: 14px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-style: normal;
}
.schedule-table dl dd {
  padding: 14px 20px 0;
  line-height: 1.5;
}
.schedule-table dl dd .btn-2 {
  margin-top: 20px;
}
.schedule-table .place-sec {
  line-height: 1.5;
}
.schedule-table .place-sec h3 span {
  padding-left: 10px;
}
.schedule-table .place-sec .address {
  margin-top: 10px;
}
.schedule-table .place-sec .phone {
  margin-top: 10px;
}
.schedule-table .map-sec {
  margin-top: 20px;
}
.schedule-table .google-maps {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.schedule-table .google-maps iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

@media screen and (max-width: 480px) {
  .schedule-header {
    margin-top: 25px;
    display: block;
  }
  .schedule-header .schedule-date {
    font-size: 20px;
    font-size: 2rem;
    position: relative;
    padding-left: 30px;
  }
  .schedule-header .schedule-date .schedule-today {
    font-size: 14px;
    font-size: 1.4rem;
    margin-left: 10px;
  }
  .schedule-header .schedule-date::before {
    content: "";
    width: 20px;
    height: 4px;
    background-color: #616481;
    position: absolute;
    top: 50%;
    left: 0;
  }
  .schedule-header .schedule-place {
    margin-top: 10px;
    font-size: 20px;
    font-size: 2rem;
  }
  .shedule-area h3 {
    padding: 4px 0;
    font-size: 20px;
    font-size: 2rem;
    border-bottom: 1px solid #ccc;
    word-break: break-all;
  }
  .shedule-area .shedule-area-info {
    padding: 15px;
    word-break: break-all;
    display: block;
  }
  .shedule-area .shedule-area-info .schedule-flyer {
    max-width: 100%;
    margin-right: 0%;
    margin-bottom: 10px;
  }
}
.movie-list {
  margin-top: 50px;
}
.movie-list li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  line-height: 1.5;
  border-bottom: 1px solid #ccc;
  margin-bottom: 40px;
  padding-bottom: 40px;
}
.movie-list p.image {
  width: 30%;
}
.movie-list h3 {
  margin-bottom: 20px;
  font-weight: bold;
}
.movie-list .info {
  width: 66%;
}
.movie-list .movie-txt {
  margin-top: 20px;
  padding: 10px;
  background-color: #f9f9f9;
  font-size: 14px;
  font-size: 1.4rem;
}

@media screen and (max-width: 480px) {
  .movie-list {
    margin-top: 30px;
  }
  .movie-list li {
    display: block;
    line-height: 1.5;
    margin-bottom: 30px;
    padding-bottom: 30px;
  }
  .movie-list p.image {
    width: 100%;
  }
  .movie-list h3 {
    margin-bottom: 20px;
    margin-top: 20px;
    font-weight: bold;
  }
  .movie-list .info {
    width: 100%;
  }
  .movie-list .movie-txt {
    margin-top: 20px;
    padding: 10px;
    background-color: #f9f9f9;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.album-list {
  margin-top: 0px;
}
.album-list ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.album-list li {
  width: 48%;
  height: 270px;
  display: block;
  margin-top: 50px;
}
.album-list li a {
  display: block !important;
  height: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  padding: 10px;
  position: relative;
  color: #fff;
  transition: all 0.3s;
}
.album-list li a p {
  display: block;
  width: 100%;
  padding: 10px 20px;
  font-size: 14px;
  font-size: 1.4rem;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: rgba(97, 100, 129, 0.6);
}
.album-list li a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 480px) {
  .album-list {
    margin-top: 0px;
  }
  .album-list ul {
    display: block;
  }
  .album-list li {
    width: 100%;
    margin-top: 25px;
  }
  .album-list li a {
    display: block !important;
    height: 100%;
    width: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 10px;
    position: relative;
    color: #fff;
    transition: all 0.3s;
  }
  .album-list li a p {
    display: block;
    width: 100%;
    padding: 10px 10px;
    font-size: 14px;
    font-size: 1.4rem;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(97, 100, 129, 0.6);
  }
  .album-list li a:hover {
    opacity: 0.8;
  }
}
.album-list-detail {
  margin-top: 50px;
}
.album-list-detail h3 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  position: relative;
  padding-left: 40px;
}
.album-list-detail h3::before {
  content: "";
  width: 20px;
  height: 4px;
  background-color: #616481;
  position: absolute;
  top: 50%;
  left: 0;
}
.album-list-detail ul {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: top;
  width: 100%;
}
.album-list-detail ul li {
  width: 24.4%;
  margin-bottom: 0.8%;
}
.album-list-detail ul li a {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  display: block;
}
.album-list-detail ul li a::after {
  content: "";
  display: block;
  padding-top: 100%;
}
.album-list-detail ul::before {
  content: "";
  display: block;
  height: 0;
  order: 1;
  width: 24.4%;
}
.album-list-detail ul::after {
  content: "";
  display: block;
  height: 0;
  width: 24.4%;
}

@media screen and (max-width: 480px) {
  .album-list-detail {
    margin-top: 25px;
  }
  .album-list-detail h3 {
    font-size: 16px;
    font-size: 1.6rem;
    padding-left: 30px;
  }
}
.info-area {
  margin-top: 50px;
  padding: 25px;
}
.info-area .errSec {
  padding: 20px;
  border: 1px solid #ff0000;
  line-height: 1.5;
}
.info-area .errSec ul li {
  padding-left: 30px;
  background: url(../img/icon/ico_error.png) no-repeat left center;
  background-size: 20px 20px;
}

.form-check-list {
  margin-top: 20px;
}
.form-check-list li {
  line-height: 1.5;
  list-style: disc;
  margin-left: 40px;
}
.form-check-list .cRed {
  color: #ff0000;
  font-size: 14px;
  font-size: 1.4rem;
}

.form-block {
  margin-top: 50px;
}
.form-block dl {
  width: 100%;
  display: table;
  border-top: 1px solid #ccc;
}
.form-block dl:first-of-type {
  margin-top: 20px;
}
.form-block dl dt {
  display: table-cell;
  width: 30%;
  text-align: center;
  background-color: #f3f3f3;
  padding: 7px 10px;
  vertical-align: middle;
}
.form-block dl dd {
  display: table-cell;
  width: 70%;
  padding: 7px 10px;
}

.cnt-rule {
  border: 1px solid #ccc;
  padding-bottom: 10px;
}

@media screen and (max-width: 480px) {
  .info-area {
    margin-top: 25px;
    padding: 15px;
  }
  .info-area .errSec {
    padding: 10px;
  }
  .info-area .errSec ul li {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .form-check-list {
    margin-top: 10px;
  }
  .form-check-list li {
    margin-left: 20px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .form-block {
    margin-top: 25px;
  }
  .form-block dl {
    width: 100%;
    display: block;
    border-top: 1px solid #ccc;
  }
  .form-block dl:first-of-type {
    margin-top: 20px;
  }
  .form-block dl dt {
    display: block;
    width: 100%;
    text-align: center;
    background-color: #f3f3f3;
    padding: 7px 10px;
    vertical-align: middle;
  }
  .form-block dl dd {
    display: block;
    width: 100%;
    padding: 7px 10px;
  }
}
.howto-ticket {
  margin-top: 20px;
}

.info-area-2 {
  margin-top: 50px;
  padding: 25px;
  background-color: #f9f9f9;
}
.info-area-2 .errSec {
  padding: 20px;
  border: 1px solid #ff0000;
  line-height: 1.5;
}
.info-area-2 .errSec ul li {
  padding-left: 30px;
  background: url(../img/icon/ico_error.png) no-repeat left center;
  background-size: 20px 20px;
}

.link-group-list {
  margin-top: 50px;
}
.link-group-list dt {
  background-color: #f9f9f9;
  color: #000;
  padding: 8px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
}
.link-group-list dd {
  margin-top: 20px;
}
.link-group-list dd ul {
  margin-left: 20px;
}
.link-group-list dd ul li h3 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
}
.link-group-list dd ul li h3 a {
  color: #000;
  text-decoration: underline;
}
.link-group-list dd ul li div {
  margin-top: 20px;
  font-size: 14px;
  font-size: 1.4rem;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px dashed #ccc;
}

.mante-sec {
  text-align: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.mante-sec h1 {
  height: 100px;
}
.mante-sec p {
  height: 300px;
}/*# sourceMappingURL=style.css.map */