@charset "UTF-8";

/*---------- ページ全体の指定 ----------*/

body {
margin:0;
padding:0;
font-size:100%;
color: #0f021a;
font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

a:link {color:#37859a;text-decoration:underline;}
a:visited {color:#37859a;text-decoration:underline;}
a:hover {color:#139eb1;text-decoration:none;}
a img {border-style:none;}
a:hover img{
opacity:0.6;
filter:alpha(opacity=60);
}
a{
-webkit-transition:0.3s ease-in-out;
-moz-transition:0.3s ease-in-out;
-o-transition:0.3s ease-in-out;
transition:0.3s ease-in-out;
}
a img {
border-style:none;
-webkit-transition:all .3s;
transition:all .3s;
}
img {vertical-align:bottom;}

p {
font-size:100%;
line-height:160%;
}
@media screen and (min-width:769px) {
p {
font-size:18px;
line-height:180%;
letter-spacing:1px;
}
}

@media screen and (max-width:768px){.spnone{display:none;}}
@media screen and (min-width:769px){.pcnone{display:none;}}

h1{padding:15px 0 30px 0;
   background-image:url(img/back.jpg);
   background-position:center center;
   background-size:cover;}
h2{}
h3{}
h4{}


h1{
margin:0;
padding:24px 15px 24px 15px;
text-align:center;
}
h1 img {width:100%;}

/* スクリーンサイズが768px以上の場合に適用 */
@media screen and (min-width:769px) {
h1{padding:48px 0 56px 0;
background-image:url(img/back.jpg);
background-position:center center;
background-size:cover;
}
h1 img {width:720px;}
}

.device_top{
margin:0;
padding:15px 0;
font-size:140%;
font-weight:bold;
line-height:150%;
text-align:center;
color:#fff;
background:#4c1275;
}
.device_bg{
margin:0;
padding:24px 20px 24px 20px;
text-align:center;
background:#19042a;
}
.device_title{margin:0;padding:0 0 20px 0;}
.device_title img{width:95%;}
.device_subtitle{ font-size: 140%; font-weight: bold; color:#fff;padding:20px 0 20px 0;}
.device{margin:0;padding:0;}
.device a:link {color:#fff;text-decoration:none;}
.device a:visited {color:#fff;text-decoration:none;}
.device a:hover {color:#fff;text-decoration:none;}
.btn {
width:100%;
margin:0 auto;
padding:0;

}
.btn:hover {
-webkit-transition:0.3s ease-in-out;
-moz-transition:0.3s ease-in-out;
-o-transition:0.3s ease-in-out;
transition:0.3s ease-in-out;
}
.fade-in-bottom {
opacity: 0;
animation-name: fadein-bottom;
animation-duration:1.2s;
animation-timing-function: ease;
animation-iteration-count: infinite;
animation-direction:alternate;
}
@keyframes fadein-bottom {
   0% {
      opacity:0.2;
      transform: translateY(0px);
   }
   100% {
      opacity: 1;
      transform: translateY(0);
   }
}
.device_caption{
margin: 20px auto 0;
padding:0;
font-size:75%;
line-height:180%;
color:#fff;
text-align:center;
}

/* 特典 */
.feature_bg{
   margin:0 0 30px 0;
   padding:10px 0 45px 0;
   background:#AB84BA;
   }
   .feature_top{
   margin:30px 0 15px 0;
   padding:0;
   font-size:150%;
   font-weight:900;
   line-height:150%;
   text-align:center;
   font-family: "Noto Serif JP";
   }
   .feature_top2{
      margin:30px 0 15px 0;
      padding:0;
      font-size:150%;
      font-weight:900;
      line-height:150%;
      text-align:center;
      color: #fff;
      font-family: "Noto Serif JP";
      }
   .feature_contents{
   margin:0 20px;
   padding:10px 30px 10px 30px;
   background:#fff;
   }
   .feature_number{
   margin:0;
   padding:30px 0 15px 0;
   font-size:100%;
   font-weight:bold;
   line-height:100%;
   text-align:center;
   }
   .feature_number span{
   padding:5px 15px;
   color:#531686;
   border:solid 1px #531686;
   }
   .feature{
   margin:0;
   padding:0;
   font-size:130%;
   font-weight:900;
   line-height:150%;
   text-align:center;
   font-family: "Noto Serif JP";
   }
   .feature_pict{
   margin:15px 0 25px 0;
   padding:0;
   }
   .feature_pict img{width:100%;}
   /* 特典ここまで */



   .video{
   margin:0;
   padding:0;
   position:relative;
   width:100%;
   padding-top:56.25%;
   }

   
.movie{
margin:0;
padding-top: 25px;
}
.video{
margin:0;
padding:0;
position:relative;
width:100%;
padding-top:56.25%;
}
.video iframe{
position:absolute;
top:0;
right:0;
width:100%;
height:100%;
}
.end_view{
margin:0 15px 20px 15px;
padding:0;
text-align:center;
}
.end_view img{width:100%;}
@media screen and (min-width:769px) {
.device_top{padding:15px 0;font-size:28px;}
.device_bg{margin:0 auto;padding:45px 0;}
.device_title{padding:0 0 20px 0;}
.device_title img{width:640px;}
.btn {width:600px;padding:0px 0;font-size:36px;letter-spacing:1px;}
.device_caption{width:450px;margin: 20px auto 0 auto;font-size:12px;letter-spacing:1px;}
.movie{width:768px;margin:25px auto 45px auto;}
.end_view{margin:0 auto 30px auto;}
.end_view img{width:640px;}
}



.subtitle_top{
margin:45px 0 0 0;
padding:0;
font-size:150%;
font-weight:900;
line-height:150%;
text-align:center;
font-family: "Noto Serif JP";
}
.subtitle{
margin:0;
padding:0;
font-size:160%;
font-weight:900;
line-height:150%;
text-align:center;
font-family: "Noto Serif JP";
}
hr {
width:30px;
margin:15px auto 30px auto;
padding:0;
height:0;
border:0;
border-top:6px solid #622ab6;
}
.subeng{
margin:15px 0 25px 0;
padding:0;
font-size:140%;
font-weight:bold;
line-height:150%;
text-align:center;
color:#0a9bde;
opacity:0.3;
font-family: 'Caveat', cursive;
}
.contents_intro{
margin:0 20px;
padding:0;
}
.intro_pict{margin:15px 0;padding:0;}
.intro_pict img{width:100%;}
.intro_txt{margin:0;padding:0;}
.intro_bottom{
margin:20px 20px 60px 20px;
padding:0;
}
.contents{
margin:0 20px 60px 20px;
padding:0;
}
.stop{
margin:0 0 30px 0;
padding:0;
}
.stop img{width:100%;}
.point_number{
margin:0;
padding:20px 0 10px 0;
font-size:100%;
font-weight:bold;
line-height:100%;
color:#531686;
text-align:center;
font-family: Arial, Helvetica, "sans-serif";
}
.point_number span{
padding:2px 10px;
border:solid 2px #531686;
}
.point_txt{
margin:0;
padding:0;
font-size:140%;
font-weight:900;
line-height:150%;
text-align:center;
color:#531686;
font-family: "Noto Serif JP";
}
.bg_sky{
margin:0 0 60px 0;
padding:60px 0 1px 0;
background:#e6fafc;
}
@media screen and (min-width:769px) {
.subtitle_top{margin:90px 0 0 0;font-size:42px;}
.subtitle{font-size:42px;}
hr {width:45px;margin:25px auto 60px auto;}
.contents_intro{
width:980px;
margin:0 auto;
padding:0;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:-o-flex;
display:flex;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
justify-content:space-between;
}
.intro_pict{width:48%;margin:0;order:2;}
.intro_txt{width:48%;order:1;}
.intro_bottom{margin:30px 0 90px 0;text-align:center;}
.contents{width:768px;margin:0 auto 90px auto;}
.stop{width:768px;margin:0 auto 45px auto;}
.ex{margin:45px 0 0 0;font-size:28px;letter-spacing:1px;}
.step_box{
margin:30px 0 0 0;
padding:0;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:-o-flex;
display:flex;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
justify-content:space-between;
}
.step_txt{width:75%;}
.step_number{font-size:36px;text-align:left;}
.step_pict{width:20%;padding:0;}
.step_pict img{width:100%;}
.point_number{padding:10px 0 15px 0;font-size:18px;color:#531686;}
.point_txt{font-size:30px;letter-spacing:1px;}
.bg_sky{margin:0 0 90px 0;padding:90px 0 1px 0;}
}


table.check{
width:100%;
border-collapse:collapse;
margin:0;
}
table.check th{
width:25px;
font-size:110%;
line-height:150%;
padding:10px 0 5px 0;
color:#4c1275;
vertical-align:top;
text-align:left;
}
table.check td{
font-size:110%;
line-height:150%;
font-weight:bold;
padding:10px 0 5px 0;
border-bottom:dotted 1px #999;
vertical-align:top;
}
table.ng{
width:100%;
border-collapse:collapse;
margin:0;
}
table.ng th{
width:25px;
font-size:110%;
line-height:150%;
padding:10px 0 5px 0;
color:#b02930;
vertical-align:top;
text-align:left;
}
table.ng td{
font-size:110%;
line-height:150%;
font-weight:bold;
padding:10px 0 5px 0;
border-bottom:dotted 1px #999;
vertical-align:top;
}
@media screen and (min-width:769px) {
table.check{margin:0 0 30px 0;}
table.check th{width:30px;font-size:20px;}
table.check td{font-size:20px;letter-spacing:1px;}
table.ng{margin:0 0 30px 0;}
table.ng th{width:30px;font-size:20px;}
table.ng td{font-size:20px;letter-spacing:1px;}
}

.prf_degree{
margin:0;
padding:0;
font-size:100%;
font-weight:bold;
line-height:150%;
text-align:center;
color:#531686;
}
.prf_name{
margin:0;
padding:0;
font-size:140%;
font-weight:bold;
line-height:150%;
text-align:center;
color:#531686;
}
.prf_pict{
margin:0;
padding:10px 0;
text-align:center;
}
.prf_pict img{
width:60%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
border-radius:50%;
box-shadow: 0 0 5px rgba(17,55,103,0.2);
}
.prf_sub{
margin:30px 0 0 0;
padding:0 0 5px 0;
font-size:125%;
font-weight:bold;
line-height:150%;
border-bottom:2px solid #7732DB;
}
@media screen and (min-width:769px) {
.prf_pict img{width:300px;}
.prf_degree{font-size:18px;letter-spacing:1px;}
.prf_name{font-size:28px;letter-spacing:1px;}
.prf_sub{margin:45px 0 0 0;font-size:28px;}
}


.voice{
margin:0 0 30px 0;
padding:25px 25px 5px 25px;
-webkit-box-sizing:border-box;
box-sizing:border-box;
background-color:#fff;
box-shadow: 0 0 10px rgba(17,55,103,0.2);
}
.voice_title{
margin:0 0 10px 0;
padding:0 0 5px 0;
font-size:140%;
font-weight:bold;
line-height:150%;
text-align:center;
border-bottom:2px solid #4c1275;
}
.voice_name{
margin:0;
padding:0 0 15px 0;
font-size:100%;
font-weight:bold;
line-height:150%;
text-align:center;
}
.voice_pict{
margin:0 auto;
padding:0;
text-align:center;
}
.voice_pict img{width:45%;}
@media screen and (min-width:769px) {
.voice{margin:0 0 45px 0;padding:30px 60px 25px 60px;}
.voice_title{font-size:28px;}
.voice_degree{font-size:16px;letter-spacing:1px;}
.voice_name{font-size:18px;letter-spacing:1px;}
.voice_pict img{width:200px;}
.feature_bg{margin:0 0 60px 0;padding:15px 0 90px 0;}
.feature_top{margin:45px 0 30px 0;font-size:48px;letter-spacing:1px;}
.feature_top2{margin:45px 0 30px 0;font-size:48px;letter-spacing:1px;}
.feature_contents{
width: 640px;
margin:0 auto;
padding:30px 150px 45px 150px;
}
.feature_number{font-size:18px;letter-spacing:1px;}
.feature{font-size:30px;letter-spacing:1px;}
}



#subpage{
margin:0;
padding:30px 20px;
}
#subpage p{font-size:80%;}
.page_title{
margin:0 0 30px 0;
padding:0;
font-size:120%;
line-height:150%;
text-align:center;
}
table.info{
width:100%;
border-collapse:separate;
margin:0 0 20px 0;
}
table.info th{
padding:20px 0 5px 0;
font-size:80%;
line-height:150%;
text-align:left;
border-bottom:solid 1px #666;
display:block;
}
table.info td{
padding:10px 0 0 0;
font-size:80%;
line-height:150%;
display:block;
}
@media screen and (min-width:769px){
#subpage{
width:768px;
margin:0 auto;
padding:75px 0 90px 0;
}
#subpage p{font-size:14px;}
.page_title{
margin:0 0 60px 0;
font-size:24px;
letter-spacing:1px;
}
table.info{margin:20px 0;}
table.info th{
width:180px;
padding:10px 0;
font-size:14px;
letter-spacing:1px;
display:table-cell;
}
table.info td{
padding:10px;
font-size:14px;
letter-spacing:1px;
border-bottom:dotted 1px #ccc;
display:table-cell;
}
}


/*---------- 文字装飾 ----------*/

.mt{margin-top:30px;}
@media screen and (min-width:769px){.mt{margin-top:45px;}}
.large{font-size: 130%;}
@media screen and (min-width:769px){.large{font-size: 180%;}}
.bold{font-weight:bold;}
.ul{text-decoration:underline;}
.red {font-weight:bold;color:#cd4141;}
.through{text-decoration:line-through;}
.ym{font-weight:bold;background:linear-gradient(transparent 60%, #ffe24d 60%);}
.caption{font-size:75%;color:#666666;font-weight:normal;line-height:150%;}
.green{font-weight:bold;color:#2A8630;}

/*---------- 文字位置 ----------*/

.center{text-align:center;}
.right{text-align:right;}


/*---------- フッター ----------*/


#footer{
margin:0;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
line-height:200%;
text-align:center;
padding:25px 0;
color:#fff;
background-color:#000;
}
#footer a:link {color:#fff;text-decoration:none;}
#footer a:visited {color:#fff;text-decoration:none;}
#footer a:hover {color:#fff;text-decoration:underline;}
