@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&family=Noto+Serif+JP:wght@400;600&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:link{text-decoration:none;color:#666666;}
a:visited{text-decoration:none;color:#666666;}
a:hover{text-decoration:underline;color:#999999;}
a:active{text-decoration:none;color:#666666;}
/*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;}
/*----- 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;
background:#ffffff;
}

/* ----------------------- CSS Information 
 Style Info: HEADER
--------------------------------------- */
header{position:relative;width:100%;margin:0;padding:0;}
.header{
position:relative;
width:100%;
margin:0 auto;
padding:0;
background:#eceff1 url(../img/header_bg_pc.png) no-repeat center top;
background-size:auto 100%;
}
.header img{
width:100%;
max-width:1000px;
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:1000px;
margin:0 auto 40px auto;
padding:0 40px;
box-sizing:border-box;
}
.title h1{
display:block;
width:100%;
max-width:750px;
margin:0 auto 40px 0;
padding:0 0 0 10px;
font-size:26px;
line-height:30px;
text-align:left;
font-weight:700;
border-left:5px solid #ff0000;
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 30px auto;padding:0 4%;}
.title h1{margin:0 auto 20px auto;font-size:20px;line-height:30px;}
.title h1 span{font-size:12px;}
}

/* ----------------------- 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;
padding:0 40px;
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 #ff0000;
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{padding:0 4%;}
.section_img{margin:10px 0 20px 20px;}
.section_img:before{top:-5px;left:-5px;border:2px solid #069cb7;}
}

/* ----------------------- 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:last-child{margin:0;}
.text ul{margin:0 0 30px 0;padding:0;list-style:none;}
.text ul.point li{position:relative;padding:0 0 0 17px;}
.text ul.point li:before{
content:"";
position:absolute;
top:11px;
left:0;
width:12px;
height:12px;
background:#069cb7;
border-radius:50%;
}
.text ol{margin:0 0 30px 0;padding:0;list-style:none;}
ol.ol_num{
counter-reset:decimal;
list-style:none;
box-sizing:border-box;
}
ol.ol_num li{
display:-ms-flexbox;display:flex;
-ms-flex-align:start;align-items:flex-start;
margin:0;
padding:0;
text-align:justify;
font-weight:700;
}
ol.ol_num li:before{
content:counter(decimal);
counter-increment:decimal;
display:block;
margin:6px 5px 0 0;
font-size:15px;
width:20px;
height:20px;
line-height:19px;
text-align:center;
color:#ffffff;
background:#158ed7;
}
@media only screen and (max-width:750px){
.text{font-size:14px;line-height:30px;text-align:justify;}
.text_center{text-align:center;}
.text_right{text-align:right;}
.text p{margin:0 0 20px 0;padding:0;}
.text p:last-child{margin:0;}
.text ul{margin:0 0 20px 0;padding:0;}
.text ul.point li{position:relative;padding:0 0 0 14px;}
.text ul.point li:before{top:8px;left:0;width:10px;height:10px;background:#069cb7;border-radius:50%;}
.text ol{margin:0 0 20px 0;}
ol.ol_num{}
ol.ol_num li{}
ol.ol_num li:before{
margin:4px 4px 0 0;
font-size:12px;
width:16px;
height:16px;
line-height:15px;
}
/* br */
.text p br{display:none;}
.text p br.sp,.text p br.all{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: SEMINAR
--------------------------------------- */
#seminar{}
/*----- PRESENT -----*/
.present{
width:100%;
margin:60px auto 0 auto;
padding:0;
}
.present_box{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:flex-start;
align-items:flex-start;
width:100%;
margin:0 auto;
padding:0;
background:#f7eeef;
box-sizing:border-box;
}
.present_text{
position:relative;
flex:1;
margin:0 auto;
padding:0;
font-size:18px;
line-height:40px;
text-align:left;
}
.present_text h2{
position:relative;
display:block;
width:320px;
margin:10px 0 20px -10px;
padding:9px 0 11px 20px;
font-size:18px;
line-height:30px;
font-weight:700;
text-align:left;
color:#ffffff;
background:#ff0000;
box-sizing:border-box;
}
.present_text h2:before{
position:absolute;
content:"";
top:100%;
left:0;
border:none;
border-bottom:solid 10px transparent;
border-right:solid 10px #c70003;
}
.present_text h2:after{
position:absolute;
content:"";
width:0;
height:0;
z-index:1;
top:0;
right:0;
border-style:solid;
border-width:25px 15px 25px 0px;
border-color:transparent #f7eeef transparent transparent;
}
.present_text p{
margin:0;
padding:30px 0 30px 30px;
}
.present_title{
font-size:24px;
line-height:40px;
font-weight:700;
}
.present_img{
display:block;
width:200px;
padding:20px;
}
@media only screen and (max-width:750px){
#seminar{}
/*----- PRESENT -----*/
.present{margin:40px auto 0 auto;}
.present_box{display:block;}
.present_text{padding:10px 0 0 0;font-size:14px;line-height:30px;text-align:center;}
.present_text h2{width:220px;margin:0 0 0 -10px;padding:4px 0 6px 10px;font-size:14px;line-height:30px;}
.present_text h2:before{}
.present_text h2:after{border-width:20px 10px 20px 0px;}
.present_text p{padding:20px;}
.present_title{font-size:20px;line-height:30px;}
.present_img{margin:0 auto;width:120px;padding:0 20px 20px 20px;}
}

/* ----------------------- CSS Information 
 Style Info: OVERVIEW
--------------------------------------- */
#overview{}
/*----- OUTLINE -----*/
#outline{}
.outline_content{}
dl.outline_detail{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:space-between;
align-items:stretch;
margin:0 0 5px 0;
padding:0;
}
.outline_content dl.outline_detail:last-child{margin:0;}
dl.outline_detail dt{
display:flex;
align-items:center;
justify-content:center;
width:160px;
margin:0 5px 0 0;
padding:20px 10px;
font-size:16px;
line-height:30px;
text-align:center;
color:#333333;
background:#f1f1f1;
box-sizing:border-box;
}
dl.outline_detail dd{
flex:1;
margin:0;
padding:20px;
font-size:16px;
line-height:30px;
text-align:justify;
background:#f9f9f9;
}
dl.outline_detail dd span{display:inline;}
dl.outline_detail dd p{margin:0 0 20px 0;padding:0;}
dl.outline_detail dd p:last-child{margin:0;}
#outline .text{
margin:40px auto 0 auto;
text-align:center;
}
@media only screen and (max-width:750px){
#outline{}
.outline_content{}
dl.outline_detail{}
dl.outline_detail dt{margin:0 5px 0 0;padding:20px 0;width:90px;font-size:14px;line-height:24px;}
dl.outline_detail dd{padding:20px 10px;font-size:14px;line-height:24px;}
#outline .text{margin:20px auto 0 auto;}
}

/* --------------------------------- CSS Information 
 Style Info: LINE
------------------------------------------------- */
.line{
position:relative;
margin:0;
padding:0 0 60px 0;
box-sizing:border-box;
text-align:center;
background:#e5f8e4;
}
.title_line{
position:relative;
width:100%;
margin:0 auto 40px auto;
padding:30px;
background:#17bc03;
box-sizing:border-box;
}
.title_line h1{
display:block;
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
font-size:24px;
line-height:30px;
text-align:center;
font-weight:700;
color:#ffffff;
box-sizing:border-box;
}
.title_line:after{
content:"";
position:absolute;
top:100%;
left:50%;
margin:0 0 0 -20px;
border:20px solid transparent;
border-top:20px solid #17bc03;
z-index:10;
}
.line_wrapper{
display:block;
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
box-sizing:border-box;
position:relative;
}
.line_box{
display:flex;
justify-content:space-between;
align-items:stretch;
width:100%;
margin:0 auto;
padding:0 4%;
box-sizing:border-box;
position:relative;
}
.line_box dl{
display:block;
width:32%;
margin:0;
padding:0;
box-sizing:border-box;
background:#ffffff;
}
.line_box dl dt{
margin:0;
padding:10px;
font-size:16px;
line-height:20px;
font-weight:bold;
text-align:center;
color:#ffffff;
background:#45d580;
}
.line_box dl dd{
margin:0;
padding:20px;
height:180px;
display:flex;
justify-content:center;
align-items:center;
}
.line_box dl dd:last-child{
display:block;
height:auto;
margin:0;
padding:0 20px 20px 20px;
font-size:14px;
line-height:24px;
text-align:justify;
}
.line_btn{
display:block;
width:100%;
margin:0 auto;
padding:10px 0;
font-size:18px;
line-height:30px;
color:#ffffff !important;
font-weight:700;
text-align:center;
background:#06c755;
border:2px solid #06c755;
border-radius:8px;
box-sizing:border-box;
}
.line_btn:hover{color:#06c755 !important;background:#ffffff;text-decoration:none;}
.line_qr{
display:block;
margin:0 auto;
width:100%;
max-width:180px;
}
.line_id{
display:block;
width:100%;
margin:0 auto;
padding:10px 0;
font-size:18px;
line-height:30px;
color:#06c755;
font-weight:700;
text-align:center;
background:#ffffff;
border:2px solid #06c755;
border-radius:8px;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
.line{padding:0 0 30px 0;}
.title_line{margin:0 auto 30px auto;padding:10px;}
.title_line h1{font-size:18px;line-height:30px;}
.title_line:after{margin:0 0 0 -15px;border:15px solid transparent;border-top:15px solid #17bc03;}
.line_wrapper{}
.line_box{display:block;}
.line_box dl{width:100%;margin:0 auto 15px auto;}
.line_box dl:last-child{margin:0 auto;}
.line_box dl dt{font-size:14px;}
.line_box dl dd{display:block;height:auto;}
.line_box dl dd:last-child{}
.line_btn{font-size:16px;}
.line_btn:hover{}
.line_qr{}
.line_id{font-size:16px;}
}

/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
width:100%;
margin:0;
padding:40px 0 40px 0;
width:100%;
color:#606060;
background:#e0e0e0;
}
footer a{color:#606060;text-decoration:none;}
footer a:hover{color:#606060;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:14px;
line-height:20px;
margin:0;
padding:0 20px;
border-right:1px solid #ff0000;
}
#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:14px;
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;font-size:12px;border-right:none;}
#nav_footer ul li:last-child{border-right:none;}
footer small{margin:0;font-size:12px;}
.sp_no{display:none;}
}