@charset "UTF-8";
@import url("https://maxst.icons8.com/vue-static/landings/line-awesome/line-awesome/1.3.0/css/line-awesome.min.css");
.sctbox .ftb {
  font-weight: bold;
}

@media screen and (max-width: 750px) {
  .sctbox .ftb {
    font-weight: normal;
    -webkit-text-stroke: 0.4px;
  }
}

.rightarr {
  position: relative;
}

.rightarr:after {
  content: "";
  display: block;
  margin: auto 0;
  border-top: 2px solid;
  border-right: 2px solid;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 16px;
  -webkit-transform: rotate(45deg) skew(8deg, 8deg);
          transform: rotate(45deg) skew(8deg, 8deg);
  -webkit-transition: opacity .5s,-webkit-transform .5s;
  transition: opacity .5s,-webkit-transform .5s;
  transition: transform .5s,opacity .5s;
  transition: transform .5s,opacity .5s,-webkit-transform .5s;
}

.mouse .rightarr:hover:after {
  -webkit-transform: rotate(45deg) translate(3px, -3px);
          transform: rotate(45deg) translate(3px, -3px);
}

/*************************
共通class
************************ */
.sctbox .ftb {
  font-weight: bold;
}

.sctbox .ftu {
  text-decoration: underline;
}

.sctbox .f24 {
  font-size: 0.24rem;
}

@media screen and (max-width: 750px) {
  .sctbox .f24 {
    font-size: 0.2rem;
  }
}

.sctbox .f28 {
  font-size: 0.28rem;
  line-height: 1.6;
}

@media screen and (max-width: 750px) {
  .sctbox .f28 {
    font-size: 0.22rem;
  }
}

.sctbox .f30 {
  font-size: 0.3rem;
  line-height: 1.5;
}

@media screen and (max-width: 750px) {
  .sctbox .f30 {
    font-size: 0.2rem;
  }
}

.sctbox .f36 {
  font-size: 0.36rem;
}

@media screen and (max-width: 750px) {
  .sctbox .f36 {
    font-size: 0.28rem;
    line-height: 1.2;
  }
}

.sctbox .f40 {
  font-size: 0.4rem;
  line-height: 1.6;
}

@media screen and (max-width: 750px) {
  .sctbox .f40 {
    font-size: 0.28rem;
    line-height: 1.2;
  }
}

.sctbox .f48 {
  font-size: 0.48rem;
  line-height: 1.2;
}

@media screen and (max-width: 750px) {
  .sctbox .f48 {
    font-size: 0.34rem;
    line-height: 1.2;
  }
}

html {
  font-family: Roboto, "Helvetica Neue", HelveticaNeue, 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  font-size: 100px;
  font-weight: 400;
  /* IE11だけに適応 */
}

@media screen and (min-width: 751px) {
  html {
    -webkit-font-smoothing: antialiased;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}

@media screen and (max-width: 750px) {
  html {
    -webkit-text-size-adjust: 100%;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    font-size: 26.8vw;
  }
}

html.safari {
  /*@include sc(pc) {
			font-feature-settings : "pkna";
			letter-spacing: 0;
		}*/
}

html _:lang(x)::-ms-backdrop, html {
  font-family: "Segoe UI", "メイリオ", Meiryo, sans-serif;
}

.mouse * {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.chrome body {
  image-rendering: -webkit-optimize-contrast;
}

body,
dd,
div,
dl,
dt,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ol,
p,
td,
th,
ul {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  word-break: break-all;
}

article,
aside,
figure,
footer,
header,
main,
nav,
section {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

figure {
  font-size: 0;
}

figure figcaption {
  line-height: 1.5;
}

button,
input,
select,
textarea {
  background: none;
  padding: 0;
  margin: 0;
  outline: 0;
  border: none;
  font: inherit;
  overflow: visible;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

input[type="radio"] {
  -webkit-transform: translateY(-0.02rem);
          transform: translateY(-0.02rem);
}

.safari input[type="radio"] {
  -webkit-transform: translateY(-0.01rem);
          transform: translateY(-0.01rem);
}

@media screen and (max-width: 750px) {
  .safari input[type="radio"] {
    -webkit-transform: translateY(0.01rem);
            transform: translateY(0.01rem);
  }
}

input[type="checkbox"] {
  -webkit-transform: translateY(-0.02rem);
          transform: translateY(-0.02rem);
}

.safari input[type="checkbox"] {
  -webkit-transform: translateY(-0.01rem);
          transform: translateY(-0.01rem);
}

@media screen and (max-width: 750px) {
  .safari input[type="checkbox"] {
    -webkit-transform: translateY(0.01rem);
            transform: translateY(0.01rem);
  }
}

button,
select {
  cursor: pointer;
  text-transform: none;
}

select::-ms-expand {
  display: none;
}

img {
  -ms-interpolation-mode: bicubic;
  border-style: none;
}

svg:not(:root) {
  overflow: hidden;
}

hr {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 0;
  overflow: visible;
}

b,
strong {
  font-weight: inherit;
  font-weight: bolder;
}

a {
  outline: 0;
  text-decoration: none;
  color: inherit;
  background-color: transparent;
}

li {
  list-style: none;
}

sub,
sup {
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

/* .link */
a {
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  display: block;
}

.mouse a:hover {
  opacity: 0.8;
}

a[href^="tel:"] {
  cursor: default;
}

a[href^="tel:"]:hover {
  opacity: 1;
}

img {
  width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
}

.btnbox {
  text-align: center;
}

.btn {
  display: inline-block;
  width: 2.6rem;
  text-align: center;
  border-radius: .1rem;
  background: #05c53b;
  background: -webkit-gradient(linear, left top, right top, from(#05c53b), to(#04b135));
  background: linear-gradient(90deg, #05c53b 0%, #04b135 100%);
  color: #fff;
  padding: .25rem .2rem;
  position: relative;
  cursor: pointer;
  -webkit-animation: floatbox 1.5s ease-in-out infinite;
          animation: floatbox 1.5s ease-in-out infinite;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

@media screen and (max-width: 750px) {
  .btn {
    width: 60%;
    padding: .16rem .1rem;
  }
}

.btn span {
  display: inline-block;
  font-size: 0.2rem;
  font-family: 'Noto Serif JP', "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  color: #fff;
  position: relative;
}

@media screen and (max-width: 750px) {
  .btn span {
    font-size: 0.14rem;
    letter-spacing: 0.2em;
  }
}

.mouse .btn:hover {
  opacity: 1;
}

.btn2 {
  display: inline-block;
  width: 4.5rem;
  text-align: center;
  border-radius: 2rem;
  background-color: #fff;
  color: #000;
  font-size: 0.2rem;
  font-family: 'Noto Serif JP', "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  padding: .2rem .2rem;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

@media screen and (max-width: 750px) {
  .btn2 {
    font-size: 0.16rem;
    padding: .12rem .2rem;
  }
}

/* アニメーション */
@-webkit-keyframes floatbox {
  0% {
    -webkit-box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
            box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  50% {
    -webkit-box-shadow: 0 25px 15px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 0 25px 15px 0px rgba(0, 0, 0, 0.2);
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
  }
  100% {
    -webkit-box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
            box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@keyframes floatbox {
  0% {
    -webkit-box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
            box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  50% {
    -webkit-box-shadow: 0 25px 15px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 0 25px 15px 0px rgba(0, 0, 0, 0.2);
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
  }
  100% {
    -webkit-box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
            box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}

@-webkit-keyframes zoomFade {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
            transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}

@keyframes zoomFade {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
            transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}

.grid {
  display: -ms-grid;
  display: grid;
}

.moviebox p {
  margin-top: 0;
  text-align: center;
  font-size: 0.22rem;
  font-family: 'Noto Serif JP', "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  letter-spacing: 0.3em;
  padding-left: 0.3em;
  margin-bottom: 0.1rem;
}

@media screen and (max-width: 750px) {
  .moviebox p {
    font-size: 0.15rem;
    letter-spacing: 0.1em;
    padding-left: 0.1em;
  }
}

.moviebox .movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.moviebox .movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 750px) {
  .pc {
    display: none !important;
  }
}

.sp {
  display: none !important;
}

@media screen and (max-width: 750px) {
  .sp {
    display: block !important;
  }
}

/*************************
common
************************ */
body {
  font-size: 0.2rem;
  line-height: 2;
  color: #000;
  letter-spacing: 0.05em;
  min-width: 1200px;
  position: relative;
  position: relative;
}

@media screen and (max-width: 750px) {
  body {
    font-size: 0.16rem;
    line-height: 1.6;
    min-width: 0;
  }
}

p {
  margin-top: .3rem;
}

@media screen and (max-width: 750px) {
  p {
    margin-top: .24rem;
    text-align: justify;
    text-justify: inter-ideograph;
  }
  .ie p {
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}

.txtbox p:first-of-type {
  margin-top: 0;
}

input, textarea {
  width: 100%;
  background-color: #fff;
  padding: 0.06rem 0.16rem;
}

@media screen and (max-width: 750px) {
  input, textarea {
    padding: 0.06rem 0.12rem;
    line-height: 1.4;
  }
}

/*************************
inview
************************ */
[data-iv-fdin] {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 1s ease 0s;
  transition: all 1s ease 0s;
}

[data-iv-fdin].fadein {
  opacity: 1;
  visibility: visible;
}

[data-iv-fdup] {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(0.3rem);
          transform: translateY(0.3rem);
  -webkit-transition: all 1s ease 0s;
  transition: all 1s ease 0s;
}

@media screen and (max-width: 750px) {
  [data-iv-fdup] {
    -webkit-transform: translateY(0.2rem);
            transform: translateY(0.2rem);
  }
}

[data-iv-fdup].fadeup {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/*************************
main
************************ */
.container {
  max-width: 1200px;
  padding: 0 .2rem;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 750px) {
  .container {
    padding: 0 0.16rem;
  }
}

.sctbox {
  padding: .8rem 0;
  position: relative;
  z-index: 3;
}

@media screen and (max-width: 750px) {
  .sctbox {
    padding: .4rem 0;
  }
}

.sctbox .ttl {
  display: block;
  min-height: 1.4rem;
  margin: 0 auto;
  background: transparent url(../img/bg_stripe.png) repeat scroll center top/28px;
  margin-bottom: .4rem;
  text-align: center;
  font-size: 0.32rem;
  font-family: 'Noto Serif JP', "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.15em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}

@media screen and (max-width: 750px) {
  .sctbox .ttl {
    font-size: 0.2rem;
    margin-bottom: 0.3rem;
    min-height: auto;
    padding-top: .2rem;
    padding-bottom: .2rem;
    letter-spacing: 0;
  }
}

.sctbox .ttl strong {
  font-size: 0.44rem;
  font-family: 'Noto Serif JP', "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
}

@media screen and (max-width: 750px) {
  .sctbox .ttl strong {
    font-size: 0.26rem;
  }
}

.sctbox .txt p {
  text-align: center;
}

@media screen and (max-width: 750px) {
  .sctbox .txt p {
    text-align: left;
  }
}

.sctbox .txt p:first-of-type {
  margin-top: 0;
}

.sctbox .imgw {
  width: 100%;
}

.sctbox .imgr {
  float: right;
}

.sctbox .bgy {
  background-color: #ffe509;
  padding-left: 0.06rem;
  padding-right: 0.06rem;
}

.sctbox .marker {
  display: inline;
  background: #ffe509;
  background: -webkit-gradient(linear, left bottom, left top, from(#ffe509), color-stop(30%, #ffe509), color-stop(30%, rgba(255, 229, 9, 0)));
  background: linear-gradient(0deg, #ffe509 0%, #ffe509 30%, rgba(255, 229, 9, 0) 30%);
  padding: 0 1px 0px;
}

.sctbox .marker.gld {
  background: #a39b58;
  background: -webkit-gradient(linear, left bottom, left top, from(#a39b58), color-stop(30%, #a39b58), color-stop(30%, rgba(163, 155, 88, 0)));
  background: linear-gradient(0deg, #a39b58 0%, #a39b58 30%, rgba(163, 155, 88, 0) 30%);
}

.sctbox .fzlg {
  font-size: 0.3rem;
}

@media screen and (max-width: 750px) {
  .sctbox .fzlg {
    font-size: 0.19rem;
  }
}

.sctbox.bgpnk {
  background-color: #fcf6f3;
}

.sctbox.bggry {
  background-color: #f4f4f4;
}

/*************************
totop
************************ */
#totop {
  position: fixed;
  bottom: .14rem;
  right: .14rem;
  z-index: 1111;
  cursor: pointer;
  opacity: 0;
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

@media screen and (max-width: 750px) {
  #totop {
    bottom: 1.52rem;
    right: .1rem;
  }
}

#totop span {
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: .72rem;
  height: .72rem;
  border-radius: .05rem;
  padding-top: 0.2rem;
  background-color: #fff;
  font-size: 0.16rem;
  font-family: 'Roboto', "Helvetica Neue", HelveticaNeue, sans-serif;
  font-weight: 700;
  position: relative;
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

@media screen and (max-width: 750px) {
  #totop span {
    opacity: 0.5;
    width: .5rem;
    height: .5rem;
    padding-top: 0.16rem;
    font-size: 0.12rem;
  }
}

#totop span:after {
  content: '';
  display: block;
  width: .1rem;
  height: .1rem;
  background-color: transparent;
  -webkit-transform: rotateZ(45deg);
          transform: rotateZ(45deg);
  position: absolute;
  top: calc((100% - .26rem) / 2);
  left: calc((100% - .1rem) / 2);
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

@media screen and (max-width: 750px) {
  #totop span:after {
    width: .10rem;
    height: .10rem;
    border-top-width: 2px;
    border-left-width: 2px;
    top: calc(50% - .1rem);
    left: calc(50% - .05rem);
  }
}

#totop.show {
  opacity: 1;
}

.mouse #totop:hover {
  opacity: 1;
}

.mouse #totop:hover span {
  color: #fff;
}

.mouse #totop:hover span:after {
  border-top-color: #fff;
  border-left-color: #fff;
}

/*************************
footer
************************ */
#footer {
  width: 100%;
  background-color: #07223f;
  position: relative;
  z-index: 10;
}

@media screen and (max-width: 750px) {
  #footer {
    min-width: 0;
  }
}

#footer .container {
  max-width: 1500px;
  padding: 0 0.2rem;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 750px) {
  #footer .container {
    padding: 0 0.16rem;
  }
}

#copyright {
  display: block;
  width: 100%;
  background-color: #07223f;
  text-align: center;
  font-size: 0.12rem;
  line-height: 2;
  color: #fff;
  padding: 0.08rem 0;
}

@media screen and (max-width: 750px) {
  #copyright {
    padding: 0.02rem 0;
    font-size: 0.1rem;
  }
}
