@charset "UTF-8";
/*==================================================== Foundation ====================================================*/
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; }

h1, h2, h3, h4, h5, h6, small { font-size: 100%; font-weight: normal; }

ul { list-style: none; }

button, input, select, textarea { margin: 0; }

html { box-sizing: border-box; }

*, *:before, *:after { box-sizing: inherit; }

img, embed, iframe, object, audio, video { height: auto; max-width: 100%; }

iframe { border: 0; }

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

td, th { padding: 0; text-align: left; }

em, b, strong, address { font-style: normal; font-weight: normal; }

button { background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; display: block; border-radius: 0; }

main { display: block; }

input[type="text"] { padding: 0; border: none; border-radius: 0; outline: none; background: none; }

input[type="submit"], input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; -moz-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; }

object { pointer-events: none; }

/*----------------------------------------------------
    文字サイズ統一
----------------------------------------------------*/
html { overflow-y: auto; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; font-size: 56.4%; }

@media print, screen and (min-width: 768px) { html { font-size: 62.5%; } }

body { overflow-y: auto; line-height: 1.8; letter-spacing: .1em; font-size: 150%; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif; color: #595857; text-align: center; }

/*----------------------------------------------------
    基本設定、リンクカラーなど
----------------------------------------------------*/
a { background-color: transparent; color: #77DAF8; text-decoration: none; }

@media print, screen and (min-width: 1000px) { a { -webkit-transition: opacity .3s ease; transition: opacity .3s ease; } }

a:hover, a:active, a:focus { outline: 0; }

img[src$=".svg"] { width: 100%; }

/*==================================================== Layout ====================================================*/
.l-wrap { overflow: hidden; }

.l-header { background-image: url("../img/bg_05.png"); background-position: calc( 50% + 140px) 0; background-repeat: no-repeat; }

@media print, screen and (max-width: 767px) { .l-header { background-image: url("../img/bg_05_sp.png"); background-position: 0 0; background-size: 100%; } }

.l-footer { padding: 10rem 0 9rem; position: relative; }

@media print, screen and (max-width: 767px) { .l-footer { padding: 10rem 0 4rem; } }

.l-footer__inner { max-width: 800px; margin: 0 auto; position: relative; z-index: 0; }

.l-footer__inner:before, .l-footer__inner:after { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: cover; position: absolute; }

.l-footer__inner:before { background-image: url("../img/img_ring.svg"); width: 488px; height: 488px; top: -440px; left: -490px; }

@media print, screen and (max-width: 767px) { .l-footer__inner:before { width: 70vw; height: 70vw; top: -72vw; left: -52vw; } }

.l-footer__inner:after { background-image: url("../img/img_teru.png"); width: 118px; height: 184px; top: -10rem; left: 40px; }

@media print, screen and (max-width: 767px) { .l-footer__inner:after { width: 19vw; height: 30vw; top: -10rem; left: 12vw; } }

/*==================================================== Object:Component ====================================================*/
.c-title1 { font-size: 3.3rem; color: #00ABFF; font-weight: bold; }

@media print, screen and (max-width: 767px) { .c-title1 { font-size: 6.6vw; } }

.c-title1:after { content: ''; width: 7rem; height: .6rem; background: #00ABFF; display: block; margin: 3rem auto 0; }

@media print, screen and (max-width: 767px) { .c-title1:after { width: 14vw; height: 1.2vw; margin: 12vw auto 0; } }

.c-title2 { font-size: 1.1em; font-weight: bold; }

.c-text1 { font-size: 1.1em; letter-spacing: 0.14em; font-weight: bold; }

@media print, screen and (max-width: 767px) { .c-text1 { font-size: 4.2vw; } }

.c-copyright { margin-top: 2rem; font-size: 1.1rem; }

.c-copyright b { vertical-align: middle; font-size: 1.5rem; font-weight: bold; letter-spacing: .2em; }

@media print, screen and (max-width: 767px) { .c-copyright b { display: block; padding-bottom: .5em; } }

.c-btn1, .c-btn2, .c-btn3 { display: inline-block; width: 100%; background-color: #77DAF8; border-radius: 10em; color: #fff; font-weight: bold; position: relative; padding: 1em 5% 1em 4em; text-align: center; letter-spacing: .2em; font-size: 1.1em; }

@media print, screen and (max-width: 767px) { .c-btn1, .c-btn2, .c-btn3 { letter-spacing: .1em; padding: .8em 5% .8em 2em; font-size: 1.2em; } }

.c-btn1:before, .c-btn2:before, .c-btn3:before { content: ''; background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNy43OCAzNy43OCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmZmZ9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmljbl9hcnJvdzwvdGl0bGU+PGcgaWQ9IuODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xOC44OSAwYTE4Ljg5IDE4Ljg5IDAgMSAwIDE4Ljg5IDE4Ljg5QTE4Ljg5IDE4Ljg5IDAgMCAwIDE4Ljg5IDB6bS0zLjIzIDI2LjczVjExLjA1bDExLjg1IDcuODR6IiBpZD0i5paH5a2X6KaB57SgIi8+PC9nPjwvc3ZnPg=="); background-size: cover; display: block; position: absolute; width: 2.2em; height: 2.2em; left: 1.3em; top: calc( 50% - ( 2.2em / 2 )); }

@media print, screen and (max-width: 767px) { .c-btn1:before, .c-btn2:before, .c-btn3:before { width: 1.8em; height: 1.8em; left: 1em; top: calc( 50% - ( 1.8em / 2 )); } }

.c-btn1.is-disable, .c-btn2.is-disable, .c-btn3.is-disable { opacity: .6; cursor: not-allowed; }

.c-btn2 { padding: 1.2em 5% 1.2em 4em; background-color: rgba(0, 171, 255, 0.61); }

@media print, screen and (max-width: 767px) { .c-btn2 { padding: .8em 5% .8em 2em; } }

.c-btn2:before { left: 2.4em; }

@media print, screen and (max-width: 767px) { .c-btn2:before { left: 1em; } }

.c-btn3 { color: #77DAF8; background-color: #fff; }

.c-btn3:before { content: ''; background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNy43OCAzNy43OCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiM3N2RhZjg7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT7jgqLjgrvjg4Pjg4ggMjwvdGl0bGU+PGcgaWQ9IuODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIj48ZyBpZD0i5paH5a2X6KaB57SgIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xOC44OSwwQTE4Ljg5LDE4Ljg5LDAsMSwwLDM3Ljc4LDE4Ljg5LDE4Ljg5LDE4Ljg5LDAsMCwwLDE4Ljg5LDBaTTE1LjY2LDI2LjczVjExLjA1bDExLjg1LDcuODRaIi8+PC9nPjwvZz48L3N2Zz4="); }

.c-page-top { background-color: rgba(0, 171, 255, 0.61); width: 12vw; height: 12vw; text-align: center; border-radius: 50%; position: absolute; top: -18vw; right: 5vw; padding-top: 2vw; }

@media print, screen and (min-width: 768px) { .c-page-top { display: none; } }

.c-page-top:after { content: ''; display: inline-block; border: 0; border-top: solid 3px #fff; border-right: solid 3px #fff; width: 3.4vw; height: 3.4vw; -webkit-transform: rotate(-45deg) translateY(-1px) translateX(1px); transform: rotate(-45deg) translateY(-1px) translateX(1px); }

/** fadeIn css animation */
.animated { -webkit-animation-duration: 2s; animation-duration: 2s; -webkit-animation-fill-mode: both; animation-fill-mode: both; opacity: 0; -webkit-transform: translate3d(0, 10%, 0); transform: translate3d(0, 10%, 0); }

@media print, screen and (max-width: 767px) { .animated { -webkit-transform: translate3d(0, 4%, 0); transform: translate3d(0, 4%, 0); } }

@-webkit-keyframes fadeInUp { from { opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
            transform: translate3d(0, 10%, 0); }
  to { opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes fadeInUp { from { opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
            transform: translate3d(0, 10%, 0); }
  to { opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@media print, screen and (max-width: 767px) { @-webkit-keyframes fadeInUp { from { opacity: 0;
      -webkit-transform: translate3d(0, 4%, 0);
              transform: translate3d(0, 4%, 0); }
    to { opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0); } } @keyframes fadeInUp { from { opacity: 0;
      -webkit-transform: translate3d(0, 4%, 0);
              transform: translate3d(0, 4%, 0); }
    to { opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0); } } }

.fadeInUp { -webkit-animation-name: fadeInUp; animation-name: fadeInUp; }

/****/
.overlay { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.7); -webkit-transition: opacity 500ms; transition: opacity 500ms; visibility: hidden; opacity: 0; -ms-flex-line-pack: center; align-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; display: -webkit-box; display: -ms-flexbox; display: flex; z-index: 999; }

.overlay:target { visibility: visible; opacity: 1; }

.popup { margin: 0 auto; border-radius: 5px; width: 50%; position: relative; -webkit-transition: all 5s ease-in-out; transition: all 5s ease-in-out; }

@media print, screen and (max-width: 767px) { .popup { width: 80%; } }

.popup .close { position: absolute; top: -1.6em; right: 0; -webkit-transition: all 200ms; transition: all 200ms; font-size: 1.9em; text-decoration: none; color: #77DAF8; background-color: #fff; border-radius: 50%; height: 1.2em; width: 1.2em; line-height: 1; text-align: center; display: block; padding-left: .08em; }

.popup .content { max-height: 86vh; overflow: auto; }

/*==================================================== Object:Project ====================================================*/
.p-site-logo { max-width: 369px; margin: 0 auto; width: 60vw; padding: 18rem 0 24rem; }

@media print, screen and (max-width: 767px) { .p-site-logo { padding: 36vw 0; } }

.p-main-text { font-size: 1.9rem; line-height: 2.4; padding-bottom: 24rem; max-width: 800px; margin: 0 auto; position: relative; }

@media print, screen and (max-width: 767px) { .p-main-text { font-size: 4.6vw; line-height: 2.2; } }

.p-main-text div, .p-main-text p { position: relative; z-index: 1; }

.p-main-text p + p { margin-top: 2.2em; }

.p-main-text:after, .p-main-text:before { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: cover; position: absolute; z-index: 0; }

.p-main-text:after { background-image: url("../img/img_sky_05.png"); width: 718px; height: 718px; bottom: -150px; left: -550px; }

@media print, screen and (max-width: 767px) { .p-main-text:after { width: 100vw; height: 100vw; bottom: -23vw; left: -27vw; } }

.p-main-text:before { background-image: url("../img/img_ring.svg"); width: 488px; height: 488px; bottom: -290px; right: -440px; }

@media print, screen and (max-width: 767px) { .p-main-text:before { width: 80vw; height: 80vw; bottom: -50vw; right: -56vw; } }

.p-section { padding: 16rem 0; }

@media print, screen and (max-width: 767px) { .p-section { padding: 34vw 0 30vw; font-size: 3.6vw; } }

.p-parallax { color: #fff; background-repeat: no-repeat; }

.p-parallax .c-title1 { color: #fff; }

.p-parallax .c-title1:after { background-color: #fff; }

.p-about { background-image: url("../img/bg_01.png"); background-size: cover; background-position: 50% 30%; }

.p-about .c-title1 { letter-spacing: 0.2em; margin-bottom: 8rem; }

@media print, screen and (max-width: 767px) { .p-about .c-title1 { margin: 16vw auto; } }

.p-about .c-text1 { margin-bottom: 7rem; font-weight: normal; line-height: 2; }

@media print, screen and (max-width: 767px) { .p-about .c-text1 { margin-bottom: 14vw; } }

.p-about .p-section__inner { max-width: 800px; margin: 0 auto; position: relative; z-index: 0; }

.p-about .p-section__inner:after { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: cover; position: absolute; }

.p-about .p-section__inner:after { background-image: url("../img/img_sky_06.png"); width: 333px; height: 333px; bottom: -270px; right: -200px; }

@media print, screen and (max-width: 767px) { .p-about .p-section__inner:after { width: 40vw; height: 40vw; bottom: -50vw; right: -3vw; } }

.p-about__member { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; background-color: rgba(0, 171, 255, 0.61); padding: 3%; }

.p-about__member p { margin-top: 2rem; }

@media print, screen and (max-width: 767px) { .p-about__member { max-width: 90%; padding: 5%; } }

.p-news { padding: 18rem 0 19rem; }

@media print, screen and (max-width: 767px) { .p-news { padding: 36vw 0; } }

.p-news .c-title1 { letter-spacing: .9em; text-indent: .9em; }

@media print, screen and (max-width: 767px) { .p-news .c-title1 { letter-spacing: .6em; text-indent: .6em; } }

.p-news .p-section__inner { max-width: 800px; margin: 0 auto; position: relative; z-index: 0; }

.p-news .p-section__inner:after, .p-news .p-section__inner:before { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: cover; position: absolute; }

.p-news .p-section__inner:before { background-image: url("../img/img_ring.svg"); width: 200px; height: 200px; top: 20px; left: -190px; }

@media print, screen and (max-width: 767px) { .p-news .p-section__inner:before { width: 28vw; height: 28vw; bottom: -32vw; left: -10vw; top: auto; } }

.p-news .p-section__inner:after { background-image: url("../img/img_sky_07.png"); width: 333px; height: 333px; bottom: -360px; left: -150px; }

@media print, screen and (max-width: 767px) { .p-news .p-section__inner:after { width: 47vw; height: 47vw; bottom: -73vw; left: 8vw; } }

.p-news__list { font-weight: bold; display: inline-block; margin: 9rem auto 0; }

@media print, screen and (max-width: 767px) { .p-news__list { display: block; width: 80%; margin: 10vw auto 0; } }

.p-news__list dl { display: -webkit-box; display: -ms-flexbox; display: flex; text-align: left; }

@media print, screen and (max-width: 767px) { .p-news__list dl { display: block; } }

.p-news__list dt { color: #77DAF8; width: 9em; font-size: 1.1em; }

@media print, screen and (max-width: 767px) { .p-news__list dt { font-size: 1em; } }

.p-news__list dd { letter-spacing: .2em; }

.p-movie { background-image: url("../img/bg_02.png"); background-size: cover; background-position: 50% 90%; }

@media print, screen and (max-width: 767px) { .p-movie { padding-top: 42vw; padding-bottom: 36vw; } }

.p-movie .c-title1 { letter-spacing: 0.22em; margin-bottom: 8rem; }

@media print, screen and (max-width: 767px) { .p-movie .c-title1 { margin-bottom: 14vw; } }

.p-movie .p-section__inner { max-width: 800px; margin: 0 auto; position: relative; }

.p-movie .p-section__inner:before { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: cover; position: absolute; z-index: 0; }

.p-movie .p-section__inner:before { background-image: url("../img/img_ring.svg"); width: 488px; height: 488px; bottom: -410px; left: -490px; }

@media print, screen and (max-width: 767px) { .p-movie .p-section__inner:before { width: 70vw; height: 70vw; bottom: -53vw; left: -32vw; } }

@media print, screen and (max-width: 767px) { .p-movie .animated { position: relative; z-index: 1; max-width: 90%; margin: 0 auto; } }

.p-movie-m { width: 94%; margin: 3rem auto 0; background-color: rgba(0, 171, 255, 0.61); padding: 5% 5% 5% 5%; }

@media print, screen and (max-width: 767px) { .p-movie-m { width: 100%; } }

.p-movie-m__txt { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

@media print, screen and (max-width: 767px) { .p-movie-m__txt { display: block; } }

.p-movie-m__txt p:nth-child(1) { width: 80%; font-size: 1.2em; line-height: 2.2; padding-right: 1%; }

@media print, screen and (max-width: 767px) { .p-movie-m__txt p:nth-child(1) { display: block; width: 100%; line-height: 1.8; padding: 0; } }

.p-movie-m__txt p:nth-child(2) { padding-left: 1%; width: 20%; }

@media print, screen and (max-width: 767px) { .p-movie-m__txt p:nth-child(2) { width: 60%; margin: 2% auto; padding: 0; } }

.p-movie-m__btn { width: 60%; margin: 0 auto; }

@media print, screen and (max-width: 767px) { .p-movie-m__btn { width: 100%; } }

.p-movie__iframe + .p-movie__iframe { margin-top: 2em; }

.p-movie__iframe iframe { width: 100%; height: 450px; }

@media print, screen and (max-width: 767px) { .p-movie__iframe iframe { height: 50.8vw; } }

.p-ad .c-title1 { letter-spacing: .5em; text-indent: .2em; }

.p-ad .p-section__inner { position: relative; max-width: 800px; margin: 0 auto; }

.p-ad .p-section__inner:after, .p-ad .p-section__inner:before { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: cover; position: absolute; }

.p-ad .p-section__inner:before { background-image: url("../img/img_sky_08.png"); width: 555px; height: 555px; top: -240px; right: -410px; }

@media print, screen and (max-width: 767px) { .p-ad .p-section__inner:before { width: 65vw; height: 65vw; top: -59vw; right: -45vw; } }

.p-ad .p-section__inner:after { background-image: url("../img/img_sky_09.png"); width: 333px; height: 333px; bottom: -340px; left: -290px; }

@media print, screen and (max-width: 767px) { .p-ad .p-section__inner:after { width: 42vw; height: 42vw; bottom: -49vw; left: -10vw; } }

.p-ads { display: -webkit-box; display: -ms-flexbox; display: flex; max-width: 800px; margin: 4rem auto 0; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

@media print, screen and (max-width: 767px) { .p-ads { display: block; margin: 0 auto; width: 70%; } }

.p-ads__item { width: calc( 86% / 3); }

@media print, screen and (max-width: 767px) { .p-ads__item { width: auto; padding-top: 14vw; }
  .p-ads__item .c-btn1 { max-width: 80%; } }

.p-ads__item a { display: block; }

.p-ads__item a img { border: solid #cfcfcf 1px; margin-bottom: 2em; vertical-align: bottom; }

@media print, screen and (max-width: 767px) { .p-ads__item a img { margin-bottom: 7vw; } }

.p-radio { background-image: url("../img/bg_03.png"); background-size: cover; background-position: 50% 90%; }

.p-radio .c-title1 { letter-spacing: 0.3em; margin-bottom: 6rem; }

.p-radio .p-section__inner { max-width: 800px; margin: 0 auto; position: relative; z-index: 0; }

.p-radio .p-section__inner:before { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: cover; position: absolute; }

.p-radio .p-section__inner:before { background-image: url("../img/img_ring.svg"); width: 488px; height: 488px; bottom: -480px; right: -490px; }

@media print, screen and (max-width: 767px) { .p-radio .p-section__inner:before { width: 42vw; height: 42vw; bottom: -49vw; right: -30vw; } }

.p-radio__list { max-width: 800px; margin: 0 auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

@media print, screen and (max-width: 767px) { .p-radio__list { display: block; width: 86%; } }

.p-radio__list li { width: 48%; }

@media print, screen and (max-width: 767px) { .p-radio__list li { width: auto; }
  .p-radio__list li + li { margin-top: 5vw; } }

@media print, screen and (min-width: 768px) { .p-radio__list li:nth-child(n + 3) { margin-top: 2rem; } }

.p-share { text-align: center; font-weight: bold; letter-spacing: .2em; }

.p-share .c-title1 { letter-spacing: 0.2em; }

.p-share .p-section__inner { max-width: 800px; margin: 0 auto; position: relative; z-index: 0; }

.p-share .p-section__inner:after, .p-share .p-section__inner:before { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: cover; position: absolute; }

.p-share .p-section__inner:before { background-image: url("../img/img_sky_10.png"); width: 555px; height: 555px; top: -20px; left: -480px; }

@media print, screen and (max-width: 767px) { .p-share .p-section__inner:before { width: 65vw; height: 65vw; top: 30vw; left: -39vw; } }

.p-share .p-section__inner:after { background-image: url("../img/img_sky_11.png"); width: 555px; height: 555px; bottom: -300px; right: -500px; }

@media print, screen and (max-width: 767px) { .p-share .p-section__inner:after { width: 70vw; height: 70vw; bottom: -72vw; right: -37vw; } }

.p-shareLogo__img { max-width: 170px; margin: 10rem auto; }

.p-shareLogo__catch { font-size: 1.1em; }

.p-shareLogo__read { line-height: 2.2; margin-top: 1em; }

@media print, screen and (max-width: 767px) { .p-shareLogo__read { letter-spacing: .1em; margin-right: 3%; margin-left: 3%; } }

.p-shareLogo__ck { margin: 2em 0; }

@media print, screen and (max-width: 767px) { .p-shareLogo__ck { font-size: 1.1em; } }

.p-shareLogo__ck input { vertical-align: middle; margin-right: 1em; }

.p-shareLogo__ck span { display: block; font-size: .9em; font-weight: normal; letter-spacing: .1em; }

.p-shareLogo__dl { max-width: 500px; margin: 0 auto; }

@media print, screen and (max-width: 767px) { .p-shareLogo__dl { max-width: 80%; }
  .p-shareLogo__dl .c-btn1 { line-height: 1.6; text-align: left; padding: .8em 5% .8em 4em; } }

#popup_rule .popup { width: 80%; }

.p-rule { background-color: #fff; text-align: left; padding: 10%; font-weight: normal; }

.p-rule h3:before { content: '■'; }

.p-rule ul { margin-left: 1em; }

.p-rule ul li { margin-top: 2em; text-indent: -1em; }

.p-rule ul li:before { content: '○'; }

.p-rule ul li li { margin-top: 0; }

.p-rule ul li li:before { content: '●'; }

.p-rule p { margin-top: 2em; }

.p-hash { background-image: url("../img/bg_04.png"); background-size: cover; background-position: 50% 90%; }

@media print, screen and (max-width: 767px) { .p-hash { padding: 44vw 0 30vw; } }

.p-hash .c-title1 { letter-spacing: 0.3em; margin-bottom: 8rem; line-height: 1.7; }

.p-hash .p-section__inner { max-width: 800px; margin: 0 auto; position: relative; z-index: 0; }

.p-hash .p-section__inner:before { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: cover; position: absolute; }

.p-hash .p-section__inner:before { background-image: url("../img/img_ring.svg"); width: 200px; height: 200px; top: -200px; right: -180px; }

@media print, screen and (max-width: 767px) { .p-hash .p-section__inner:before { width: 30vw; height: 30vw; top: -38vw; right: 10vw; } }

.p-foot__logo { max-width: 120px; margin: 0 auto; }

.p-navSP { display: none; }

@media print, screen and (max-width: 767px) { .p-navSP { display: block; width: 100%; z-index: 999; position: fixed; top: 0; }
  .p-navSP.is-open { height: 100vh; background-color: rgba(0, 0, 0, 0.7); } }

.p-navSP__btn { position: absolute; right: 0; top: 1em; width: 16vw; height: 16vw; box-sizing: border-box; overflow: hidden; display: block; border: none; outline: none; -webkit-transition-property: left, background-color; transition-property: left, background-color; -webkit-transition-duration: .3s; transition-duration: .3s; -webkit-transition-timing-function: ease; transition-timing-function: ease; z-index: 101; background-color: rgba(0, 171, 255, 0.6); border-radius: 1em 0 0 1em; }

.p-navSP__btn img { width: 4rem; }

.p-navSP__btn i { width: 100%; display: block; }

.p-navSP__btn span { font-size: 0; position: absolute; bottom: 2vw; width: 51%; left: 25%; }

.p-navSP__btn:before, .p-navSP__btn i:before, .p-navSP__btn i:after { content: ''; display: block; position: absolute; width: 54%; left: 26%; height: 0.76vw; background-color: #fff; -webkit-transition-property: all; transition-property: all; -webkit-transition-duration: .3s; transition-duration: .3s; -webkit-transition-timing-function: ease; transition-timing-function: ease; }

.p-navSP__btn:before { top: 5.3vw; }

.p-navSP__btn i:before { top: 8vw; }

.p-navSP__btn i:after { top: 10.7vw; }

.is-open .p-navSP__btn { -webkit-transition-property: left; transition-property: left; background-color: transparent; }

.is-open .p-navSP__btn span { display: none; }

.is-open .p-navSP__btn:before, .is-open .p-navSP__btn i:before, .is-open .p-navSP__btn i:after { width: 90%; left: 0; }

.is-open .p-navSP__btn:before { top: 3vw; -webkit-transform: translateY(2.3vw) rotate(-45deg); transform: translateY(2.3vw) rotate(-45deg); }

.is-open .p-navSP__btn i:before { opacity: 0; }

.is-open .p-navSP__btn i:after { top: 7.2vw; -webkit-transform: translateY(-2vw) rotate(45deg); transform: translateY(-2vw) rotate(45deg); }

.p-navSP__list { background-color: #00ABFF; position: absolute; left: 0; top: -100vh; width: 100vw; overflow-y: scroll; overflow-x: hidden; -webkit-transition-property: top; transition-property: top; -webkit-transition-duration: .4s; transition-duration: .4s; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; padding-top: 12vw; }

.is-open .p-navSP__list { top: 0; }

.p-navSP__item { text-align: left; background-color: #00ABFF; font-size: 4vw; letter-spacing: .05em; width: 100%; box-sizing: border-box; border-bottom: solid 1px #fff; margin: 0; }

.p-navSP__item a { padding: 3vw 1vw 3.2vw 2.8vw; display: block; color: #fff; font-weight: bold; }

.p-navSP__item > ul { font-size: .9em; border-top: dotted 2px #fff; padding-left: 7vw; }

@media print, screen and (min-width: 768px) { .p-navSP__item > ul { padding-left: 3em; } }

.p-navSP__item > ul li + li { border-top: dotted 2px #fff; }

.p-navSP__item > ul li a { padding-left: 0; }

.p-navSP__item a { position: relative; text-align: center; }

/*==================================================== Object:Utility ====================================================*/
.u-fll { float: left; }

.u-fll img { margin: 0 10px 10px 0; }

.u-flr { float: right; }

.u-flr img { margin: 0 0 10px 10px; }

.u-tac { text-align: center; }

.u-tar { text-align: right; }

.u-tal { text-align: left; }

.u-tb { font-weight: bold; }

.u-ti { text-indent: 1em; }

.u-ttu { text-transform: uppercase; }

.u-mt0 { margin-top: 0rem; }

.u-mb0 { margin-bottom: 0rem; }

.u-pt0 { padding-top: 0rem; }

.u-pb0 { padding-bottom: 0rem; }

.u-mt5 { margin-top: 0.5rem; }

.u-mb5 { margin-bottom: 0.5rem; }

.u-pt5 { padding-top: 0.5rem; }

.u-pb5 { padding-bottom: 0.5rem; }

.u-mt10 { margin-top: 1rem; }

.u-mb10 { margin-bottom: 1rem; }

.u-pt10 { padding-top: 1rem; }

.u-pb10 { padding-bottom: 1rem; }

.u-mt15 { margin-top: 1.5rem; }

.u-mb15 { margin-bottom: 1.5rem; }

.u-pt15 { padding-top: 1.5rem; }

.u-pb15 { padding-bottom: 1.5rem; }

.u-mt20 { margin-top: 2rem; }

.u-mb20 { margin-bottom: 2rem; }

.u-pt20 { padding-top: 2rem; }

.u-pb20 { padding-bottom: 2rem; }

.u-mt25 { margin-top: 2.5rem; }

.u-mb25 { margin-bottom: 2.5rem; }

.u-pt25 { padding-top: 2.5rem; }

.u-pb25 { padding-bottom: 2.5rem; }

.u-mt30 { margin-top: 3rem; }

.u-mb30 { margin-bottom: 3rem; }

.u-pt30 { padding-top: 3rem; }

.u-pb30 { padding-bottom: 3rem; }

.u-mt35 { margin-top: 3.5rem; }

.u-mb35 { margin-bottom: 3.5rem; }

.u-pt35 { padding-top: 3.5rem; }

.u-pb35 { padding-bottom: 3.5rem; }

.u-mt40 { margin-top: 4rem; }

.u-mb40 { margin-bottom: 4rem; }

.u-pt40 { padding-top: 4rem; }

.u-pb40 { padding-bottom: 4rem; }

.u-mt45 { margin-top: 4.5rem; }

.u-mb45 { margin-bottom: 4.5rem; }

.u-pt45 { padding-top: 4.5rem; }

.u-pb45 { padding-bottom: 4.5rem; }

.u-mt50 { margin-top: 5rem; }

.u-mb50 { margin-bottom: 5rem; }

.u-pt50 { padding-top: 5rem; }

.u-pb50 { padding-bottom: 5rem; }

.u-mt55 { margin-top: 5.5rem; }

.u-mb55 { margin-bottom: 5.5rem; }

.u-pt55 { padding-top: 5.5rem; }

.u-pb55 { padding-bottom: 5.5rem; }

.u-mt60 { margin-top: 6rem; }

.u-mb60 { margin-bottom: 6rem; }

.u-pt60 { padding-top: 6rem; }

.u-pb60 { padding-bottom: 6rem; }

.u-w10 { width: 10%; }

.u-w20 { width: 20%; }

.u-w30 { width: 30%; }

.u-w40 { width: 40%; }

.u-w50 { width: 50%; }

.u-w60 { width: 60%; }

.u-w70 { width: 70%; }

.u-w80 { width: 80%; }

.u-w90 { width: 90%; }

.u-w100 { width: 100%; }

.u-bdrsAll { border-radius: 50%; }

.u-bdrs5 { border-radius: 5px; }

.u-bdrs10 { border-radius: 10px; }

.u-bdrs20 { border-radius: 20px; }

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

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

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

@media print, screen and (min-width: 768px) { .u-sp { display: none !important; } }

.u-dn { display: none !important; }

.u-inline { display: inline !important; }
