@charset "utf-8";
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    backface-visibility: hidden;
}
html{ margin: 0; padding: 0; /*scroll-padding-top: 100px;*/}
body {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 16px;
	font-weight:500;
    color:#222;
    line-height:180%;
    overflow-x: hidden;
}
img {
	border: none;
	vertical-align:bottom;
}
div, p, ul, ul li, h1, h2, h3, h4, h5, dl, dt, dd {
	margin: 0;
	padding: 0;
	font-size: 100%;
	list-style:none;
	box-sizing:border-box;
}
img, video, object {
    max-width: 100%;
    height: auto;
    border: none;
}
img {
	display: block;
    width: 100%; height: auto;
	image-rendering: smoothe !important;
}
iframe { border: none;}

a:link {color:#1f3b8f; outline:none; text-decoration: none;}
a:visited {color:#1f3b8f;}
a:hover {color: #222; text-decoration: underline;}
a:hover img { opacity: 0.7; filter: alpha(opacity=70);}
a[href^="tel:"] { text-decoration:none; pointer-events:none ; text-emphasis: none !important;}
a[href^="fax:"] { text-decoration:none; pointer-events:none ;}

.en { font-family: "Tilt Warp", sans-serif;}

.pc {display: inherit;}
.pctb {display: inherit;}
.tb {display: none;}
.tbsp {display: none;}
.sp {display: none;}

@media only screen and (min-width:768px){
    a:hover {color:red; text-decoration: underline; transition:0.3s; }
    a:hover img { opacity: 0.7; filter: alpha(opacity=70); -moz-opacity: 0.7;}
}
@media only screen and (max-width:768px){
    .pc {display:none;}
    .pctb {display:inherit;}
    .tb {display:inherit;}
    .tbsp {display: none;}
    .sp {display:none;}
}
@media only screen and (max-width:468px){
    body {}
    .pc {display:none;}
    .pctb {display:none;}
    .tb {display:none;}
    .tbsp {display:inherit;}
    .sp {display:inherit;}
}



/* =========================================================================================
Layout
=========================================================================================*/
#wrapper{
    position:relative;
}
#container{
}
article {
}
section {
}
.inner {
    position:relative;
    margin: 0 auto;
    width: 96%;
    max-width: 1180px;
    box-sizing:border-box;
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
}



/*====================================================================================================
  HEADER
====================================================================================================*/
#header {
    position:fixed; top:20px; left: 0; right: 0; z-index: 999;
    display: flex; align-items: center; justify-content:space-between; gap:20px;
    margin: 0 auto;
    padding: 20px 24px 20px 30px;
    width: 96%;
    max-width: 1170px;
    background: #fff;
    border-radius: 100px;
    z-index: 999;
    box-shadow: 0px 5px 10px 0px rgba(31, 59, 143, 0.25);
    box-sizing: border-box;
}


/* LOGO */
#header h1 a { display: block; position: relative;}
#header h1 img { width:110px; height: auto; aspect-ratio: 110 / 20.5;}
#header h1 span {
    position: absolute; top: -25px; left:0; right: 0;
    margin: auto;
    font-size:62.5%;
    color: #1f3b8f;
    text-align: center;
}
@media only screen and (max-width:1180px){
    #header h1 a { display: flex; flex-direction: row-reverse; align-items: center; gap:10px;}
    #header h1 span { position: static;}
}

/* NAV */
#header #nav ul { display: flex; flex-wrap: wrap; gap:20px;}
#header #nav ul li a {
    position: relative;
    color:#000;
    font-size:94%;
    font-weight: 500;
    text-decoration: none;
}
#header #nav ul li a .seminar {
    position: absolute; top: -35px; left:-60px;
    display: block;
    width: 170px;
    padding: 5px 8px;
    font-size:62.5%;
    line-height: 15px;
    text-align: center;
    white-space: nowrap;
    background: #fef100;
    border-radius:5px;
}
#header #nav ul li a .seminar::before {
    position: absolute; bottom: -8px; left: 0; right: 0;
    display: block; clear: both; content:"";
    margin: auto;
    width: 0; height: 0;
    border-style: solid;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    border-top: 8px solid #fef100;
    border-bottom: 0;
}
#header #nav2 { display: flex; flex-wrap: wrap; gap:10px;}
#header #nav2 p a {
    position: relative;
    display: block;
    padding: 2px 0;
    font-size:75%;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    border-radius:100px;
}
#header #nav2 p a.b_dl {
    min-width: 140px;
    color: #1f3b8f !important;
    background: #fef100;
}
#header #nav2 p a.b_login {
    min-width: 120px;
    color: #fff !important;
    background: #1f3b8f;
}
#nav_sp { display: none;}
@media only screen and (max-width:768px){
    #header #nav2 p:nth-child(1) { display: none;}
}
@media only screen and (max-width:1180px){
    #header {
        top:10px;
        padding:10px 24px 10px 30px;
        width: 98%;
    }
    #header .nav_btn {
        position: absolute; top:0; right:10px; cursor: pointer;
        width:52px; height:52px;
    }
    #header .nav_btn span {
        display: inline-block;
        position: absolute; left:0; right: 0; margin:auto;
        width:25px; height: 2px;
        background:#1f3b8f;
        border-radius: 3px;
        transition: all .3s;
    }
    #header .nav_btn span:nth-of-type(1) {top:17px;}
    #header .nav_btn span:nth-of-type(2) {top:25px;}
    #header .nav_btn span:nth-of-type(3) {top:33px;}
    #header .nav_btn.active span:nth-of-type(1) { top:25px; transform:rotate(-45deg);}
    #header .nav_btn.active span:nth-of-type(2) { opacity: 0;}
    #header .nav_btn.active span:nth-of-type(3) { top:25px; transform:rotate(45deg);}
    #header #nav { display: none;}
    #nav_sp {
        position: fixed; top: 0; left: 0; z-index: 99;
        width: 100%; height: 100vh; overflow: auto;
        flex-direction: column; gap:0;
        background: #019de2;
    }
    #nav_sp ul {
        display: flex; flex-direction: column; gap:20px;
        padding-left: 32px;
        margin-top: 100px;
    }
    #nav_sp ul li a { position: relative; font-size:112.5%; font-weight: 500; color: #fff;}
    #nav_sp ul li a small { font-weight:400;}
    #nav_sp ul li .seminar {
        position: absolute; top: 0; left:120px;
        display: block;
        width: 198px; line-height: 25px;
        text-align: center;
        font-size:10px;
        color:#000;
        background: #fef100;
        border-radius: 3px;
    }
    #header #nav ul li a .seminar::before {
        position: absolute; top: 0; bottom: 0; left:-8px;
        display: block; clear: both; content:"";
        margin: auto;
        width: 0; height: 0;
        border-style: solid;
        border-right: 8px solid #fef100;
        border-left: 0;
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
    }
    #header #nav2 { position: relative; right:40px;}
    #header #nav2 p a.b_dl { min-width:120px;}
    #header #nav2 p a.b_login { min-width: 95px; padding:0; }
}
@media only screen and (max-width:468px){

}



/*====================================================================================================
  CONTENT
====================================================================================================*/
#content { clear:both; width:100%; }

/* BUTTON */
.btn_box { display: flex; justify-content: center; gap:20px;}
.btn_box p { width: 50%;}
.btn1 a {
    position: relative;
    display: block;
    padding: 10px;
    width: 100%;
    font-weight: bold;
    text-align: center;
    letter-spacing: 1px;
    border-radius: 100px;
    box-shadow: 0px 5px 10px 0px rgba(31, 59, 143, 0.25);
    overflow: hidden;
}
.btn1 a::before,
.btn1 a::after { display: block; clear: both; content:""; transition: all 0.3s ease-out;}
.btn1 a span { position: relative; z-index: 2;}
.btn1 a::before {
    position: absolute; top: 0; bottom: 0; right:20px;
    margin: auto;
    border-radius: 100px;
    z-index: 2;
}
.btn1 a::after {
    position: absolute; top: 0; left:-100%;
    width: 100%; height: 100%;
    z-index:1;
}
.btn1.btn_b a { color: #fff; font-size: 106%; background: #1f3b8f;}
.btn1.btn_b a::before {
    width: 30px; height: 30px;
    background: #fef100 url("../images/common/arrow1_b.webp") no-repeat center center;
    background-size:12px auto;
}
.btn1.btn_b a::after { background: rgba(255,255,255,0.20);}
.btn1.btn_w a { padding: 15px; color: #1f3b8f; font-size: 125%; background: #fff; border: 5px solid #fef100;}
.btn1.btn_w a::before {
    width: 35px; height: 35px;
    background: #fef100 url("../images/common/arrow1_b.webp") no-repeat center center;
    background-size:14px auto;
}
.btn1.btn_w a::after { background:#fef100;}
.btn1.btn_w.btn_dl a::before { background: #fef100 url("../images/common/arrow_dl.webp") no-repeat center center; background-size:18px auto;}

@media only screen and (min-width:768px){
    .btn1.btn_b a:hover {text-decoration: none;}
    .btn1.btn_b a:hover::after { left:0; text-decoration: none;}
    .btn1.btn_w a:hover {text-decoration: none;}
    .btn1.btn_w a:hover::after { left:0; text-decoration: none;}
    .btn1.btn_w a:hover::before { background-color: #fff;}
}



/*====================================================================================================
  FOOTER
====================================================================================================*/
#footer { clear:both; padding: 30px 0 200px; width:100%; color:#999; text-align: center;}
#footer .inner {  display: flex; justify-content: space-between;}
#footer .inner a {color:#999; }
@media only screen and (min-width:768px){
}
@media only screen and (max-width:468px){
    #footer { padding:70px 0 150px;}
}


/*====================================================================================================
  PAGE
====================================================================================================*/
#page,
#page a { display:block; width:50px; height:50px;}
#page { position: fixed; bottom:200px; right:20px; z-index: 999999;}
#page a {
    text-indent: -9999px;
    background:#1f3b8f url( "../images/common/arrow1_w.webp") no-repeat center center;
    background-size: 20px auto;
    transform: rotate(-90deg);
    border-radius: 100px;
    box-shadow: 0px 0px 5px 0px rgba(31, 59, 143, 0.50);
}
@media only screen and (max-width:768px){
    #page { bottom:85px; right:20px;}
}


/*====================================================================================================
  FIXED CONT
====================================================================================================*/
#fixed_cont { position: fixed; left: 0; bottom: 0; z-index: 999; width: 100%;}

#consent { background:rgba(255, 255, 255, 0.9);}
#consent .inner { display: flex; flex-wrap: wrap; align-items: center; gap:40px; padding:30px 0;}
#consent .come { width: calc(100% - 100px - 40px);}
#consent .come b { display: block; font-size:87.5%; margin-bottom: 5px;}
#consent .come span { display: block; font-size: 75%; line-height:150%;}
#consent .btn { width: 100px;}
#consent .btn a { display: block; padding: 5px; color: #fff; text-align: center; background: #1d2c6f; transition: all 0.3s ease-out;}
@media only screen and (min-width:768px){
    #consent .btn a:hover { opacity: 0.7; text-decoration: none;}
}
@media only screen and (max-width:468px){
    #consent .inner { flex-direction: column; gap:20px; padding:20px;}
    #consent .come { width:100%;}
    #consent .btn { width: 80px; align-self: flex-start;}
    #consent .btn a { padding:2px 5px; font-size: 87.5%;}

}

#f_nav { background: #1f3b8f;}
#f_nav .inner {
    display: flex; flex-direction: column; gap:10px;
    padding: 15px 0;
}
#f_nav  p { font-size: 125%; text-align: center; color: #fff;}
#f_nav  ul { display: flex; gap:15px; margin: auto; width: 100%; max-width: 1180px;}
#f_nav  ul li { width: 33.3%;}
#f_nav  ul li a { box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.35);}
#f_nav ul li:nth-child(1) a  { letter-spacing: -1px;}
@media only screen and (max-width:1100px){
    #f_nav ul li:nth-child(1) a { text-indent: -20px;}
}
@media only screen and (max-width:768px){
    #f_nav .inner { padding:0; width: 100%;}
    #f_nav ul { gap:0;}
    #f_nav ul li a {
        padding: 45px 0 5px;
        height: 75px;
        font-size:87.5% !important;
        line-height: 110%;
        letter-spacing: 0;
        border:none;
        border-radius: 0;
        background-size: 60px auto !important;
        box-shadow:none;
    }
    #f_nav ul li a::before { display: none;}
    #f_nav ul li:nth-child(1) a {
        padding: 40px 0 5px;
        color: #1f3b8f;
        letter-spacing: 0;
        text-indent:0;
        background: #fef100 url("../images/common/footer_nav1.png") no-repeat top center;
    }
    #f_nav ul li:nth-child(2) a {
        color: #fff;
        background: #1f3b8f url("../images/common/footer_nav2.png") no-repeat top center;
    }
    #f_nav ul li:nth-child(3) a {
        color: #fff;
        background: #418ccd url("../images/common/footer_nav3.png") no-repeat top center;
    }
    #f_nav p { display: none;}
}



/*====================================================================================================
  COLOR eto..
====================================================================================================*/
.light-blue { color: #40A6DD;}
.blue { color: #0000FF;}
.dark-blue { color: #000099;}
.purple { color: #660099;}
.pink { color: #FF6699;}
.red { color: #FF0000;}
.orange { color: #FF6600;}
.yellow { color: #FFCC00;}
.white { color: #FFFFFF;}
.gray { color: #666666;}
.brown { color: #663300;}
.green { color: #339900;}
.italic { font-style: italic;}
.strong { font-weight: bold;}
.large { font-size: 115%; line-height: 140%;}
.small { font-size: 80%;}
.underline { text-decoration: underline;}
.line-through { text-decoration: line-through;}
.left { text-align: left;}
.center { text-align: center;}
.right { text-align: right;}