@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Noto+Serif+JP:wght@400;700&display=swap');

/* ------------------------------------------- CSS Information 
 Style Info: ブラウザスタイルのリセット設定
----------------------------------------------------------- */  
html{overflow-y: scroll;} 
body,div,blockquote,pre,h1,h2,h3,h4,h5,h6,dl,dt,dd,ul,ol,li,table,th,td,form,input,textarea,fieldset{margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}   
img,abbr,acronym,fieldset{border:none;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
hr,legend{display:none;}
object,embed{vertical-align:top;} 

/* ------------------------------------------- CSS Information 
 Style Info: 基本設定
----------------------------------------------------------- */
/*A Style*/  
a{text-decoration:underline;color:#ffec47;}
a:visited{text-decoration:none;color:#ffec47;}
a:hover{text-decoration:underline;color:#ffec47;}
a:active{text-decoration:none;color:#ffec47;}
/*font*/  
.b{font-weight:700;}
.ul{text-decoration:underline;}
.bg{background:#ffec47;}
.red{color:#dd4b3e;}
.big{font-size:20px;}@media only screen and (max-width:750px){.big{font-size:16px;}}
.small{font-size:12px;line-height:20px;}@media only screen and (max-width:750px){}
/*img*/
.pc{display:block;}
.sp{display:none;}
.sp320{display:none;}
@media only screen and (max-width:750px){
.pc{display:none;}
.sp{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: HTML/BODY
--------------------------------------- */
html,body{  
font-family:'Noto Sans JP',Sans-Serif;
color:#333333;
font-size:14px;
line-height:0;
text-align:center;
font-weight:400;
letter-spacing:0em;
background:#ffffff;
width:100%;
}

/* ---------------------- CSS Information 
 Style Info: TOPBAR
--------------------------------------- */
#topbar{
width:100%;
margin:0;
padding:5px 0;
font-size:12px;
line-height:20px;
text-align:center;
color:#cccccc;
background:#666666;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
#topbar{padding:4px 0;font-size:10px;line-height:12px;}
}

/* ----------------------- CSS Information 
 Style Info: HEADER
--------------------------------------- */
header{
margin:0;
padding:0;
width:100%;
background:#eeeeee url(../img/header_bg.png) no-repeat center;
background-size:cover;
}
.header_wrapper{
width:100%;
max-width:1200px;
margin:0 auto;
}
.header_img{width:100%;max-width:960px;margin:0 auto 0 0;}
.header01_img{width:100%;max-width:960px;margin:0 auto;}
@media only screen and (max-width:750px){
header{background:none;}
}

/* ----------------------- CSS Information 
 Style Info: TITLE
--------------------------------------- */
.title{
position:relative;
width:100%;
max-width:1260px;
margin:0 auto 60px auto;
padding:0 30px 0 30px;
box-sizing:border-box;
}
.sub_title{
font-family:'Noto Serif JP',serif;
width:100%;
margin:0 auto 0 auto;
padding:9px 0 11px 20px;
font-size:20px;
line-height:30px;
color:#ffffff;
font-weight:700;
letter-spacing:20px;
text-align:center;
background:linear-gradient(to right,#00b096,#0c88d9);
box-sizing:border-box;
}
.main_title{
width:100%;
margin:0 auto 0 auto;
padding:0 0 0 2px;
font-size:40px;
line-height:60px;
color:#000000;
font-weight:700;
letter-spacing:2px;
text-align:center;
box-sizing:border-box;
}
.sub_title + .main_title{margin:30px auto 0 auto;}
.main_title .big{font-size:60px;line-height:100px;}
@media only screen and (max-width:750px){
.title{margin:0 auto 30px auto;padding:0 4% 0 4%;}
.sub_title{
padding:4px 0 6px 10px;
font-size:16px;
line-height:20px;
letter-spacing:10px;
text-align:center;
}
.main_title{
padding:0;
font-size:24px;
line-height:34px;
letter-spacing:0;
}
.sub_title + .main_title{margin:20px auto 0 auto;}
}
@media only screen and (max-width:480px){
.sub_title{font-size:16px;line-height:20px;}
.main_title{font-size:24px;line-height:34px;}
}
@media only screen and (max-width:320px){
.sub_title{font-size:14px;line-height:20px;}
.main_title{font-size:20px;line-height:30px;}
}

/* ----------------------- CSS Information 
 Style Info: SECTION
--------------------------------------- */
.section{
margin:0;
padding:120px 0 120px 0;
width:100%;
position:relative;
box-sizing:border-box;
background:#ffffff;
}
.section_wrapper{
width:100%;
max-width:1260px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
.section{padding:40px 0 40px 0;}
.section_wrapper{padding:0 3.5%;}
}

/* ----------------------- CSS Information 
 Style Info: TEXT
--------------------------------------- */
.text{
font-size:17px;
line-height:32px;
text-align:left;
margin:0;
padding:0;
box-sizing:border-box;
}
.text_center{text-align:center;}
.text_right{text-align:right;}
.text p{margin:0 0 30px 0;padding:0;}
.text p.p_ul{margin:0;}
.text p:last-child{margin:0;}
/* ul */
.text ul{margin:0 0 30px 0;padding:0;list-style:none;}
.text p.p_ul + ul{margin:0;}
.text ul li.disk{position:relative;margin:0;padding:0 0 0 17px;font-weight:700;}
.text ul li.disk:before{
content:"";
position:absolute;
top:10px;
left:0;
width:14px;
height:14px;
border-radius:50%;
background:linear-gradient(to right,#00b096,#0c88d9);
}
@media only screen and (max-width:750px){
.text{font-size:14px;line-height:30px;text-align:justify;}
.text_center{text-align:justify;}
.text_right{text-align:right;}
.text p{margin:0 0 20px 0;padding:0;}
.text p:last-child{margin:0;}
/* ul */
.text ul{margin:0 0 20px 0;}
.text p.p_ul + ul{margin:0;}
.text ul li.disk{padding:0 0 0 14px;}
.text ul li.disk:before{top:10px;width:12px;height:12px;}
/* br */
.text p br{display:none;}
.text p br.all{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: COMPARISON
--------------------------------------- */
#comparison{background:#eff2f5;padding:80px 0 0 0;}
.title_comparison{
width:100%;
max-width:960px;
margin:0 auto 40px auto;
padding:0;
box-sizing:border-box;
}
.title_comparison img{width:100%;max-width:960px;}
@media only screen and (max-width:750px){
#comparison{padding:30px 0 0 0;}
.title_comparison{margin:0 auto 30px auto;}
.title_comparison img{}
}

/* ----------------------- CSS Information 
 Style Info: INCOME
--------------------------------------- */
#income{
width:100%;
max-width:1260px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.title_income{
position:relative;
display:flex;
align-items:center;
justify-content:center;
margin:60px auto 20px auto;
box-szigin:border-box;
}
.title_income:before,.title_income:after{content:"";flex-grow:1;}
.title_income:before{margin:0 10px 0 0;border-top:2px solid #00b096;}
.title_income:after{margin:0 0 0 10px;border-top:2px solid #0c88d9;}
.title_income img{width:390px;height:auto;}
.income_img{
width:100%;
max-width:1200px;
margin:0 auto;
}
.arrow{width:100%;max-width:750px;margin:0 auto;}
.arrow img{width:100%;}
@media only screen and (max-width:750px){
#income{padding:0;}
.title_income{margin:30px auto 10px auto;}
.title_income img{width:208px;}
.income_img{}
}

/* ----------------------- CSS Information 
 Style Info: MONITOR
--------------------------------------- */
#monitor{
position:relative;
margin:0;
padding:150px 0;
width:100%;
height:1200px;
box-sizing:border-box;
}
.monitor_wrapper{
position:relative;
width:100%;
max-width:720px;
height:900px;
margin:0 auto;
padding:0;
background:rgba(0,0,0,0.75);
z-index:20;
}
.title_monitor{margin:0 auto 40px auto;width:100%;}
.monitor_wrapper .text{color:#ffffff;}
.monitor_wrapper .text .red{color:#ffec47;}
.bg_monitor{
position:absolute;
top:0;
width:100%;
height:100%;
background-repeat:repeat;
background-position:center top;
background-image:url(../img/bg_monitor01_pc.png);
-webkit-animation:bgroop 30s linear infinite;
animation:bgroop 30s linear infinite;
}
@-webkit-keyframes bgroop{0%{background-position:0 0;}100%{background-position:-1680px 0;}}
@keyframes bgroop{0%{background-position:0 0;}100%{background-position:-1680px 0;}}
@media only screen and (max-width:750px){
#monitor{
padding:50px 0;
height:800px;
box-sizing:border-box;
}
.monitor_wrapper{
margin:0 auto;
padding:0;
max-width:320px;
height:700px;
}
.title_monitor{margin:0 auto 30px auto;}
.monitor_wrapper .text{margin:0 15px 0 15px;color:#ffffff;}
.bg_monitor{
background-image:url(../img/bg_monitor01_sp.png);
background-size:auto 100%;
}
@-webkit-keyframes bgroop{0%{background-position:0 0;}100%{background-position:-800px 0;}}
@keyframes bgroop{0%{background-position:0 0;}100%{background-position:-800px 0;}}
}

/* ----------------------- CSS Information 
 Style Info: STEP
--------------------------------------- */
#step{
padding:120px 0 0 0;
background:#ffffff;
}
.title_step{
width:100%;
max-width:1060px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.title_step img{width:100%;max-width:1000px;}
.step_img{
width:100%;
max-width:1060px;
margin:30px auto 0 auto;
padding:0 30px;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
#step{padding:40px 0 0 0;}
.title_step{padding:0;}
.title_step img{}
.step_img{padding:0;}
}

/* ----------------------- CSS Information 
 Style Info: DATE
--------------------------------------- */
#date{
margin:0;
padding:80px 0 80px 0;
background:#dde6ea url(../img/bg_date.png) repeat center top;
}
.date_wrapper{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row;flex-direction:row;
width:100%;
max-width:1060px;
margin:0 auto 60px auto;
padding:0 30px;
box-sizing:border-box;
}
#date .date_wrapper:last-child{margin:0 auto 0 auto;}
.date_box{display:block;width:50%;box-sizing:border-box;}
.date_text{
position:relative;
display:block;
width:320px;
margin:0 auto 20px auto;
padding:10px 0 12px 0;
font-size:19px;
line-height:28px;
font-weight:700;
background:#ffffff;
box-sizing:border-box;
}
.date_text:after{
content:"";
position:absolute;
top:100%;
left:50%;
margin-left:-10px;
border:10px solid transparent;
border-top:10px solid #ffffff;
}
.graph_img{display:block;width:260px;margin:0 auto;}
@media only screen and (max-width:750px){
#date{padding:40px 0 40px 0;}
.date_wrapper{
-ms-flex-direction:column;flex-direction:column;
margin:0 auto 0 auto;
padding:0 4%;
}
#date .date_wrapper:last-child{margin:0 auto 0 auto;}
.date_box{width:100%;margin:0 0 30px 0;}
.date_text{
width:100%;
margin:0 auto 20px auto;
padding:10px 0 12px 0;
font-size:16px;
line-height:24px;
}
.date_text:after{}
.graph_img{display:block;width:240px;margin:0 auto;}
}

/* ----------------------- CSS Information 
 Style Info: CAUTION
--------------------------------------- */
#caution{
margin:0;
padding:60px 0 0 0;
background:#000000 url(../img/section07_bg_pc.png) no-repeat center;background-size:cover;;
}
.title_caution{
width:100%;
max-width:960px;
margin:0 auto;
padding:0 0 60px 0;
box-szigin:border-box;
}
.title_caution img{width:100%;max-width:960px;}
#caution .text{text-align:center;color:#dddddd;}
ul.list_caution{margin:0 0 30px 0;}
ul.list_caution li{
position:relative;
display:inline-block;
margin:0 0 10px 0;
padding:0 0 0 30px;
list-style:none;
font-weight:bold;
text-align:center;
box-sizing:border-box;
}
ul.list_caution li:before{
content:"";
display:block;
position:absolute;
top:6px;
left:0;
width:20px;
height:20px;
background:#ffec47;
box-sizing:border-box;
}
ul.list_caution li:after{
content:"";
display:block;
position:absolute;
top:6px;
left:5px;
width:6px;
height:12px;
transform:rotate(40deg);
border-bottom:3px solid #000000;
border-right:3px solid #000000;
}
@media only screen and (max-width:750px){
#caution{
padding:40px 0 0 0;
background:#000000 url(../img/section07_bg_sp.png) no-repeat center;background-size:cover;
}
.title_caution{padding:0 0 40px 0;}
.title_caution img{}
#caution .text{text-align:justify;}
ul.list_caution{margin:0 0 10px 0;}
ul.list_caution li{
margin:0 0 10px 0;
padding:0 0 0 20px;
text-align:justify;
}
ul.list_caution li:before{
content:"";
top:7px;
width:16px;
height:16px;
}
ul.list_caution li:after{
top:7px;
left:4px;
width:5px;
height:10px;
}
}

/* ----------------------- CSS Information 
 Style Info: VOICE
--------------------------------------- */
#voice{
padding:80px 0 20px 0;
background:#dde6ea;
}
.title_voice{
width:100%;
max-width:960px;
margin:0 auto 60px auto;
padding:0;
box-szigin:border-box;
}
.title_voice img{width:100%;max-width:960px;}
.voice_wrapper{
width:100%;
max-width:800px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.voice_box{
position:relative;
display:-ms-flexbox;display:flex;
width:100%;
max-width:740px;
margin:0 auto 30px auto;
box-sizing:border-box;
}
.voice_box:nth-child(odd){-ms-flex-direction:row;flex-direction:row;}
.voice_box:nth-child(even){-ms-flex-direction:row-reverse;flex-direction:row-reverse;}
.user_img{width:100px;margin:0;}
.voice_box:nth-child(odd) .user_img{padding:0 20px 0 0;}
.voice_box:nth-child(even) .user_img{padding:0 0 0 20px;}
.user_img img{width:100%;}
.voice_text{
position:relative;
flex:1;
margin:0;
padding:20px;
font-size:16px;
line-height:30px;
text-align:left;
background:#ffffff;
border-radius:10px;
box-sizing:border-box;
}
.voice_text:after{
content:"";
display:inline-block;
position:absolute;
top:20px; 
border:12px solid transparent;
}
.voice_box:nth-child(odd) .voice_text:after{left:-24px;border-right:12px solid #ffffff;}
.voice_box:nth-child(even) .voice_text:after{right:-24px;border-left:12px solid #ffffff;}
.voice_text strong{font-size:20px;background:linear-gradient(transparent 70%, #ffec47 0%);;}
@media only screen and (max-width:750px){
#voice{padding:40px 0 0 0;}
.title_voice{margin:0 auto 40px auto;}
.title_voice img{width:100%;}
.voice_wrapper{padding:0 4%;}
.voice_box{margin:0 auto 20px auto;}
.voice_box:nth-child(odd){}
.voice_box:nth-child(even){}
.user_img{width:50px;}
.voice_box:nth-child(odd) .user_img{padding:0 10px 0 0;}
.voice_box:nth-child(even) .user_img{padding:0 0 0 10px;}
.voice_text{
padding:12px;
font-size:13px;
line-height:20px;
text-align:justify;
}
.voice_text:after{
content:"";
display:inline-block;
position:absolute;
top:20px; 
border:8px solid transparent;
}
.voice_box:nth-child(odd) .voice_text:after{left:-16px;border-right:8px solid #ffffff;}
.voice_box:nth-child(even) .voice_text:after{right:-16px;border-left:8px solid #ffffff;}
.voice_text strong{font-size:15px;}
.voice_text br{display:none;}
}

/* ----------------------- CSS Information 
 Style Info: RECOMMEND
--------------------------------------- */
#recommend{background:#ffffff;}
.title_recommend{
width:100%;
max-width:1060px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.title_recommend img{width:100%;max-width:1000px;}
.recommend_wrapper{
width:100%;
max-width:1060px;
margin:60px auto 0 auto;
padding:0 30px;
box-sizing:border-box;
}
.recommend_img{width:100%;margin:0 auto;}

@media only screen and (max-width:750px){
#recommend{background:#ffffff;}
.title_recommend{padding:0;}
.title_recommend img{}
.recommend_wrapper{margin:20px auto 0 auto;padding:0 3.5%;}
}

/* ----------------------- CSS Information 
 Style Info: PROFILE
--------------------------------------- */
#profile{background:#eef2f4;padding:80px 0;}
.profile_name{width:100%;max-width:1060px;margin:0 auto;}
.profile_name img{width:100%;max-width:750px;margin:0 auto 0 0;}
.profile_wrapper{
width:100%;
max-width:1060px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
#profile .section_wrapper{padding:0 0 0 30px;}
#profile .text{
width:100%;
margin:40px auto 0 auto;
padding:40px 0 0 0;
font-size:16px;
line-height:24px;
text-align:justify;
border-top:1px solid #069cb7;
box-sizing:border-box;
}
#profile .text p{margin:0 0 20px 0;padding:0;}
#profile .text p:last-child{margin:0;}
.seminar_img{width:100%;margin:20px auto 0 auto;padding:0;}
@media only screen and (max-width:750px){
#profile{padding:40px 0 40px 0;}
.profile_name{width:100%;margin:0 auto;}
.profile_wrapper{padding:0 3.5%;}
#profile .text{width:100%;margin:30px auto 0 auto;padding:30px 0 0 0;font-size:13px;line-height:20px;}
#profile .text p{margin:0 0 20px 0;}
}

/* ----------------------- CSS Information 
 Style Info: CTA
--------------------------------------- */
.cta{
position:relative;
margin:0;
padding:60px 0;
width:100%;
box-sizing:border-box;
text-align:center;
}
.cta_balloon{
width:100%;
max-width:750px;
margin:0 auto 20px auto;
animation:cta_balloon 0.8s infinite 0s linear alternate;
}
@keyframes cta_balloon{
0% {transform:translate(0, 0) rotate(0deg);}
50% {transform:translate(0, 5px) rotate(0deg);}
100% {transform:translate(0, 0)rotate(0deg);}
}
@media only screen and (max-width:750px){
.cta{padding:30px 0 30px 0;}
.cta_balloon{margin:0 auto 15px auto;}
}

/* ----------------------- CSS Information 
 Style Info: BTN
--------------------------------------- */
.btn{
width:100%;
margin:0;
padding:0 30px;
box-sizing:border-box;
text-align:center;
position:relative;
z-index:10;
}
.reflection_box{
position:relative;
margin:0 auto;
padding:0;
width:100%;
max-width:690px;
background:#ffffff;
border-radius:10px;
box-shadow:2px 2px 8px 0px rgba(0,0,0,0.5);
border:2px solid #316745;
box-sizing:border-box;
z-index:10;
overflow:hidden;
}
.reflection_box a{
display:block;
margin:0;
padding:0;
width:100%;
height:100%;
box-sizing:border-box;
}
.reflection_box a:hover{opacity:0.5;}
.btn_img{width:100%;}
.reflection{
width:30px;
height:100%;
position:absolute;
top:-180px;
left:0;
background-color:rgba(255,255,255,0.8);
z-index:15;
opacity:0;
transform:rotate(45deg);
animation:reflection 3s ease-in-out infinite;
}
@keyframes reflection{
0%{transform:scale(0) rotate(45deg); opacity:0;}
80%{transform:scale(0) rotate(45deg); opacity:0.5;}
81%{transform:scale(4) rotate(45deg); opacity:1; }
100%{transform:scale(50) rotate(45deg); opacity:0;}
}
@media only screen and (max-width:750px){
.btn{padding:0 3.5%;}
.reflection_box{
border-radius:8px;
box-shadow:2px 2px 6px 0px rgba(0,0,0,0.5);
border:1px solid #316745;
}
}

/* ---------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
width:100%;
margin:0;
padding:40px 10px 80px 10px;
color:#999999;
background:#18222c;
box-sizing:border-box;
}
footer a:link{color:#999999;text-decoration:none;}
footer a:hover{color:#999999;text-decoration:underline;}
footer a:visited{color:#999999;text-decoration:none;}
footer a:active{color:#999999;text-decoration:none;}
.footer_attention{
width:100%;
max-width:730px;
margin:0 auto 40px auto;
padding:0 0 10px 0;
text-align:justify;
font-size:12px;
line-height:20px;
border-bottom:1px solid #6690a3;
}
.footer_attention dt{
position:relative;
display:flex;
align-items:center;
justify-content:center;
}
.footer_attention dt:after{
content:"";
flex-grow:1;
border-top:1px solid #6690a3;
margin:0 0 0 10px;
}
#fnav{
margin:0 auto;
padding:0;
font-size:12px;
line-height:20px;
text-align:center;
}
@media only screen and (max-width:750px){
footer{padding:20px 3.5% 80px 3.5%;}
.footer_attention{font-size:10px;line-height:20px;}
#fnav{font-size:10px;}
}

/* ----------------------- CSS Information 
 Style Info: btn_fixed
--------------------------------------- */
#btn_fixed{
position:fixed;
bottom:10px;
right:10px;
width:300px;
cursor:pointer;
z-index:100;
border-radius:12px;
background:#ffffff;
overflow:hidden;
box-shadow:0px 0px 5px 0px rgba(0,0,0,0.5);
}
#btn_fixed img{width:100%;}
#btn_fixed img:hover{opacity:0.5;}
@media only screen and (max-width:750px){
#btn_fixed{width:225px;border-radius:8px;}
}