@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200;400;500;700;900&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;}
li{list-style:none;}

/* ------------------------------------------- CSS Information 
 Style Info:     基本設定
----------------------------------------------------------- */
/*A Style*/  
a{text-decoration:underline;color:#666666;}
a:hover{text-decoration:underline;color:#999999;}
/*font*/
.b{font-weight:700;}
.ul{text-decoration:underline;}
.bg{background-color:#fff45c;}
.big{font-size:20px;line-height:30px;}@media only screen and (max-width:768px){.big{font-size:16px;line-height:24px;}}
.small{font-size:14px;line-height:20px;}@media only screen and (max-width:768px){.small{font-size:12px;line-height:20px;}}
.red{color:#c70003;}
.yellow{color:#d7c81e;}

/*----- image -----*/
.pc{display:block;}
.sp{display:none;}
@media only screen and (max-width:750px){
.pc{display:none;}
.sp{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: HTML/BODY
--------------------------------------- */
html,body{
position:relative;
font-family:'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
font-size:16px;
line-height:0;
letter-spacing:0em;
text-align:center;
font-weight:400;
color:#333333;
word-break:break-all;
background:#ffffff;
}

/* ----------------------- CSS Information 
 Style Info: HEADER
--------------------------------------- */
header{
position:relative;
width:100%;
margin:0;
padding:0;
background-color:#e0f1f8;
background-image:url(../img/header_pc.png),url(../img/header_bg_pc.png);
background-repeat:no-repeat,no-repeat;
background-position:center bottom,center bottom;
box-sizing:border-box;
}
.header_logo{
display:flex;
justify-content:center;
align-items:center;
width:100%;
max-width:750px;
margin:0 auto 60px auto;
padding:10px;
font-size:16px;
line-height:20px;
font-weight:500;
color:#666666;
box-sizing:border-box;
}
.header_logo img{
display:block;
width:auto;
height:50px;
}
.header_logo img:nth-of-type(1){margin:0 10px 0 0;}
.header_logo img:nth-of-type(2){margin:0 10px 0 10px;}
.header_free{
display:block;
width:690px;
margin:0 auto 20px auto;
font-size:20px;
line-height:36px;
color:#dec162;
font-weight:700;
border:2px solid #dec162;
box-sizing:border-box;
}
h1.header_title{
display:block;
margin:0 auto;
padding:0;
font-size:50px;
line-height:70px;
text-align:center;
font-weight:900;
color:#000000;
text-shadow:2px 2px 10px #ffffff,-2px 2px 10px #ffffff,2px -2px 10px #ffffff,-2px -2px 10px #ffffff;
}
h1.header_title .subtitle{
display:block;
margin:0 auto;
padding:0;
font-size:28px;
line-height:40px;
}
.opt .header_free{margin:20px auto 20px auto;}
.opt h1.header_title{
color:#ffffff;
text-shadow:2px 2px 10px #13576e,-2px 2px 10px #13576e,2px -2px 10px #13576e,-2px -2px 10px #13576e;
}
/*----- OUTLINE -----*/
.outline{
margin:0 auto;
padding:60px 0 60px 0;
width:100%;
max-width:750px;
}
.outline dl{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:space-between;
align-items:stretch;
width:100%;
max-width:550px;
margin:0 auto 10px auto;
padding:0 4%;
font-weight:700;
box-sizing:border-box;
}
.outline dl:last-child{margin:0 auto;}
.outline dl dt{
width:90px;
margin:0 10px 0 0;
padding:5px;
font-size:16px;
line-height:20px;
text-align:center;
color:#ffffff;
background:rgba(15,111,148,0.8);
box-sizing:border-box;
border:1px solid #ffffff;
}
.outline dl dd{
flex:1;
margin:0;
padding:0;
font-size:22px;
line-height:30px;
text-align:justify;
font-weight:900;
text-shadow:2px 2px 10px #ffffff,-2px 2px 10px #ffffff,2px -2px 10px #ffffff,-2px -2px 10px #ffffff;
}
.opt .outline{}
.opt .outline dl dt{color:#0f6f94;background:#ffffff;border:0;}
.opt .outline dl dd{color:#ffffff;text-shadow:2px 2px 10px #13576e,-2px 2px 10px #13576e,2px -2px 10px #13576e,-2px -2px 10px #13576e;}
@media only screen and (max-width:750px){
header{
background:#e0f1f8 url(../img/header_bg_sp.png) no-repeat center 30px;
background-size:100% auto;
}
.header_logo{font-size:14px;}
.header_logo img{height:30px;}
.header_free{width:92%;margin:30px auto 10px auto;font-size:16px;line-height:26px;}
h1.header_title{font-size:32px;line-height:42px;}
h1.header_title .subtitle{font-size:18px;line-height:28px;}
.header_img{width:100%;}
.opt .header_free{margin:20px auto 10px auto;}
.opt h1.header_title{}
/*----- OUTLINE -----*/
.outline{padding:30px 0 0 0;}
.outline dl{}
.outline dl:last-child{}
.outline dl dt{width:70px;margin:0 5px 0 0;padding:0;font-size:13px;line-height:20px;}
.outline dl dd{font-size:16px;line-height:20px;}
.opt .outline{padding:30px 0 30px 0;}
}

/* ----------------------- CSS Information 
 Style Info: OPT
--------------------------------------- */
.opt{
position:relative;
width:100%;
margin:0;
padding:40px 0;
box-sizing:border-box;
background:linear-gradient(to right,#0f6f94,#2da8ae);
}
.opt_wrapper{
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
}
.opt p{
margin:0;
padding:0 4%;
font-size:16px;
line-height:30px;
color:#ffffff;
text-align:center;
}
a.opt_btn{
display:block;
width:92%;
margin:20px 4%;
padding:25px 15px;
font-size:20px;
line-height:30px;
color:#ffffff;
font-weight:700;
text-decoration:none;
background:#b7ab22;
border-radius:40px;
box-sizing:border-box;
}
a.opt_btn:hover{background:#ffffff;color:#0f6f94;}
ul.opt_attention{
width:100%;
margin:20px 0 0 0;
padding:0 4%;
font-size:13px;
line-height:20px;
color:#ffffff;
text-align:justify;
box-sizing:border-box;
}
ul.opt_attention li{
position:relative;
list-style:none;
padding:0 0 0 13px;
}
ul.opt_attention li:before{
content:"※";
position:absolute;
left:0;
}
@media only screen and (max-width:750px){
.opt{padding:20px 0;}
.opt_wrapper{}
.opt p{font-size:14px;line-height:24px;text-align:justify;}
.opt p br{display:none;}
a.opt_btn{margin:20px 4%;padding:15px 0;font-size:16px;border-radius:30px;}
a.opt_btn:hover{}
ul.opt_attention{font-size:12px;}
ul.opt_attention li{padding:0 0 0 12px;}
ul.opt_attention li:before{}
}

/* ----------------------- CSS Information 
 Style Info: SECTION
--------------------------------------- */
.section{
margin:0;
padding:120px 0 120px 0;
width:100%;
position:relative;
box-sizing:border-box;
background:#ffffff;
overflow-y:auto;
}
.section_wrapper{
width:100%;
max-width:1000px;
margin:0 auto 0 auto;
padding:0;
box-sizing:border-box;
}
.section_box{
position:relative;
width:100%;
max-width:1000px;
margin:0 auto 80px auto;
padding:0 4%;
box-sizing:border-box;
}
.section_img{
position:relative;
display:block;
float:right;
margin:10px 0 20px 40px;
width:30%;
}
.section_img:before{
content:"";
position:absolute;
top:-10px;
left:-10px;
width:100%;
height:100%;
border:2px solid #0f6f94;
z-index:10;
box-sizing:border-box;
}
.section_img img{display:block;width:100%;}
@media only screen and (max-width:750px){
.section{padding:40px 0 40px 0;}
.section_wrapper{}
.section_box{margin:0 auto 40px auto;}
.section_img{margin:10px 0 20px 20px;}
.section_img:before{top:-5px;left:-5px;border:2px solid #069cb7;}
}
/*----- TITLE -----*/
.title{
position:relative;
width:100%;
max-width:1000px;
margin:0 auto 30px auto;
padding:0 4%;
box-sizing:border-box;
}
.title h1{
display:block;
width:100%;
margin:0;
padding:0 0 0 5px;
font-size:20px;
line-height:30px;
text-align:left;
font-weight:700;
border-left:5px solid #0f6f94;
box-sizing:border-box;
}
.title h1 span{display:inline-block;margin:0 0 0 10px;font-size:14px;font-weight:400;color:#999999;}
@media only screen and (max-width:750px){
.title{margin:0 auto 20px auto;}
.title h1{font-size:16px;line-height:20px;}
.title h1 span{font-size:12px;}
}

/*----- SEMINAR -----*/
#seminar{}

/*----- PROFILE -----*/
.profile_wrapper{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row;flex-direction:row;
-ms-flex-wrap:nowrap;flex-wrap:nowrap;
-ms-flex-pack:center;justify-content:center;
-ms-flex-align:start;align-items:flex-start;
width:100%;
margin:0 auto 60px auto;
padding:0;
box-sizing:border-box;
}
.profile_img{
width:240px;
background:#edf4f7;
background:linear-gradient(to bottom,#f5f9fb,#edf4f7);
}
.profile_text{
flex:1;
padding:0 0 0 20px;
text-align:justify;
font-size:17px;
line-height:30px;
box-sizing:border-box;
}
.profile_thumbnail{display:block;width:100%;}
.profile_index{
display:block;
margin:0 auto 30px auto;
padding:4px 10px 6px 10px;
font-size:16px;
line-height:20px;
font-weight:400;
color:#ffffff;
background:#0e63b9;
}
.profile_name{margin:0 0 20px 0;font-size:20px;line-height:30px;font-weight:700;}
.profile_text ul{margin:0 0 20px 0;padding:0;}
.profile_text p{margin:0 0 20px 0;padding:0;}
.profile_text dl{margin:0;padding:0;}
.profile_text dt{margin:0;padding:0;display:flex;align-items:center;justify-content:center;}
.profile_text dt:after{content:"";border-top:1px solid #0e63b9;flex:1;margin:0 0 0 10px;}
.profile_text dd{position:relative;text-align:left;padding:0 0 0 4px;}
.profile_text dd:before{content:"";position:absolute;top:12px;left:0;width:6px;height:6px;border-radius:50%;background:#0e63b9;}
.profile_books{
display:flex;
justify-content:flex-start;
align-items:flex-start;
}
.profile_books img{
display:block;
width:90px;
height:auto;
margin:0 10px 0 0;
padding:0;
box-shadow:2px 2px 4px rgba(0,0,0,0.5);
}
@media only screen and (max-width:750px){
.profile_wrapper{-ms-flex-direction:column;flex-direction:column;margin:20px auto 40px auto;padding:0;}
.profile_img{width:100%;}
.profile_text{width:100%;padding:0;font-size:14px;line-height:30px;}
.profile_thumbnail{display:block;width:50%;margin:0 auto;}
.profile_index{margin:20px auto 20px auto;font-size:14px;text-align:center;}
.profile_name{font-size:16px;}
.profile_text ul{}
.profile_text p{}
.profile_text dl{}
.profile_text dt{}
.profile_text dt:after{}
.profile_text dd{}
.profile_text dd:before{content:"";position:absolute;top:9px;left:0;width:6px;height:6px;border-radius:50%;background:#0e63b9;}
.profile_books{justify-content:center;}
.profile_books img{width:60px;margin:0 5px 0 5px;}
}

/*----- TEXT -----*/
.text{
font-size:17px;
line-height:30px;
text-align:left;
margin:0;
padding:0;
box-sizing:border-box;
}
.text p{margin:0 0 30px 0;padding:0;}
.text p:last-child{margin:0;}
.dl_agenda{}
.dl_agenda dt{
display:flex;
justify-content:center;
align-items:center;
margin:0 0 10px 0;
font-weight:700;
}
.dl_agenda dt:after{
content:"";
flex:1;
margin:0 0 0 5px;
border-top:2px dotted #cccccc;
}
.dl_agenda dd{
position:relative;
margin:0 0 10px 0;
padding:0px 0px 0px 16px;
}
.dl_agenda dd:before{
content:"";
position:absolute;
top:8px;
left:2px;
width:0;
height:0;
border:8px solid transparent;
border-left:8px solid #0f6f94;
}
.ul_check{}
.ul_check li{
position:relative;
margin:0 0 10px 0;
padding:0px 0px 0px 16px;
list-style:none;
}
.ul_check li:before{
content:"";
position:absolute;
top:8px;
left:2px;
width:0;
height:0;
border:8px solid transparent;
border-left:8px solid #0f6f94;
}
@media only screen and (max-width:750px){
.text{font-size:14px;line-height:30px;text-align:justify;}
.text p{margin:0 0 20px 0;padding:0;}
.text p:last-child{margin:0;}
/* br */
.text p br{display:none;}
.text p br.sp,.text p br.all{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: INFO
--------------------------------------- */
#info{padding:80px 0 0 0;}
@media only screen and (max-width:750px){
#info{padding:40px 0 0 0;}
}
/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
margin:0;
padding:40px 0 40px 0;
width:100%;
color:#ffffff;
background:#073547;
}
footer a{color:#ffffff;text-decoration:none;}
footer a:hover{color:#cdd7da;text-decoration:underline;}
#nav_footer{
display:block;
width:100%;
max-width:750px;
margin:0 auto;
}
#nav_footer ul{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:flex-start;
width:100%;
text-align:center;
list-style-type:none;
}
#nav_footer ul li{
display:block;
font-size:12px;
line-height:20px;
margin:0;
padding:0 20px;
border-right:1px solid #0f6f94;
}
#nav_footer ul li:last-child{border-right:none;}
footer small{
display:block;
margin:20px 0 0 0;
padding:0;
text-align:center;
font-size:12px;
line-height:20px;
}
@media only screen and (max-width:750px){
footer{}
#nav_footer{}
#nav_footer ul{flex-direction:column;}
#nav_footer ul li{width:100%;margin:0 0 20px 0;padding:0;border-right:none;}
#nav_footer ul li:last-child{border-right:none;}
footer small{margin:0;}
.sp_no{display:none;}
}