div#mfp_hidden {
  height: 1px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 1px;
}
div#mfp_hidden input {
  margin: 10px
}
div#mfp_phase_confirm {
  background: #fff;
  clear: both;
  height: 100%;
}
div#mfp_phase_confirm h4 {
  font-size: 18px;
  font-size: 1.8rem;
  padding: 10px 0 0 0;
  text-align: center;
}
div#mfp_overlay {
  display: none;
  position: absolute;
  z-index: 10001;
}
div#mfp_overlay_inner {
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 5px;
  margin: 0 auto;
  max-width: 90%;
  padding: 15px;
  width: 640px;
}
div#mfp_overlay_background {
  background-color: #000;
  display: none;
  position: absolute;
  z-index: 10000;
}
div#mfp_loading_screen {
  background-color: #000;
  display: none;
  opacity: .8;
  position: absolute;
  z-index: 20000;
}
div#mfp_loading {
  background-image: url(../mfp.statics/images/mfp_loading.gif?20170303);
  display: none;
  height: 40px;
  position: absolute;
  width: 40px;
  z-index: 20001;
}
div.mfp_err {
  background: url(../mfp.statics/images/mfp_error.gif?20170303) no-repeat left 4px;
  color: red;
  display: none;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: normal;
  margin: 0;
  padding: 3px 0 5px 17px;
  text-align: left
}
div.mfp_ok {
  background-color: #090;
  border: solid 1px #090;
  border-radius: 5px;
  color: #fff;
  display: none;
  font-size: 10px;
  line-height: 1.5em;
  margin: 0 2px;
  padding: 0 5px
}
div#mfp_warning {
  background-color: #fee;
  border: solid 1px #c00;
  color: #c00;
  display: none;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.6;
  margin-bottom: 10px;
  padding: 10px
}
.gousetsu * {
  box-sizing: border-box
}
.gousetsu ol, .gousetsu ul, .gousetsu li {
  list-style: none;
  margin: 0;
  padding: 0
}
.gousetsu a {
  box-sizing: border-box
}
.gousetsu img {
  vertical-align: top
}
.gousetsu table {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed
}
.gousetsu button, .gousetsu input[type=text], .gousetsu input[type=tel], .gousetsu input[type=email], .gousetsu input[type=radio], .gousetsu input[type=number], .gousetsu input[type=submit], .gousetsu input[type=button], .gousetsu select, .gousetsu textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  margin: 0;
  outline: none;
  padding: 0
}
.gousetsu input[type=number] {
  -moz-appearance: textfield
}
.gousetsu input[type=number]::-webkit-outer-spin-button, .gousetsu input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0
}
.gousetsu #entry select::-ms-expand {
  display: none
}
@-webkit-keyframes bounce {
  0%, 100%, 20%, 50%, 80% {
    transform: translateY(0)
  }
  40% {
    transform: translateY(-12px)
  }
  60% {
    transform: translateY(-8px)
  }
}
@keyframes bounce {
  0%, 100%, 20%, 50%, 80% {
    transform: translateY(0)
  }
  40% {
    transform: translateY(-12px)
  }
  60% {
    transform: translateY(-8px)
  }
}
@-webkit-keyframes opa {
  70% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@keyframes opa {
  70% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@-webkit-keyframes scale {
  0% {
    opacity: 0;
    transform: scale(0)
  }
  70% {
    opacity: 0;
    transform: scale(0)
  }
  100% {
    opacity: 1;
    transform: scale(1)
  }
}
@keyframes scale {
  0% {
    opacity: 0;
    transform: scale(0)
  }
  70% {
    opacity: 0;
    transform: scale(0)
  }
  100% {
    opacity: 1;
    transform: scale(1)
  }
}
.mainvisual, .mainvisual .wrap {
  position: relative
}
.gousetsu .fixed_wrap {
  align-items: center;
  background: rgba(0, 0, 0, .65);
  color: #fff;
  display: flex;
  justify-content: center;
  text-align: center;
  width: 100%;
  z-index: 3
}
.gousetsu .fixed_wrap p {
  font-weight: bold;
  line-height: 1.4
}
.gousetsu .fixed_wrap a {
  background: #f36;
  border-radius: 5px;
  color: #fff;
  display: block;
  font-weight: bold;
  letter-spacing: .1em;
  text-decoration: none;
  transition: .4s
}
.gousetsu .fixed_wrap a:hover {
  background: #f66
}
.gousetsu section {
  background: #fff;
  position: relative
}
.gousetsu section::before {
  background: #fff;
  border-radius: 50%;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  z-index: 1
}
.gousetsu section::after {
  background: url(../img/cmn/icon.png) no-repeat;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  z-index: 2
}


/*.gousetsu #point, .gousetsu #access {
	background: #fff;
}
.gousetsu #point::before, .gousetsu #access:before {
	background-color: #fff;
}*/

/*accessのみ背景ブルー*/
.gousetsu #access {
  background: #f0f7ff;
}
.gousetsu #access:before {
  background-color: #f0f7ff;
}

.gousetsu #outline::before, .gousetsu #outline::after, .gousetsu #entry::before, .gousetsu #entry::after {
  display: none
}
.gousetsu .wrap {
  margin: 0 auto;
  text-align: center
}
.gousetsu section h2 {
  font-weight: bold;
  letter-spacing: .1em;
  line-height: 1;
  position: relative
}
.gousetsu section h2::after {
  background: #003e60;
  content: "";
  display: block;
  left: 50%;
  position: absolute
}
.gousetsu #outline .date_place {
  font-weight: bold
}
.gousetsu #outline .object {
  font-weight: bold
}
.gousetsu #outline .inline {
  display: flex;
  justify-content: space-between
}
.gousetsu #outline .inline li {
  background: #003e60;
  color: #fff;
  font-weight: bold;
  margin: 10px 0 0
}
.gousetsu #outline p strong {
  color: #003e60
}
.gousetsu #outline h2 + p {
  font-weight: bold
}
.gousetsu #outline .partake h3 {
  align-items: center;
  border: 5px solid #003e60;
  color: #003e60;
  display: flex;
  font-weight: bold;
  justify-content: center;
  line-height: 1;
  margin: 0 auto
}
.gousetsu #outline .partake ul {
  line-height: 2.2;
  text-align: left
}
.gousetsu #outline .partake li {
  text-align: left
}
.gousetsu #outline .partake li::before {
  content: "■"
}
.gousetsu #outline .principal {
  display: flex;
  justify-content: space-between
}
.gousetsu #outline .principal dt {
  border: 3px solid #003e60;
  color: #003e60;
  font-weight: bold;
  text-align: center
}
.gousetsu #outline .principal dd {
  background: #fff;
  line-height: 1.5;
  text-align: justify;
  word-break: normal
}
.gousetsu .youtube {
  padding-top: 56.25%;
  position: relative;
  width: 100%
}
.gousetsu .youtube iframe {
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%
}
.gousetsu #point .box {
  display: flex;
  justify-content: space-between
}
.gousetsu #point .box li {
  /*background: #fff;*/ /*241202 comment out*/
  background: #f0f7ff;
  position: relative;
}
.gousetsu #point .box li:before {
  background: linear-gradient(to right bottom, #003e60 50%, transparent 50%);
  box-sizing: border-box;
  color: #fff;
  display: block;
  font-weight: bold;
  left: 0;
  position: absolute;
  text-align: left;
  top: 0
}
.gousetsu #point .box li:nth-of-type(1):before {
  content: "1"
}
.gousetsu #point .box li:nth-of-type(2):before {
  content: "2"
}
.gousetsu #point .box li:nth-of-type(3):before {
  content: "3"
}
.gousetsu #point .box img {
  display: inline-block;
  vertical-align: middle
}
.gousetsu #point .box strong {
  color: #003e60;
  display: block;
  line-height: 1.2;
  text-align: center
}
.gousetsu #point .box p {
  line-height: 1.5;
  text-align: justify;
  -ms-word-break: break-all;
  word-break: break-all
}
.gousetsu #point .explain {
  text-align: center
}
.gousetsu #point .explain p {
  font-weight: bold;
  line-height: 1.6
}
.gousetsu #point p.trig {
  align-items: center;
  background: #fff;
  border: solid #023e60;
  border-radius: 10px;
  color: #023e60;
  cursor: pointer;
  display: flex;
  font-weight: bold;
  justify-content: center;
  position: relative
}
.gousetsu #point p.trig::after {
  content: "▼";
  position: absolute
}
.gousetsu #point p.trig.open::after {
  transform: rotate(180deg)
}
.gousetsu #point .show {
  display: none
}
.gousetsu #point .show ul {
  display: flex;
  flex-wrap: wrap
}
.gousetsu #point .passed .show ul + p {
  color: #023e60;
  font-weight: bold
}
.gousetsu #point .passed .show ul + p b {
  color: #fe3366
}
.gousetsu #point .qa div {
  background: #fff;
  border-radius: 20px;
  text-align: left
}
.gousetsu #point .qa dt {
  color: #003e5f;
  cursor: pointer;
  font-weight: bold;
  position: relative
}
.gousetsu #point .qa dt::before, .gousetsu #point .qa dt::after {
  position: absolute
}
.gousetsu #point .qa dt::before {
  content: "Q"
}
.gousetsu #point .qa dt::after {
  background: #fff;
  border-bottom: solid #003e5f;
  border-right: solid #003e5f;
  content: "";
  display: block;
  position: absolute;
  transform: rotate(45deg);
  transition: .4s
}
.gousetsu #point .qa dt.open::after {
  transform: rotate(-135deg)
}
.gousetsu #point .qa dd b {
  color: #fe3366
}
.gousetsu #point .qa dd ol {
  display: flex;
  justify-content: center
}
.gousetsu #point .qa dl + p {
  font-weight: bold
}
.gousetsu #stamp {
  background: url(../img/cmn/bg_present.png) repeat-y top center
}

/*241202追記*/
.gousetsu #stamp::before {
	background-color: #f0f7ff;
	border-radius: 50%;
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    z-index: 1;
}
.gousetsu #stamp::after {
    background: url(../img/cmn/icon.png) no-repeat;
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    z-index: 2;
	background-size: 80px auto;
    height: 80px;
    margin-left: -40px;
    top: -40px;
    width: 80px;
}

@media screen and (max-width: 639px) {
	.gousetsu #stamp::after {
	/*background-position: 0 -40px; */
     background-size: 40px auto;
     height: 40px;
     margin-left: -20px;
     top: -20px;
     width: 40px;
	}
}
/* END 241202追記*/

.gousetsu #stamp h2 {
  align-items: center;
  background: #fff;
  border: 5px solid #003e60;
  border-radius: 50px;
  color: #003e60;
  display: flex;
  justify-content: center;
  line-height: 1
}
.gousetsu #stamp h2::after {
  display: none
}
.gousetsu #stamp p {
  font-weight: bold;
  line-height: 1.6;
  position: relative
}
.gousetsu #stamp p::before {
  content: "＊";
  left: 0;
  position: absolute;
  top: 0
}
.gousetsu #stamp .more {
  position: relative
}
.gousetsu #stamp .more img {
  display: block;
  margin: 0 auto;
  position: absolute
}
.gousetsu #stamp .more span {
  display: block
}
.gousetsu #stamp a {
  background: #003e60;
  border-radius: 10px;
  color: #fff;
  display: inline-block;
  font-weight: bold;
  letter-spacing: .2em;
  line-height: 1;
  text-decoration: none
}
.gousetsu #access h3 {
  border-bottom: 2px dashed #37302e;
  font-weight: bold;
  line-height: 1.5
}
.gousetsu #access dt, .gousetsu #access dd {
  font-weight: bold;
  line-height: 1.5
}
.gousetsu #access dd:first-of-type {
  border-bottom: 1px solid #37302e
}
.gousetsu #access img {
  display: block;
  margin: 0 auto;
  width: 100%
}
.gousetsu #access .map {
  text-align: left
}
.gousetsu #access .map .bigmap {
  color: #333
}
.gousetsu #access .covid {
  text-align: left
}
.gousetsu #access .covid h3 {
  text-align: center
}
.gousetsu #access .covid b {
  color: #c00
}
.gousetsu #access .covid li {
  list-style-type: disc;
  margin: 5px 0 5px 20px
}
.gousetsu #access .entry_btn {
  background: #003e60;
  border-radius: 10px;
  color: #fff;
  display: inline-block;
  font-weight: bold;
  letter-spacing: .2em;
  line-height: 1;
  text-decoration: none
}
.gousetsu #entry, .gousetsu #entry .wrap {
  position: static
}
.gousetsu #entry img, .gousetsu #comp img {
  margin: 10px 0
}
.gousetsu #entry p {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  margin: 10px 0
}
.gousetsu #entry p strong {
  color: #003e60
}
.gousetsu #entry table {
  border: 1px solid #898989;
  border-bottom: none;
  width: 100%
}
.gousetsu #entry th, .gousetsu #entry td {
  border-bottom: 1px solid #898989;
  font-size: 14px;
  font-size: 1.4rem;
  padding: 10px;
  text-align: left
}
.gousetsu #entry th {
  background: #ededed;
  font-weight: bold
}
.gousetsu #entry input[type=text], .gousetsu #entry input[type=email], .gousetsu #entry input[type=tel], .gousetsu #entry input[type=number], .gousetsu #entry select {
  border: 1px solid #898989;
  font-family: "メイリオ", "Meiryo", "MS PGothic", Arial, "Hiragino Kaku Gothic ProN", "Osaka", sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  padding: 5px;
  width: 50%
}
.gousetsu #entry input[type=radio] {
  border: 1px solid #000;
  cursor: pointer;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1
}
.gousetsu #entry select, .gousetsu #entry label:before {
  background-image: url(../img/cmn/form.png?20170303);
  background-repeat: no-repeat;
  background-size: 20px auto
}
.gousetsu #entry select {
  background-position: right -68px;
  padding-right: 20px;
  width: auto
}
.gousetsu #entry label {
  display: block;
  padding: 5px 10px 5px 25px;
  position: relative
}
.gousetsu #entry label:before {
  content: "";
  display: block;
  height: 20px;
  left: 0;
  margin-top: -10px;
  position: absolute;
  top: 50%;
  width: 20px
}
.gousetsu #entry input[type=checkbox] + label:before, .gousetsu #entry input[type=checkbox] + input[type=hidden] + label:before {
  background-position: 0 -11px
}
.gousetsu #entry input[type=checkbox]:checked + label:before, .gousetsu #entry input[type=checkbox]:checked + input[type=hidden] + label:before {
  background-position: 0 -46px
}
.gousetsu #entry input[type=radio] + label:before, .gousetsu #entry input[type=radio] + input[type=hidden] + label:before {
  background-position: 0 -105px
}
.gousetsu #entry input[type=radio]:checked + label:before, .gousetsu #entry input[type=radio]:checked + input[type=hidden] + label:before {
  background-position: 0 -140px
}
.gousetsu #entry .address input, .gousetsu #entry .address select {
  width: 60%
}
.gousetsu #entry input.age {
  margin-right: 5px;
  width: 70px
}
.gousetsu #entry .select_two {
  display: flex
}
.gousetsu #entry .select_two li {
  font-size: 14px;
  font-size: 1.4rem;
  position: relative;
  width: 200px
}
.gousetsu #entry .address .post {
  width: 130px
}
.gousetsu #entry .address select {
  margin-top: 5px;
  width: 180px
}
.gousetsu #entry input[type=text] {
  margin-top: 5px
}
.gousetsu #entry input.tel {
  margin: 0 5px;
  width: 80px
}
.gousetsu #entry input.tel:nth-of-type(2) {
  margin: 0 5px 0 0
}
.gousetsu #entry button {
  background: #f36;
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  display: block;
  font-weight: bold;
  letter-spacing: .2em;
  overflow: hidden;
  transition: .4s
}
.gousetsu #entry button:hover {
  background: #000
}
.gousetsu #entry #confirm {
  letter-spacing: .3em
}
.gousetsu #entry #mfp_phase_confirm {
  background: rgba(0, 0, 0, 0)
}
.gousetsu #entry #mfp_phase_confirm h4 {
  background: url(../img/cmn/step02.png) no-repeat center 0;
  display: block;
  margin: 0 auto
}
.gousetsu .go_top {
  background: rgba(255, 221, 0, .75);
  border-radius: 50%;
  color: #003e60;
  display: block;
  font-weight: bold;
  line-height: 1.1;
  position: fixed;
  text-align: center;
  text-decoration: none;
  transition: .4s;
  z-index: 2
}
.gousetsu .go_top:hover {
  background: rgba(0, 0, 0, .75);
  color: #fff
}
.gousetsu .go_top::before {
  border-left: 3px solid #fff;
  border-top: 3px solid #fff;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  transform: rotate(45deg);
  top: 50%
}
@media screen and (min-width: 640px) {
  .sp {
    display: none
  }
  .gousetsu .mainvisual {
    background: url(../common/img/bg-fv.jpg) no-repeat center top;
    background-size: 2000px auto;
    height: 580px;
    margin-bottom: 0;
    padding: 20px 0 0
  }
  .gousetsu .mainvisual .wrap {
    height: 580px;
    margin: 0 auto;
    max-width: 1400px
  }
  .gousetsu .mainvisual img {
    position: absolute
  }
  .gousetsu .mainvisual .title {
    -webkit-animation: scale 1s ease 1.5s forwards;
    animation: scale 1s ease 1.5s forwards;
    left: 50%;
    margin-left: -600px;
    opacity: 0;
    width: 1200px;
    z-index: 2
  }
  .gousetsu .mainvisual .card {
    bottom: 90px;
    left: 0;
    transform: rotate(-10deg);
    width: 340px
  }
  .gousetsu .mainvisual .welcome {
    -webkit-animation: scale 1s ease 2s forwards;
    animation: scale 1s ease 2s forwards;
    bottom: 130px;
    opacity: 0;
    right: 0;
    width: 225px
  }
  .gousetsu .fixed_wrap {
    bottom: 0;
    left: 0;
    padding: 20px 0;
    position: absolute
  }
  .gousetsu .fixed_wrap.fixed {
    bottom: auto;
    position: fixed;
    top: 0
  }
  .gousetsu .fixed_wrap p {
    font-size: 18px;
    font-size: 1.8rem
  }
  .gousetsu .fixed_wrap p b {
    font-size: 24px;
    font-size: 2.4rem
  }
  .gousetsu .fixed_wrap p span {
    font-size: 18px;
    font-size: 1.8rem
  }
  .gousetsu .fixed_wrap a {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 0 0 0 20px;
    padding: 15px 55px;
    width: auto
  }
  .gousetsu section {
    padding: 60px 10px 100px
  }
  .gousetsu section::before {
    height: 140px;
    margin-left: -70px;
    top: -70px;
    width: 140px
  }
  .gousetsu section::after {
    background-position: 0 -80px;
    background-size: 80px auto;
    height: 80px;
    margin-left: -40px;
    top: -40px;
    width: 80px
  }
  .gousetsu #access::after {
    background-position: 0 -160px
  }
  .gousetsu .wrap {
    max-width: 960px
  }
  .gousetsu section h2 {
    font-size: 45px;
    font-size: 4.5rem;
    margin: 40px auto
  }
  .gousetsu section h2::after {
    bottom: -20px;
    height: 10px;
    margin-left: -115px;
    width: 230px
  }
  .gousetsu #outline .date_place {
    font-size: 34px;
    font-size: 3.4rem;
    margin: 10px auto 30px
  }
  .gousetsu #outline .date_place span, .gousetsu #outline .object {
    font-size: 54px;
    font-size: 5.4rem
  }
  .gousetsu #outline .inline {
    margin-bottom: 60px
  }
  .gousetsu #outline .inline li {
    font-size: 24px;
    font-size: 2.4rem;
    margin: 10px 0 0;
    padding: 15px 30px;
    width: 23%
  }
  .gousetsu #outline p {
    font-size: 18px;
    font-size: 1.8rem
  }
  .gousetsu #outline .partake {
    margin: 50px auto
  }
  .gousetsu #outline .partake h3 {
    font-size: 30px;
    font-size: 3rem;
    height: 70px;
    width: 500px
  }
  .gousetsu #outline .partake p {
    margin: 30px auto
  }
  .gousetsu #outline .partake p strong {
    font-size: 24px;
    font-size: 2.4rem
  }
  .gousetsu #outline .partake ul {
    margin: 30px 0
  }
  .gousetsu #outline .partake li {
    display: inline-block;
    font-size: 20px;
    font-size: 2rem;
    margin-right: 30px
  }
  .gousetsu #outline .principal dl {
    margin-top: 30px;
    width: 450px
  }
  .gousetsu #outline .principal dt {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 15px;
    padding: 10px;
    width: 200px
  }
  .gousetsu #outline .principal dd {
    font-size: 14px;
    font-size: 1.4rem
  }
  .gousetsu .youtube {
    margin: 40px auto 0
  }
  .gousetsu #point .box li {
    margin: 20px 0;
    padding: 25px 0;
    width: 30%
  }
  .gousetsu #point .box li:before {
    font-size: 30px;
    font-size: 3rem;
    height: 80px;
    padding: 10px 0 0 14px;
    top: 0;
    width: 80px
  }
  .gousetsu #point .box img {
    width: 130px
  }
  .gousetsu #point .box strong {
    font-size: 26px;
    font-size: 2.6rem;
    margin: 10px 25px
  }
  .gousetsu #point .box p {
    font-size: 14px;
    font-size: 1.4rem;
    margin: 0 25px
  }
  .gousetsu #point .explain {
    margin: 10px 0
  }
  .gousetsu #point .explain p {
    font-size: 32px;
    font-size: 3.2rem
  }
  .gousetsu #point .passed {
    margin-bottom: 60px
  }
  .gousetsu #point p.trig {
    border-width: 3px;
    font-size: 24px;
    font-size: 2.4rem;
    height: 60px;
    margin: 30px auto;
    width: 700px
  }
  .gousetsu #point p.trig::after {
    right: 20px
  }
  .gousetsu #point .passed .show p {
    font-size: 16px;
    font-size: 1.6rem
  }
  .gousetsu #point .show ul {
    margin: 30px auto 0;
    width: 930px
  }
  .gousetsu #point .show ul li:nth-of-type(3n+2) {
    margin: 0 44px 30px
  }
  .gousetsu #point .passed .show ul + p {
    font-size: 24px;
    font-size: 2.4rem
  }
  .gousetsu #point .qa dl {
    margin-top: 60px
  }
  .gousetsu #point .qa div {
    margin: 30px 0
  }
  .gousetsu #point .qa dt {
    font-size: 24px;
    font-size: 2.4rem;
    padding: 15px 15px 15px 70px
  }
  .gousetsu #point .qa dd {
    padding: 0 70px 15px 72px
  }
  .gousetsu #point .qa dt::before {
    font-size: 36px;
    font-size: 3.6rem;
    left: 20px;
    top: 5px
  }
  .gousetsu #point .qa dt::after {
    border-width: 3px;
    height: 15px;
    right: 25px;
    top: 18px;
    width: 15px
  }
  .gousetsu #point .qa dt.open::after {
    top: 28px
  }
  .gousetsu #point .qa dd {
    border-radius: 0 0 20px 20px;
    font-size: 18px
  }
  .gousetsu #point .qa dd ol {
    margin-top: 10px
  }
  .gousetsu #point .qa dl + p {
    font-size: 40px;
    font-size: 4rem
  }
  .gousetsu #stamp {
    padding-bottom: 130px
  }
  .gousetsu #stamp h2 {
    font-size: 40px;
    font-size: 4rem;
    height: 80px;
    padding-top: 5px;
    width: 400px
  }
  .gousetsu #stamp h2:nth-of-type(2) {
    margin-top: 80px
  }
  .gousetsu #stamp p {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 0 auto 30px;
    padding-left: 20px;
    text-align: left;
    width: 700px
  }
  .gousetsu #stamp h3 {
    margin: 0 auto;
    width: 700px
  }
  .gousetsu #stamp .present {
    display: block;
    margin: 20px auto;
    width: 443px
  }
  .gousetsu #stamp .more img {
    height: 144px;
    left: -10px;
    top: -150px;
    width: 200px
  }
  .gousetsu #stamp .more span {
    font-size: 20px;
    font-size: 2rem;
    margin: 40px 0
  }
  .gousetsu #stamp h2:nth-of-type(2) + img {
    width: 500px
  }
  .gousetsu #stamp a {
    font-size: 26px;
    font-size: 2.6rem;
    padding: 25px 0 20px;
    width: 400px
  }

  /*251007合説プレゼント条件*/
  .gousetsu #stamp .conditions_headline {
    font-size: 3.0rem;
  }

  .gousetsu #stamp .conditions_list {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0 auto 30px;
  padding-left: 20px;
  text-align: left;
  width: 700px;
  }

  .gousetsu #stamp .conditions_list li {
  list-style: disc !important;
  }

  .gousetsu #access {
    padding-bottom: 60px
  }
  .gousetsu #access h3 {
    font-size: 28px;
    font-size: 2.8rem;
    margin: 30px 0 10px;
    padding-bottom: 10px
  }
  .gousetsu #access dt, .gousetsu #access dd {
    font-size: 22px;
    font-size: 2.2rem
  }
  .gousetsu #access dt {
    margin-top: 15px
  }
  .gousetsu #access dd {
    padding-bottom: 15px
  }
  .gousetsu #access .map {
    margin-bottom: 20px
  }
  .gousetsu #access .map p {
    font-size: 16px;
    font-size: 1.6rem
  }
  .gousetsu #access .covid {
    margin: 20px auto;
    max-width: 100%
  }
  .gousetsu #access .covid p {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 20px 0
  }
  .gousetsu #access .covid li {
    font-size: 18px;
    font-size: 1.8rem
  }
  .gousetsu #access .entry_btn {
    font-size: 26px;
    font-size: 2.6rem;
    padding: 25px 0 20px;
    width: 400px;
    text-align: center;
    margin: 0 auto;
    display: block;
  }
  .gousetsu #entry table {
    margin: 0 auto;
    width: 780px
  }
  .gousetsu #entry p {
    font-size: 14px;
    font-size: 1.4rem;
    margin: 10px 0
  }
  .gousetsu #entry th {
    border-right: 1px solid #898989;
    width: 150px
  }
  .gousetsu #entry input.age {
    width: 70px
  }
  .gousetsu #entry .address .post {
    width: 130px
  }
  .gousetsu #entry .address select {
    width: 180px
  }
  .gousetsu #entry button {
    font-size: 20px;
    font-size: 2rem;
    margin: 40px auto 0;
    padding: 20px 0;
    width: 500px
  }
  .gousetsu #entry #mfp_phase_confirm h4 {
    background-size: 780px auto;
    font-size: 16px;
    font-size: 1.6rem;
    padding: 180px 0 20px
  }
  .gousetsu .go_top {
    bottom: 20px;
    font-size: 3rem;
    font-size: 30px;
    height: 60px;
    padding-top: 13px;
    right: 10%;
    width: 60px
  }
  .gousetsu .go_top::before {
    height: 14px;
    left: 50%;
    margin-left: -9px;
    margin-top: -6px;
    top: 50%;
    width: 14px
  }
}
@media screen and (max-width: 639px) {
  .pc {
    display: none
  }
  .gousetsu .mainvisual {
    background: url(../img/cmn/title_illust.png) no-repeat left bottom, url(../img/cmn/background_sp.jpg);
    background-size: 100% auto, cover;
    padding: 5% 10px 35%;
    position: relative
  }
  .gousetsu .mainvisual .sp .bounce {
    -webkit-animation: bounce 2s ease infinite normal 0s none running;
    animation: bounce 2s ease infinite normal 0s none running
  }
  .gousetsu .mainvisual .sp .card, .gousetsu .mainvisual .sp .welcome {
    position: absolute
  }
  .gousetsu .mainvisual .sp .card {
    bottom: -70px;
    left: 10px;
    width: 120px
  }
  .gousetsu .mainvisual .sp .welcome {
    bottom: -60px;
    right: 0;
    width: 100px
  }
  .gousetsu .fixed_wrap {
    bottom: 0;
    flex-direction: column;
    left: 0;
    padding: 10px;
    position: fixed
  }
  .gousetsu .fixed_wrap p {
    font-size: 1.4rem
  }
  .gousetsu .fixed_wrap p b {
    display: block;
    font-size: 1.6rem
  }
  .gousetsu .fixed_wrap p span {
    font-size: 1.2rem
  }
  .gousetsu .fixed_wrap a {
    font-size: 1.6rem;
    margin: 5px 0 0;
    padding: 10px 0;
    width: 100%
  }
  .gousetsu section {
    padding: 10px 10px 40px
  }
  .gousetsu section::before {
    height: 60px;
    margin-left: -30px;
    top: -30px;
    width: 60px
  }
  .gousetsu section::after {
    background-position: 0 -40px;
    background-size: 40px auto;
    height: 40px;
    margin-left: -20px;
    top: -20px;
    width: 40px
  }
  .gousetsu #access::after {
    background-position: 0 -80px
  }
  .gousetsu .wrap {
    max-width: 100%
  }
  .gousetsu section h2 {
    font-size: 2.4rem;
    line-height: 1.2;
    margin: 40px auto
  }
  .gousetsu section h2::after {
    bottom: -15px;
    height: 5px;
    margin-left: -80px;
    width: 160px
  }
  .gousetsu #outline .date_place {
    font-size: 1.4rem;
    margin: 10px auto 20px
  }
  .gousetsu #outline .date_place span, .gousetsu #outline .object {
    font-size: 2rem
  }
  .gousetsu #outline .inline {
    flex-wrap: wrap
  }
  .gousetsu #outline .inline li {
    font-size: 1.4rem;
    padding: 10px 30px;
    width: 48%
  }
  .gousetsu #outline p {
    font-size: 1.6rem
  }
  .gousetsu #outline .partake {
    margin: 20px auto
  }
  .gousetsu #outline .partake h3 {
    border-width: 3px;
    font-size: 2rem;
    height: 60px;
    width: 100%
  }
  .gousetsu #outline .partake p {
    font-size: 1.4rem;
    margin: 20px auto
  }
  .gousetsu #outline .partake p strong {
    font-size: 2rem
  }
  .gousetsu #outline .partake ul {
    margin: 10px 0
  }
  .gousetsu #outline .partake li {
    display: block;
    font-size: 1.6rem
  }
  .gousetsu #outline .principal {
    flex-direction: column;
    margin-top: 30px
  }
  .gousetsu #outline .principal dl {
    width: 100%
  }
  .gousetsu #outline .principal dt {
    font-size: 1.6rem;
    padding: 10px;
    text-align: center;
    width: 100%
  }
  .gousetsu #outline .principal dd {
    font-size: 1.4rem;
    margin: 10px 0
  }
  .gousetsu .youtube {
    margin: 20px auto
  }
  .gousetsu #point .box {
    flex-direction: column
  }
  .gousetsu #point .box li {
    margin: 5px 0;
    padding: 10px;
    width: 100%
  }
  .gousetsu #point .box li:before {
    font-size: 2rem;
    height: 60px;
    padding: 5px 0 0 8px;
    width: 60px
  }
  .gousetsu #point .box img {
    display: inline-block;
    vertical-align: middle;
    width: 65px
  }
  .gousetsu #point .box strong {
    display: inline-block;
    font-size: 2rem;
    margin: 0 0 0 10px;
    text-align: left;
    vertical-align: middle
  }
  .gousetsu #point .box p {
    font-size: 1.4rem;
    margin: 10px
  }
  .gousetsu #point .explain {
    margin: 10px 0
  }
  .gousetsu #point .explain p {
    font-size: 2rem
  }
  .gousetsu #point .passed {
    margin-bottom: 30px
  }
  .gousetsu #point p.trig {
    border-width: 3px;
    font-size: 1.8rem;
    height: 50px;
    margin: 30px auto 10px;
    width: 100%
  }
  .gousetsu #point p.trig::after {
    right: 10px
  }
  .gousetsu #point .passed .show p {
    font-size: 1.4rem;
    text-align: left
  }
  .gousetsu #point .show ul {
    margin: 10px auto 0;
    width: 100%
  }
  .gousetsu #point .show ul li {
    width: calc((100% - 10px)/2)
  }
  .gousetsu #point .show ul li:nth-of-type(odd) {
    margin: 0 10px 10px 0
  }
  .gousetsu #point .passed .show ul + p {
    font-size: 1.6rem;
    text-align: center
  }
  .gousetsu #point .qa dl {
    margin-top: 30px
  }
  .gousetsu #point .qa div {
    margin: 20px 0
  }
  .gousetsu #point .qa dt {
    font-size: 1.6rem;
    padding: 10px 30px 5px 40px
  }
  .gousetsu #point .qa dd {
    padding: 0 30px 10px 42px
  }
  .gousetsu #point .qa dt::before {
    font-size: 2.4rem;
    left: 10px;
    top: 5px
  }
  .gousetsu #point .qa dt::after {
    border-width: 3px;
    height: 10px;
    right: 15px;
    top: 10px;
    width: 10px
  }
  .gousetsu #point .qa dt.open::after {
    top: 18px
  }
  .gousetsu #point .qa dd {
    border-radius: 0 0 20px 20px;
    font-size: 14px
  }
  .gousetsu #point .qa dd ol {
    align-items: stretch;
    flex-wrap: wrap
  }
  .gousetsu #point .qa dd li {
    margin-top: 5px;
    width: 50%
  }
  .gousetsu #point .qa dl + p {
    font-size: 2.4rem
  }
  .gousetsu #stamp {
    background-size: 100% auto;
    padding-bottom: 60px
  }
  .gousetsu #stamp h2 {
    border-width: 3px;
    font-size: 2.3rem;
    height: 60px;
    margin: 40px auto 20px;
    width: 300px
  }
  .gousetsu #stamp h2:nth-of-type(2) {
    margin-top: 40px
  }
  .gousetsu #stamp p {
    font-size: 1.4rem;
    margin: 10px auto;
    padding-left: 15px;
    text-align: left
  }
  .gousetsu #stamp h3 + p {
    font-size: 1.4rem
  }
  .gousetsu #stamp .present {
    display: block;
    margin: 10px auto;
    width: 290px
  }
  .gousetsu #stamp .more {
    margin-top: 40px;
    position: relative
  }
  .gousetsu #stamp .more img {
    height: auto;
    left: 0;
    top: -70px;
    width: 100px
  }
  .gousetsu #stamp .more span {
    font-size: 1.4rem;
    margin: 20px 0
  }
  .gousetsu #stamp h2:nth-of-type(2) + img {
    width: 100%
  }
  .gousetsu #stamp a {
    font-size: 2rem;
    padding: 25px 0 20px;
    width: 100%
  }

  /*251007合説プレゼント条件*/
  .gousetsu #stamp .conditions_headline {
    font-size: 2.0rem;
    font-weight: bold;
  }
  .gousetsu #stamp .conditions_list {
  font-size: 1.4rem;
  font-weight: bold;
  margin: 10px auto;
  padding-left: 15px;
  text-align: left;
  }

  .gousetsu #stamp .conditions_list li {
  list-style: disc !important;
  }

  .gousetsu #access {
    padding-bottom: 20px
  }
  .gousetsu #access h3 {
    font-size: 2.2rem;
    margin: 30px 0 10px;
    padding-bottom: 10px
  }
  .gousetsu #access dt {
    font-size: 2rem;
    margin-top: 15px
  }
  .gousetsu #access dd {
    font-size: 1.6rem;
    padding-bottom: 15px
  }
  .gousetsu #access .map {
    margin-bottom: 20px;
    text-align: left
  }
  .gousetsu #access .map p {
    font-size: 1.4rem
  }
  .gousetsu #access .covid {
    margin: 20px auto;
    text-align: left
  }
  .gousetsu #access .covid p {
    font-size: 1.4rem;
    margin: 20px 0
  }
  .gousetsu #access .covid li {
    font-size: 1.4rem
  }
  .gousetsu #access .entry_btn {
    font-size: 2rem;
    padding: 25px 0 20px;
    width: 100%;
    text-align: center;
  }
  .gousetsu #entry th, .gousetsu #entry td {
    display: block;
    width: 100%
  }
  .gousetsu #entry th {
    border-right: none
  }
  .gousetsu #entry input[type=text], .gousetsu #entry input[type=email], .gousetsu #entry input[type=tel], .gousetsu #entry input[type=number] {
    width: 100%
  }
  .gousetsu #entry .address input[type=text] {
    width: calc(100% - 70px)
  }
  .gousetsu #entry .address .post {
    margin-bottom: 5px;
    width: 110px
  }
  .gousetsu #entry .address select {
    margin-bottom: 5px;
    width: 140px
  }
  .gousetsu #entry input[type=text] {
    margin: 5px 0
  }
  .gousetsu #entry input.age {
    width: 80px
  }
  .gousetsu #entry .line.select_two {
    flex-wrap: wrap
  }
  .gousetsu #entry .line.select_two li {
    width: 100%
  }
  .gousetsu #entry input.tel {
    margin: 0 5px;
    width: 80px
  }
  .gousetsu #entry button {
    font-size: 1.8rem;
    margin: 20px auto 0;
    padding: 20px 0;
    width: 100%
  }
  .gousetsu #entry #mfp_phase_confirm h4 {
    background-size: 100% auto;
    font-size: 1.4rem;
    padding: 80px 0 20px
  }
  .gousetsu .go_top {
    bottom: 120px;
    height: 40px;
    padding-top: 13px;
    right: 10px;
    width: 40px
  }
  .gousetsu .go_top::before {
    content: "";
    border-left: 3px solid #fff;
    border-top: 3px solid #fff;
    display: block;
    height: 12px;
    left: 50%;
    margin-left: -7px;
    margin-top: -6px;
    position: absolute;
    transform: rotate(45deg);
    top: 50%;
    width: 12px
  }
}