@charset "UTF-8";
/*reset*/
html, body, div, object, iframe, h1, h2, h3, h4, h5, h6, p, article, footer, header, menu, nav, section, video, picture { width: 100%; margin: 0; padding: 0; border: 0; outline: 0; vertical-align: baseline; background: transparent; box-sizing: border-box; display: block; }

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

.wrap img { display: block; vertical-align: bottom; font-size: 0; line-height: 0; width: 100%; height: auto; border: 0; }

/*base*/
html { -webkit-overflow-scrolling: touch; }

/*Base*/
div#container{
    padding: 0px !important;
}
/* CSS Document */

.offer-text{
    position: absolute;
    width: 700px;
    display: block;
    top: 59%;
    left: 6.4%;
    font-size: 17pt;
    line-height: 1.2;
}
@media screen and (max-width: 800px) {
.offer-text{
    position: absolute;
    width: 87%;
    display: block;
    top: 59%;
    left: 6.4%;
    font-size: 2.8vw;
    line-height: 1.2;
}
}

/*0307追加*/

.fvA { z-index: 2; }

.fv_video{ position: absolute; width: 100%; top: 0%;}

.fvA__obj--01 { width: 81.125%; top: 6.6%; right: -9%; z-index: -1; }

.fvA__obj--02 {z-index: 2; width: 67.5%; top: 29.5%; right: -1.5%;}

.fvA__video { top: 78.6%; left: 0; right: 0; margin: 0 auto; width: 92.3%; }

.fvB__obj { width: 96.5%; top: 1.9%; left: 0.2%; }

.fvB__video { top: 77.5%; left: 0; right: 0; margin: 0 auto; width: 92.3%; }

/*0216追加*/




/*0112 追加*/
.youtube_02 {
    top: 23.7%;
    width: 85%;
    left: 0;
    right: 0;
    margin: 0 auto;
    height: 22.3%;
}


/*1227 追加*/
.scroll-box_title ul{
    height: 30px;
    min-height: 30px;
    width: 700px;
    border: 1px solid #ccc;
    padding: 4px 0px 15px;
    font-size: 26px;
    line-height: 1.7;
    margin: 0 auto;
    position: relative;
    top: -470px;
    background-color: #999;
    color: #fff;
    display: flex;
    justify-content: space-around;
    z-index: 100;
    font-weight: 600;
    font-family: serif;
}
.tiele_nomber{position: relative; left: -20px;}
.tiele_title{position: relative; left: -144px;}
.tiele_date{position: relative; left: -34px;}

#scroll-box {
    height: 380px;
    width: 700px;
    overflow: hidden;
    overflow-y: scroll;
    border: 1px solid #ccc;
    padding: 35px;
    font-size: 24px;
    line-height: 1.7;
    margin: 0 auto;
    z-index: 1000000000;
    position: relative;
    top: -470px;
    background-color: #fff;
    display: flex;
    justify-content: space-around;
    font-weight: 600;
    font-family: serif;
    margin-bottom: -440px;
}
#scroll-box ul .nomber_flex{}
#scroll-box ul .title_flex{    padding-left: 30px;}
#scroll-box ul .date_flex{}
#scroll-box ul li{border-bottom: 1px dotted #ccc;}

@media screen and (max-width: 800px) {
    .scroll-box_title ul {
    height: 6vw;
    min-height: 6vw;
    width: 90%;
    border: 1px solid #ccc;
    padding: 0.4vw 0px 1.5vw;
    font-size: 0.8rem;
    line-height: 1.7;
    margin: 0 auto;
    position: relative;
    top: -59vw;
    background-color: #999;
    color: #fff;
    display: flex;
    justify-content: space-around;
    z-index: 100;
    font-weight: 600;
    font-family: serif;
}
    .tiele_nomber {
    position: relative;
    left: -3.5vw;
}
    .tiele_title {
    position: relative;
    left: -18vw;
}
    .tiele_date {
    position: relative;
    left: -3vw;
}
    #scroll-box {
    height: 50vw;
    width: 90%;
    overflow: hidden;
    overflow-y: scroll;
    border: 1px solid #ccc;
    padding: 3vw;
    font-size: 0.8rem;
    line-height: 1.7;
    margin: 0 auto;
    z-index: 1000000000;
    position: relative;
    top: -59vw;
    background-color: #fff;
    display: flex;
    justify-content: space-around;
    font-weight: 600;
    font-family: serif;
    margin-bottom: -56vw;
}
}

/*12/28追加*/
.cta_float{
    width: 320px;
    height: auto;
    position: relative;
    top: 300px;
    left: 460px;
    margin-bottom: -250px;
}
.float_area{
    margin-bottom: -590px;
}
.cta_float_01{
    z-index: 1000;
    width: 370px;
    height: 100%;
    position: relative;
    top: 1500px;
}
.cta_float_02{
    z-index: 1000;
    width: 380px;
    height: 100%;
    position: relative;
    top: 1225px;
    left: 420px;
}
@media screen and (max-width: 800px) {

.float_area{
    margin-bottom: -72vw;
}
    .cta_float_01 {
    z-index: 1000;
    width: 45%;
    height: 100%;
    position: relative;
    top: 187vw;
}
    .cta_float_02 {
    z-index: 1000;
    width: 45%;
    height: 100%;
    position: relative;
    top: 153vw;
    left: 55vw;
}
}
/*base*/
html { -webkit-overflow-scrolling: touch; }

/*Base*/
div#container{
    padding: 0px !important;
}
/* CSS Document */
.tv_area { overflow: hidden; position: relative; width: 613px; height: 403px; min-height: 403px; top: -1790px; left: 88px; margin-bottom: -404px; z-index: 100;}

.tv_area img,.tv_area source {display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}

@media screen and (max-width: 800px) { .tv_area { overflow: hidden; position: relative; width: 77vw; height: 50vw; min-height: 50vw; top: -223.6vw; left: 10.6vw; margin-bottom: -50vw; z-index: 100; } }


.wrap { max-width: 800px; width: 100%; background: #fff; margin: 0 auto; overflow: hidden; }

.wrapInner { width: 100%; margin: 0 auto; }

.wrapInner input { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; border: 1px solid transparent; transition: border 0.2s ease-out; }

.wrapInner input::-webkit-search-decoration { display: none; }

.wrapInner input:focus { outline-offset: -2px; }

.wrapInner input[type="image"] { -webkit-appearance: none; }

.ctaArea01__btn { width: 100%; top: 68.4%; left: 1.7%; }

.ctaArea02__btn { width: 100%; top: 56.5%; left: 1.7%; }

.ctaArea03__btn { width: 100%; top: 54.5%; left: 0; }

.ctaArea04__btn {position: relative; width: 100%; top: -101.5%; left: 0; }

.ctaArea05__btn { width: 97%; top: 81.5%; left: -1%; }

.ctaArea06__btn {position: relative; width: 100%; top: -99.5%; left: 0; }

.cta_box{height: 35vw;}

.overlayArea { position: relative; z-index: 1;}

.overlayItem { position: absolute; }

.youtube { top: 35%; width: 94%; left: 0; right: 0; margin: 0 auto; height: 420px; }

@media screen and (max-width: 800px) { .youtube { height: 52.5vw; } }

@media screen and (max-width: 800px) {.ctaArea04__btn {    height: 70vw;
    display: block;
    position: relative;
    bottom: -35vw;
    margin-top: -69vw;
    padding-bottom: 5vw; }

    .ctaArea06__btn {    height: 70vw;
    display: block;
    position: relative;
    bottom: -35vw;
    margin-top: -69vw;
    padding-bottom: 5vw;}}

@media screen and (max-width: 800px) { .accordion__item { border-radius: 1.25vw; } }

.accordion { background-color: #0c171c; padding-bottom: 7.6%; }

.accordion_01 { padding-bottom: 0; position: relative; background-color: #e5dcc4; margin-bottom: -60px;}

.accordion .accordion__item { width: 90%; margin: 0 auto 7%; overflow: hidden; border-radius: 10px; }

.accordion_01 .accordion__item { width: 90%; margin: 0 auto 7%; overflow: hidden; border-radius: 10px; position: relative; bottom: 60px;}

@media screen and (max-width: 800px) {.accordion_01 .accordion__item { width: 90%; margin: 0 auto 7%; overflow: hidden; border-radius: 10px; position: relative; bottom: 8vw;}
.accordion_01 { padding-bottom: 0; position: relative; background-color: #e5dcc4; margin-bottom: -7vw;}}

/* チェックボックスを非表示にする */
.accordion-hidden { display: none; }

/* Question部分 */
.accordion-open { display: block; cursor: pointer; position: relative; }

.icon { position: absolute; max-width: 45px; max-height: 45px; width: 5.625vw; height: 5.625vw; border-radius: 50%; background-color: #fff; top: 0; bottom: 0; right: 5.9%; margin: auto 0; }

/* Answer部分は最初は表示しない */
.accordion .accordion-close { display: block; height: 0; overflow: hidden; padding: 0; opacity: 0; transition: all 0.5s; /* 表示速度の設定 */ }
.accordion_01 .accordion-close { display: block; height: 0; overflow: hidden; padding: 0; opacity: 0; transition: all 0.5s;}

/* チェックボックスにチェックが入ったらAnswer部分を表示 */
.accordion-hidden:checked + .accordion-open + .accordion-close { height: auto; opacity: 1; }

.accordion .accordion-open .icon::before,.accordion .accordion-open .icon::after { content: ''; width: 60%; height: 3px; background: #be9400; position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto; }

.accordion_01 .accordion-open .icon::before,.accordion_01 .accordion-open .icon::after { content: ''; width: 60%; height: 3px; background: #000; position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto; }

@media screen and (max-width: 800px) { .accordion-open .icon::before, .accordion-open .icon::after { height: 0.375vw; } }

.accordion-open .icon::before { transform: rotate(90deg); transition: all .3s; }

.accordion-hidden:checked + .accordion-open .icon::before { transform: rotate(0deg); }
/*# sourceMappingURL=base.css.map */

/*----------------------------------------
Button
----------------------------------------*/

.wrapInner .scale picture{
	animation: scale 1.5s ease-in-out infinite;
}

.wrapInner .scale picture:hover{
	-webkit-transform: scale(0.7);
	transform: scale(0.7);
}

@-webkit-keyframes scale {
	0% {
		-webkit-transform: scale(.9);
		transform: scale(.9);
	}
	50% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	100% {
		-webkit-transform: scale(.9);
		transform: scale(.9);
	}
}
@keyframes scale {
	0% {
		-webkit-transform: scale(.9);
		transform: scale(.9);
	}
	50% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	100% {
		-webkit-transform: scale(.9);
		transform: scale(.9);
	}
}

/*----------------------------------------
modal-window-01
----------------------------------------*/

#ups_button{
    background: none;
    border: none;
    cursor: pointer;
}
.scroll-box{
    width: 700px;
    height: 640px;
    border: 1px solid #000;
    overflow-y: scroll;
    position: relative;
    margin: 0 auto;
    top: -700px;
}
.scroll-box p{
    height: 640px;
    line-height: 1.6;
    font-size: 12pt;
}


.modal-window-01,.modal-window-02 {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 800px;
    min-width: 800px;
    height: 800px;
    min-height: 800px;
    z-index: 1100;
}
.modal-window-01 .btn_base-01,.modal-window-02 .btn_base-02{
    position: relative;
    top: 0%;
    margin: 0 auto;
    width: 100%;
    min-width: 100%;
}
.modal-window-01 .button-close-01,.modal-window-02 .button-close-02{
    width: 40px;
    height: 40px;
    top: 30px;
    right: 30px;
    position: absolute;
    z-index: 100000;
    cursor: pointer;
}
.overlay-01,.overlay-02 {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  z-index: 1000;
}

@media screen and (max-width: 800px) {
.scroll-box{
    width: 80vw;
    height: 80vw;
    border: 1px solid #000;
    overflow-y: scroll;
    position: relative;
    margin: 0 auto;
    top: -86vw;
}
.scroll-box p{
    height: 100%;
    line-height: 1.4;
    font-size: 0.9em;
}

    
.modal-window-01 .btn_base-01,.modal-window-02 .btn_base-02{
    position: relative;
    top: 0%;
    width: 100%;
    min-width: 100%;
}
.modal-window-01 .button-close-01,.modal-window-02 .button-close-02{
    width: 6vw;
    height: 6vw;
    top: 4vw;
    right: 6vw;
    position: absolute;
    z-index: 100000;
}

.modal-window-01,.modal-window-02 {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    min-width: 100%;
    height: 66%;
    min-height: 66%;
    z-index: 1100;
}
.overlay-01,.overlay-02 {
    display: none;
    position: fixed;
    top: -20%;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 150vh;
    z-index: 1000;
}
}


/*----------------------------------------
LoadingArea
----------------------------------------*/
/* Loading Block */
.loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #999;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000000;
}
.spinner {
    width: 20%;
    height: 20%;
    margin: 0 auto;
    position: relative;
    top: 40%;
    border-radius: 100%;
    
}
.spinner img{
    width: 100%;
}
.loading p{
    display: block;
    color: #fff;
    font-size: 2rem;
    text-align: center;
    position: relative;
    top: 30%;
    font-family: sans-serif;
}
.loading-icon {
    display: block;
    width: 1vw;
    height: 1vw;
    position: absolute;
    top: 120%;
    left: 50%;
    border-radius: 50%;
    box-shadow: 0 -3vw 0 #eee,2.1vw -2.1vw 0 #ddd,3vw 0 0 #ccc,2.1vw 2.1vw 0 #bbb,0 3vw 0 #aaa,-2.1vw 2.1vw 0 #999,-3vw 0 0 #666,-2.1vw -2.1vw 0 #000;
    animation: rotate 1s steps(8) 0s infinite;
}
/* Loading Animation */
@keyframes r7 {
  0%   { transform: rotateY(0deg); }
  100% { transform: rotateY(360deg); }
}

.bot_loaded{
    display: none;
    }
@keyframes rotate {
0% {
    transform: rotate(0deg);
}

100% {
    transform: rotate(360deg);
}
}

@media screen and (max-width: 800px) {
.loading {
  width: 100vw;
  height: 100vh;
  background-color: #999;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000000;
}
.spinner {
    width: 40vw;
    margin: 0 auto;
    position: relative;
    top: 35%;
}
.loading p{
    display: block;
    color: #fff;
    font-size: 1rem;
    text-align: center;
    position: relative;
    top: 30%;
    font-family: sans-serif;
}
.loading-icon {
  display: block;
  width: 1.5vw;
  height: 1.5vw;
    position: absolute;
    top: 120%;
    left: 50%;
  border-radius: 50%;
  box-shadow:
0 -9vw 0 #eee,     /*  上  */
    6.1vw -6.1vw 0 #ddd,  /* 右上 */
    9vw 0 0 #ccc,      /*  右  */
    6.1vw 6.1vw 0 #bbb,   /* 右下 */
    0 9vw 0 #aaa,      /*  下  */
    -6.1vw 6.1vw 0 #999,  /* 左下 */
    -9vw 0 0 #666,     /*  左  */
    -6.1vw -6.1vw 0 #000;
  animation: rotate 1s steps(8) 0s infinite;
}
}
.add_content_elm_01 {
  top: 32.4%;
  right: 0;
  width: 27.75%;
  z-index: 2;
}
.add_content_elm_02 {
  top: 78.2%;
  left: 7.4%;
  width: 32%;
  z-index: 2;
}
.add_content_elm_03 {
  width: 39.375%;
  z-index: 2;
  top: 71.6%;
  right: 6.4%;
}
.add_content_elm_04 {
  width: 45.25%;
  top: 31.3%;
  left: -16.8%;
  z-index: 2;
}
.add_content_video_01 {
  top: 49.6%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 88%;
}
.add_content_video_02 {
  top: 43.6%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 88%;
}
