@charset "utf-8";
img, object, embed, video {
width: 100%;
margin: auto;
}

picture img{
width: 100%;
height: auto;
}

@keyframes fadeIn {
0% {
opacity: 0;
transform: translateY(20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}

.en {
font-family: "Montserrat", sans-serif;
}


@keyframes zoom {
0% {
transform: scale(1.2);
}
100% {
transform: scale(1);
}
}

#totop a:focus{ outline: none; }

@keyframes hide {
from {
opacity: 1;
}
to {
opacity: 0;
visibility: hidden;
}
}



@keyframes img_mask {
0% {
-webkit-clip-path:polygon(0 0,0 0,0 100%,0% 100%);
clip-path:polygon(0 0,0 0,0 100%,0% 100%)
}
100% {
-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0% 100%);
clip-path:polygon(0 0,100% 0,100% 100%,0% 100%)
}
}

.img_mask {
overflow:hidden;
-webkit-clip-path:polygon(0 0,0 0,0 100%,0% 100%);
clip-path:polygon(0 0,0 0,0 100%,0% 100%);
transition:-webkit-clip-path .5s cubic-bezier(.62,-.01,.38,1.01);
transition:clip-path .5s cubic-bezier(.62,-.01,.38,1.01);
transition:clip-path .5s cubic-bezier(.62,-.01,.38,1.01),-webkit-clip-path .5s cubic-bezier(.62,-.01,.38,1.01)
}
.img_mask::after {
content:"";
display:block;
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:#00bf93;
background:var(--bg-green);
-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0% 100%);
clip-path:polygon(0 0,100% 0,100% 100%,0% 100%);
translate:0 0
}
.img_mask {
height:100%;
transition:-webkit-clip-path .5s .5s cubic-bezier(.62,-.01,.38,1.01);
transition:clip-path .5s .5s cubic-bezier(.62,-.01,.38,1.01);
transition:clip-path .5s .5s cubic-bezier(.62,-.01,.38,1.01),-webkit-clip-path .5s .5s cubic-bezier(.62,-.01,.38,1.01)
}
.img_mask.is-active {
transition:-webkit-clip-path .5s .5s cubic-bezier(.62,-.01,.38,1.01);
transition:clip-path .5s .5s cubic-bezier(.62,-.01,.38,1.01);
transition:clip-path .5s .5s cubic-bezier(.62,-.01,.38,1.01),-webkit-clip-path .5s .5s cubic-bezier(.62,-.01,.38,1.01)
}
.img_mask.is-active::after {
transition:.4s 1s cubic-bezier(.62,-.01,.38,1.01);
-webkit-clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);
clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)
}
.img_mask.rel {
position:relative
}
.img_mask.is-active {
-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0% 100%);
clip-path:polygon(0 0,100% 0,100% 100%,0% 100%)
}
.img_mask.is-active::after {
transition:.4s .6s cubic-bezier(.62,-.01,.38,1.01);
-webkit-clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);
clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)
}


/*
---------------------------*/
.bg_color_img{
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: 0;
overflow: hidden;
filter: blur(60px);
opacity: .2;
}

.mb20{
margin-bottom: 20px;
}
.mb30{
margin-bottom: 30px;
}
.mb40{
margin-bottom: 40px;
}
.mb50{
margin-bottom: 50px;
}
.mb60{
margin-bottom: 60px;
}

/*PC*/
@media print, screen and (min-width: 768px) {
.pc {
display:block !important;
}
.sp {
display:none !important;
}

/*--スクロールトップ---------*/
#totop {
bottom:140px;
display: block;
position: fixed;
right: 20px;
z-index: 50;
}

#totop a {
display: block;
width: 54px;
height: 54px;
text-indent: -1000em;
overflow: hidden;
background: url("../images/com/btn_scroll_top.png") 0 0 no-repeat;
background-size: auto auto;
background-size: 100% auto;
}


/*com*/
/*----------------------------*/
.pcBr {
display: inline-block;
}
.spBr {
display: none;
}
.pc {
display: block;
}
.sp {
display: none !important;
}

/* header
--------------------------------------------*/
header {
position:relative;
width: 100%;
transition: 0.5s;
}

#header {
width: 100%;
min-width: 1080px;
position:fixed;
background: #FFF;
z-index: 50;
height: 115px;
transition: 0.5s;
}

#header .logo_wrap {
position: absolute;
top: 5px;
left: 0;
display: block;
width:300px;
padding:20px;
box-sizing: border-box;
transition: 0.5s;
z-index: 10;
}

#header .logo_wrap a{
display: block;
transition: all 0.5s 0s ease;
}

#header .logo_wrap a img{
}

#header .g_menu{
position: absolute;
top: 12px;
right: 15px;
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
align-items: center;
list-style: none;
}

#header .g_menu li{
margin-left: 16px;
}

#header .g_menu li a{
white-space: nowrap;
display: flex;
align-items: center;
font-size: 14px;
font-weight: 600;
color: #2f393e;
}

#header .g_menu li a:hover{
color: #008dcf;
}

#header .g_menu li a i{
font-size: 1rem;
line-height: 1;
margin-right: 5px;
color: #008dcf;
}

#header .g_menu li.tel a{
font-size:26px;
font-weight: 600;
}

#header .g_menu li.btn a{
border: 1px solid #008dcf;
background: #008dcf;
padding: 3px 10px;
box-sizing: border-box;
color:#FFF !important;
border-radius: .4rem;
font-size: 15px;
transition: .3s;
}

#header .g_menu li.btn a:hover{
border: 1px solid #008dcf;
background: #FFF;
color: #008dcf !important;

}

#header .g_menu li.btn a i{
color: #FFF;
font-size: 14px;
}

#header .g_menu li.btn a:hover i{
color: #008dcf;
font-size: 14px;
}


.burger-btn {
display: none;
}

.siteNav {
display: flex;
justify-content: flex-end;
align-items: stretch;
flex-direction: row;
margin: 20px 0 0;
}

.siteNav .siteNav_dl {
display: flex;
justify-content: flex-start;
align-items: stretch;
flex-direction: row;
}

.siteNav .siteNav_dl .siteNav_dt {
display: flex;
justify-content: center;
align-items: center;
font-weight: 100;
line-height: 1.5;
}

.siteNav .siteNav_ul {
display: flex;
justify-content: flex-start;
align-items: stretch;
flex-direction: row;
}
.siteNav .siteNav_ul .siteNav_content .siteNav_a {
display: flex;
justify-content: center;
align-items: center;
position: relative;
margin-left:1.2rem;
font-size: 0.6rem;
font-weight: 500;
}

.siteNav .siteNav_ul .siteNav_content .siteNav_a:first-child {
margin-left: none;
}

.siteNav .siteNav_ul .siteNav_content .siteNav_a .siteNav_aLine {
background: linear-gradient(#000, #000) 100% 100% / 0 .5px no-repeat;
transition: background-size .4s cubic-bezier(.23,1,.32,1) 0s;
}

body:not(.-is-touchDevice) .siteNav .siteNav_ul .siteNav_content .siteNav_a:hover .siteNav_aLine {
background-position: 0 100%;
background-size: 100% 0.5px;
}

.menuWrap,
.gnav{
display: none;
}

/* footer
--------------------------------------------*/
footer {
position: relative;
background: url("../images/com/bg_img.png") bottom center no-repeat;
background-size: 100% auto;
width: 100%;
padding:140px 0 500px;
box-sizing: border-box;
}

footer::before {
content: "";
width: 100%;
height: 1387px;
background: #EDF9FF;
background: linear-gradient(0deg, rgba(237,249,255,1) 0%, rgba(237,249,255,1) 75%, rgba(237,249,255,0) 100%);
position: absolute;
left: 0;
bottom: 0;
z-index: -2;
}

footer .information{
width: 1200px;
margin: 0 auto 120px;
display:flex;
flex-wrap: wrap;
justify-content: space-between;
}

footer .information .info_ttl{
width: 100%;
color: #2973b2;
font-size: 38px;
font-weight: bold;
line-height: 1.2;
letter-spacing: .10em;
margin: 0 0 30px;
}

footer .information .info_ttl span{
display: block;
font-size: 15px;
font-weight: 500;
color: #2973b2;
line-height: 1.4;
letter-spacing: .08em;
position: relative;
padding-left: 20px;
margin-bottom: 15px;
}

footer .information .info_ttl span::before{
content:"";
height:90%;
width:5px;
border-radius:2px;
background-color:#2973b2;
position:absolute;
top:50%;
left:0;
-webkit-transform:translateY(-50%);
transform:translateY(-50%);
}

footer .information .time_box{
width:49%;
background-image: linear-gradient(#3754a9, #087ab6);
border-radius: 20px;
padding: 30px;
box-sizing: border-box;
margin-bottom: 2%;
}

footer .information .time_box h4{
text-align: center;
line-height: 1.45;
font-size: 20px;
font-weight: bold;
letter-spacing: .05em;
padding: 8px 10px;
background-color: #FFF;
border-radius: 6px;
margin-bottom: 6px;
margin-bottom: 15px;
}

footer .information .information_box01{
width:66%;
background-image: linear-gradient(#3754a9, #087ab6);
border-radius: 20px;
padding: 30px;
box-sizing: border-box;
}

footer .information .information_box01 .gmap{
width: 100%;
position: relative;
margin-bottom: 20px;
}

footer .information .information_box01 .gmap iframe{
width: 100%;
border: 5px solid #FFF;
border-radius: 10px;
overflow: hidden;
}

footer .information .information_box01 .info_box1{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}

footer .information .information_box01 .info_box1 li{
width:55%;
}

footer .information .information_box01 .info_box1 li:nth-child(2){
width: 45%;
}

footer .information .information_box01 p{
font-weight: 600;
color: #FFF;
line-height: 1.6;
}

footer .information .information_box02{
width: 32%;
padding: 30px;
box-sizing: border-box;
background-image: linear-gradient(#3754a9, #087ab6);
border-radius: 20px;
}

footer .information .information_box02 dl{
position: relative;
}

footer .information .information_box02 dl dt{
text-align: center;
line-height: 1.45;
font-size: 20px;
font-weight: bold;
letter-spacing: .05em;
padding: 8px 10px;
background-color:#FFF;
border-radius: 6px;
margin-bottom: 6px;
}

footer .information .information_box02 dl dd{
font-size: 16px;
font-weight: 600;
color: #FFF;
margin-bottom: 20px;
text-align: center;
}

footer .information .information_box02 dl dd span{
display: inline-block;
font-size: 26px;
font-weight: 800;
color: #FFF;
margin-left: 10px;
}


footer .address{
margin: 0 0 60px;
text-align: center;
}

footer .address .logo_img{
width: 240px;
margin: 0 auto 20px;
}

footer .address h3{
font-size: 20px;
font-weight: 500;
line-height: 1;
margin: 0 0 20px;
letter-spacing: .1rem;
}

footer .copy{
text-align: center;
font-size: 12px;
line-height: 1;
color: #999;
}


.fot_fix_btn{
display: none;
}

/*main
--------------------------------------------------*/
main{
position: relative;
width: 100%;
height: 100%;
padding-top: 115px;
}

main .com_contents{
width: 1200px;
margin: 0 auto;
padding-bottom: 60px;
box-sizing: border-box;
}

main .section_wrap{
width: 1200px;
margin: auto;
position:relative;
}

main .section_wrap2{
width: 1200px;
margin: auto;
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

main .section_wrap .page_l{
position: relative;
width: 100%;
}

main .section_wrap2 .page_l{
width: 840px;
position: relative;
}

main .side{
width: 300px;
position: relative;
}

main .side .side_box{
position: sticky;
top: 140px;
display: fixed;
background: linear-gradient(135deg, #0B60B0 0%, #40A2D8 100%);
border-radius: 20px;
padding: 30px 30px 35px;
margin-bottom: 18px;
}

main .side .side_box .side_ttl {
color: #fff;
font-size: 22px;
font-weight: bold;
line-height: 1.2;
letter-spacing: .1em;
padding-bottom: 14px;
border-bottom: solid 1px #a2c5e3;
margin-bottom: 20px;
}

main .side .side_box .side_list{
position:relative
}

main .side .side_box .side_list li {
margin-bottom: 20px;
}

main .side .side_box .side_list li:last-child {
margin-bottom: 0;
}

main .side .side_box .side_list li a {
display: block;
color: #fff;
font-weight: 500;
line-height: 1.2;
text-decoration: none;
padding-left: 25px;
position: relative;
}

main .side .side_box .side_list li a .sub{
font-size: .8rem;
display: block;
margin-top: 5px;
}

main .side .side_box .side_list li a::before {
content: "";
height: 15px;
width: 15px;
background: url("../images/com/arr.png") no-repeat center/cover;
position: absolute;
top: 5px;
left: 0;
}

main .side .side_box .side_list li a:hover{
text-decoration: underline;
}


/*ttl
--------------------------------------------------*/
.en_ttl{
position: relative;
display:block;
font-size:15px;
font-weight:500;
color:#2973b2;
line-height:1.4;
letter-spacing:.08em;
padding-left:20px;
margin-bottom:15px
}

.en_ttl::before {
content:"";
height:90%;
width:5px;
border-radius:2px;
background-color:#2973b2;
position:absolute;
top:50%;
left:0;
-webkit-transform:translateY(-50%);
transform:translateY(-50%)
}

.ttl{
display: block;
font-size: 42px;
font-weight: 600;
line-height: 1.5;
letter-spacing: .14em;
margin-bottom: 60px;
}

.r_ttl{
display: block;
font-size: 28px;
font-weight: 600;
line-height: 1.5;
letter-spacing: .14em;
margin-bottom: 30px;
color: #2973b2;
}

.s_ttl{
display: block;
font-size: 20px;
font-weight: 600;
line-height: 1.5;
letter-spacing: .14em;
margin-bottom: 30px;
}

.s_ttl span{
color: #2973b2;
font-weight: 800;
}


.hed_ttl_box{
position: relative;
margin:0 auto 60px;
padding-top: 40px;
box-sizing: border-box;
align-items: center;
border-bottom: 1px solid rgba(255,255,255,.2);
display: flex;
flex-direction: column;
width: 100%;
}

.hed_ttl_box .hed_ttl_box_body{
padding-bottom:45px;
position: relative;
}

.hed_ttl_box .hed_ttl_box_body::before{
background-color:#FFF;
content: "";
display: block;
height: 6px;
left: 50%;
margin-top: -1px;
position: absolute;
bottom: 0;
transform: translateX(-50%);
width: 100%;
}

.hed_ttl_box .hed_ttl_box_body .ttl{
color: #FFF;
text-align: center;
margin-bottom:0;
}

.com_sub_ttl{
padding: 30px 36px;
box-sizing: border-box;
background: #f8f7f6;
position: relative;
margin: 0 0 30px;
}

.com_sub_ttl::before{
background-color:#0246a7;
content: "";
display: block;
left: 0;
position: absolute;
top: 0;
width: 6px;
height:100%;
}

.com_ttl {
font-size: 35px;
font-weight: bold;
line-height: 1.7;
letter-spacing: .12em;
padding-top: 25px;
margin-bottom: 31px;
position: relative;
}


.com_ttl::before {
content: "";
width: 60px;
height: 4px;
background: #0b60b0;
border-radius: 10px;
position: absolute;
left: 0;
top: 0;
}

.com_ttl_s {
font-size: 25px;
font-weight: bold;
line-height: 1.5;
letter-spacing: .12em;
background: #f5f9fc;
padding: 11px 20px;
border-radius: 6px;
margin-bottom:30px;
}


.com_ttl_ss {
font-size: 22px;
letter-spacing: .04em;
line-height: 1.4;
font-weight: bold;
border-bottom: 1px solid #ddd;
position: relative;
padding-bottom: 14px;
margin-bottom: 26px;
}

.com_ttl_ss::before {
content: "";
background: #0b60b0;
width: 100px;
height: 1px;
position: absolute;
left: 0;
bottom: -1px;
}

.com_ttl_sss {
font-size:20px;
letter-spacing: .02em;
line-height: 1.4;
font-weight: bold;
position: relative;
color: #0b60b0;
margin-bottom: 15px;
}


.com_redtxt {
font-size: 22px;
letter-spacing: .04em;
line-height: 1.4;
font-weight: bold;
position: relative;
color:rgb(11, 96, 176);
margin-bottom: 60px;
}

.com_redtxt2 {
font-size: 28px;
letter-spacing: .04em;
line-height: 1.4;
font-weight: 300;
position: relative;
color:rgb(11, 96, 176);
margin-bottom: 20px;
}



/*list
-----------------------------------*/
.dot_list{
position: relative;
margin-left: 5px;
}

.dot_list li {
padding-left: 20px;
position: relative;
}

.dot_list li::before {
content: "●";
color: #0b60b0;
font-size: 11px;
position: absolute;
left: 0;
top: 6px;
}

.dot_list li a{
color: #2973b2;
}

.dot_list li a:hover{
text-decoration: underline;
}

.ol_list{
position: relative;
margin-left:15px;
list-style:decimal;
}

.ol_list li {
position: relative;
margin-left: 15px;
}

.ol_list li a{
color: #2973b2;
}

.ol_list li a:hover{
text-decoration: underline;
}


.com_btn_list{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content:center;
margin: 0 auto 40px;
}

.com_btn_list li{
width:23%;
margin: 0 10px;
}

.com_btn_list li a{
width: 100%;
background: linear-gradient(135deg, #0B60B0 0%, #40A2D8 100%);
padding:5px 20px;
box-sizing:border-box;
text-align: center;
color: #FFF;
font-weight: bold;
border-radius: 50rem;
display: block;
}

/*btn
-----------------------------------*/
.button02{
display: inline-block;
width: 100%;
font-weight: bold;
color: #fff;
position: relative;
text-align: left;
text-decoration: none;
border: 2px solid #0e3a70;
background: #0e3a70;
padding: 12px 50px 12px 19px;
box-sizing: border-box;
-webkit-transition: all .3s;
transition: all .3s;
border-radius: .6rem;
}

.button02.max{
max-width: 300px;
}

.button02::before{
content: "";
background: url(../images/com/white_ar.png) no-repeat center/contain;
background-image: url("../images/com/white_ar.png");
width: 22px;
height: 9px;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
right: 20px;
z-index: 2px;
-webkit-transition: all .3s;
transition: all .3s;
}

.button02.white{
background: #fff;
color: #0e3a70;
}

.button02.white::before{
background-image: url(../images/com/blue_ar.png);
}

.button02.white:hover{
background: #0e3a70;
color: #fff;
border-color: #fff;
}

.button02.white:hover::before{
background-image: url(../images/com/white_ar.png);
}

.button02 .sub{
font-size: .8rem;
margin-left: 10px;
}

/*hed
----------------------------------------*/
.hed{
height: 460px;
margin-top: 5px;
margin-bottom: 120px;
position: relative;
}

.hed::after {
content: "";
width: calc(100% - 275px);
height: 100%;
background: #f5f9fc;
border-radius: 0 20px 20px 0;
position: absolute;
left: 0;
top: 0;
z-index: -1;
}

.hed .hed_msg{
width: calc(40.3% - 60px);
position: absolute;
left: 100px;
top: 48%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
z-index: 1;
}

.hed .hed_msg h1{
font-size: 42px;
font-weight: 500;
line-height: 1.7;
letter-spacing: .12em;
margin-bottom: 14px;
}

.hed .hed_msg .en{
color: #0b60b0;
font-weight: 500;
line-height: 1.8;
letter-spacing: .08em;
margin-bottom: 71px;
}

.hed .breadcrumb-wrap {
width: 580px;
padding-left: 26px;
position: relative;
}

.hed .breadcrumb-wrap::before {
content: "";
width: 18px;
height: 18px;
background: url("../images/com/icon_home.png") no-repeat center/contain;
position: absolute;
left: 0;
top: 4px;
}

.hed .breadcrumb-wrap .breadcrumb {
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
align-items: stretch;
display: flex;
flex-wrap: nowrap;
}

.hed .breadcrumb-wrap .breadcrumb .item {
font-size: 13px;
font-weight: bold;
position: relative;
white-space: nowrap;
}

.hed .breadcrumb-wrap .breadcrumb .item a {
text-decoration: underline;
color: #0b60b0;
}

.hed .breadcrumb-wrap .breadcrumb .item:not(:last-of-type) {
padding-right: 17px;
margin-right: 10px;
}

.hed .breadcrumb-wrap .breadcrumb .item:not(:last-of-type)::after {
content: "/";
font-size: 13px;
position: absolute;
right: 0;
top: 0px;
display: inline-block;
text-decoration: inherit;
}

.hed .hed_img {
width: 52.8%;
height: 460px;
border-radius: 20px 0 0 20px;
overflow: hidden;
position: absolute;
right: 0;
bottom: -59px;
}


/*com
------------------------------------------*/
.link_list{
display: flex;
flex-wrap: wrap;
margin-bottom: 50px
}

.link_list li{
width: 31.333%;
margin-right: 2%;
margin-bottom: 2%;
}

.link_list li:nth-child(3n){
margin-right: 0;
}

.link_list2{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 50px
}

.link_list2 li{
width: 49%;
margin-bottom: 2%;
}

main .com_box{
margin: 0 auto 80px;
}

/*table
----------------------------------*/
.table01 {
width: 100%;
font-size: 16px;
}

.table01 tr th {
width: 25%;
font-weight:bold;
background-color:#f5f9fc;
border: 1px solid #ddd;
padding: 20px;
box-sizing: border-box;
}

.table01 tr td {
background-color:#fff;
border: 1px solid #ddd;
padding: 20px;
box-sizing: border-box;
}

.table01 tr td a{
color: #2973b2;
}

.table01 tr td a:hover{
text-decoration: underline;
}


.table03 {
width: 100%;
font-size: 14px;
}

.table03 tr th,
.table03 tr td {
border: 1px solid #ddd;
}

.table03 tr th {
background: rgba(61, 165, 221, 0.07);
padding: 10px;
line-height: 1.6;
text-align: center;
}

.table03 tr td {
padding: 10px;
}


.table03_c {
width: 100%;
font-size: 14px;
}

.table03_c tr th,
.table03_c tr td {
border: 1px solid #ddd;
}

.table03_c tr th {
background: rgba(61, 165, 221, 0.07);
padding: 10px;
line-height: 1.6;
text-align: center;

}

.table03_c tr td {
padding: 10px;
text-align: center;
}

.table03_c tr td .s_txt{
font-size: .9rem;
}

.table03_c tr td code{
font-size: .7rem;
}


.table_s {
width: 100%;
border: 1px solid #ddd;
font-size: 14px;
}

.table_s tr th,
.table_s tr td {
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}

.table_s tr th {
background:#008dcf;
padding: 5px;
line-height: 1.6;
text-align: center;
color: #FFF;
}

.table_s tr td {
padding: 10px;
text-align: center;
background: #FFF;
font-size: 1.2rem;
font-weight: bold;
color: #008dcf;
}

.table_s tr td span{
display: block;
font-size: .9rem;
}


.table_n {
width: 100%;
border: 1px solid #ddd;
font-size: 14px;
}

.table_n tr th,
.table_n tr td {
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}

.table_n tr th {
background:#ea8e16;
padding: 5px;
line-height: 1.6;
text-align: center;
color: #FFF;
}

.table_n tr td {
padding: 10px;
text-align: center;
background: #FFF;
font-size: 1.2rem;
font-weight: bold;
color: #ea8e16;
}

.table_n tr td span{
display: block;
font-size: .9rem;
}


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


body{
overflow-x: hidden;
line-height:1.85;
}
/*--スクロールトップ---------*/
#totop {
bottom: 80px;
display: block;
position: fixed;
right: 15px;
z-index: 50;
width:40px;
}
#totop a {
display: block;
width: 40px;
height: 40px;
text-indent: -1000em;
overflow: hidden;
background: url(../images/com/btn_scroll_top.png) 0 0 no-repeat;
background-size: auto auto;
background-size: 100% auto;
}


/* com
--------------------------------------------*/
.pcBr {
display: none;
}
.spBr {
display: inline-block;
}
.pc {
display: none !important;
}
.sp {
display: block;
}


/* header
--------------------------------------------*/
header {
position: fixed;
width: 100%;
min-width: 320px;
height: 60px;
z-index: 10;
background: #FFF;
}

#header {
position: relative;
width: 100%;
transition: 0.5s;
margin: auto;
}

#header .logo_wrap {
position: absolute;
top: 0;
left: 15px;
display: block;
width:160px;
transition: 0.5s;
padding:10px 0;
box-sizing: border-box;
}

#header .logo_wrap a{
display: block;
transition: all 0.5s 0s ease;
}

#header .g_menu{
display: none;
}


/* デフォルトのbuttonスタイルをリセット */
button {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: transparent;
border: 0;
border-radius: 0;
color: inherit;
cursor: pointer;
font: inherit;
margin: 0;
outline: none;
padding: 0;
vertical-align: middle;
}

/* 以下、ハンバーガーボタン */
.burger-btn {
display: block;
width: 50px;
height: 39px;
position: relative;
z-index: 3;
border: none;
}

.bar {
width: 20px;
height: 1px;
display: block;
position: absolute;
left: 50%;
transform: translateX(-50%);
background-color: #000;
}

.bar_top {
top: 10px;
}
.bar_mid {
top: 50%;
transform: translate(-50%, -50%);
}
.bar_bottom {
bottom: 10px;
}
.burger-btn.close .bar_top {
transform: translate(-50%, 10px) rotate(45deg);
transition: transform .3s;
}
.burger-btn.close .bar_mid {
opacity: 0;
transition: opacity .3s;
}
.burger-btn.close .bar_bottom {
transform: translate(-50%, -8px) rotate(-45deg);
transition: transform .3s;
}
.menu_list,
.hed_btn_list{
display: none;
}

.siteNav {
display: none;
}

.btn_tel{
position: absolute;
top: 0;
right: 60px;
width: 70px;
height: 100%;
}

.btn_tel a{
width: 100%;
height: 60px;
display: block;
border-left:1px solid #ddd;
border-bottom:1px solid #ddd;
text-align: center;
padding: 5px 0 10px;
box-sizing: border-box;
}

.btn_tel a i{
font-size: 16px;
line-height: 0;
color: #008dcf;
}

.btn_tel a span{
display: block;
font-size: 14px;
font-weight: bold;
line-height: 1;
}

/*menu*/
.menuWrap {
position: absolute;
top: 0;
right:0;
width:60px;
height:60px;
z-index: 20000;
cursor: pointer;
background: url("../images/com/bg_img_sp.jpg") 0 0 no-repeat;
background-size: cover;
padding: 10px;
box-sizing: border-box;
}

.menuWrap p {
width: 100%;
display: block;
position: relative;
font-size: 9px;
font-weight: bold;
line-height: 1em;
text-align: center;
padding-top: 5px;
box-sizing: border-box;
}

.menu {
display: block;
position: relative;
width:100%;
height:100%;
margin: auto;

}
.menu__line {
background: #FFF;
display: block;
height: 2px;
position: absolute;
transition: transform .3s;
width: 100%;
}
.menu__line--center {
top: 2px;
}
.menu__line--bottom {
bottom: 0;
}
.menu__line--top.active {
top: 20px;
transform: rotate(45deg);
width: 100%;
background: #FFF
}
.menu__line--center.active {
transform: scaleX(0);
}
.menu__line--bottom.active {
bottom:18px;
transform: rotate(135deg);
background: #FFF
}

/*gnav*/
.gnav {
background:#FFF;
display: none;
height: 100%;
position: fixed;
width: 100%;
top: 0;
left:0;
}
.gnav__wrap {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
align-items: center;
position: absolute;
width: 96%;
background-size: cover;
background: #f2f5f8;
top: 20px;
left: 2%;
padding: 15px 0;
box-sizing: border-box;

overflow-y:scroll;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
height: 100vh;

}

.gnav_bg_img {
display: none;
}

.gnav h3{
margin-bottom: 20px;
line-height: 1;
}

.gnav_contents {
width: 100%;
margin: auto;
}

.gnav_contents_box {
width: 100%;
height: 100%;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
overscroll-behavior: contain;
margin: auto;
}

.gnav__menu {
position: relative;
height:90%;
height: 66vh; /* ここ重要 */
overflow-y: auto; /* auto推奨 */
}

.gnav__menu__item {
border-bottom: 1px solid #ddd;
padding: 12px 0;
box-sizing: border-box;
}

.gnav__menu__item a{
color: #2f393e;
line-height:1;
letter-spacing: 0.03em;
font-weight: 600;
font-size: 16px;
text-decoration: none;
transition: .5s;
display: block;
padding: 8px;
box-sizing: border-box;
}

.gnav__menu__item a:hover {
color: #008dcf;
}

.gnav__menu__item ul{
margin-left: 10px;
}

.gnav__menu__item ul li{
margin: 10px 0;
}

.gnav__menu__item ul li a{
font-size: 0.8rem;
}

.gnav_logo {
width: 220px;
margin: 0 0 30px;
}
.gnav_logo img {
width: 100%;
height: auto;
}
.gnav_menu_sub {
box-sizing: border-box;
margin: 0 auto;
margin: 20px 0 0 5px;
}
.gnav_menu_sub li:nth-child(n+2) {
margin-top: 10px;
}
.gnav_menu_sub li a {
color: #666;
display: block;
font-size: 12px;
}

.g_menu_wrap {
display: none;
}

.gnav_menu_boxL{
position: relative;
width: 96%;
margin: auto;

} 

.menu_logo{
width:46%;
margin: 0 auto 30px;
}

.company_name1{
font-size: 0.7rem;
font-weight: normal;
margin: 0 0 10px;
color: #005bac;
}

.company_name2{
font-size: 0.7rem;
font-weight: normal;
margin: 0 0 10px;
color: #5d1b56;
}

/*アコーディオンメニュー
-------------------------------------------*/
#header .gnav__wrap details {
}
#header .gnav__wrap details::details-content {
transition: height 0.4s, opacity 0.4s, content-visibility 0.4s allow-discrete;
height: 0;
opacity: 0;
overflow: clip;
background-color: #f0f2ff;
}
#header .gnav__wrap details[open]::details-content {
opacity: 1;
}

#header .gnav__wrap details[open] .icon {
transform: rotate(180deg);
}

@supports (interpolate-size: allow-keywords) {
:root {
interpolate-size: allow-keywords;
}

#header .gnav__wrap details[open]::details-content {
height: auto;
}
}

@supports not (interpolate-size: allow-keywords) {
#header .gnav__wrap details[open]::details-content {
height:auto;;
overflow-y: none;
}
}

#header .gnav__wrap summary {
display: grid;
grid-template-columns: 1fr 24px;
gap: 6px;
align-items: center;
padding:8px;
border: 1px solid #ddd;
font-weight: bold;
color: #2f393e;
cursor: pointer;
background: #FFF;
}

#header .gnav__wrap summary::-webkit-details-marker {
display: none;
}

#header .gnav__wrap .icon {
display: block;
position: relative;
width: 24px;
margin-left: -12px;
flex-shrink: 0;
transform-origin: center 43%;
transition: transform 0.4s;
}
#header .gnav__wrap .icon::before,
#header .gnav__wrap .icon::after {
content: "";
position: absolute;
display: block;
width: 15px;
height: 3px;
background-color: #2f509a;
}

#header .gnav__wrap .icon::before {
left: 0;
transform: rotate(45deg);
}

#header .gnav__wrap .icon::after {
right: 0;
transform: rotate(-45deg);
}

#header .gnav__wrap .content {
padding:10px;
box-sizing: border-box;
}

#header .gnav__wrap .content ul{
margin: 0;
padding: 0;
}

#header .gnav__wrap .content ul li{
border-bottom: 1px solid #ddd;
padding: 6px;
box-sizing: border-box;
}

#header .gnav__wrap .content ul li a{
display: block;
font-size: 14px;
font-weight: 600;
}

#header .gnav__wrap .content ul li a .sub{
font-size: 12px;
margin-left: 10px;
}

/* footer
--------------------------------------------*/
footer {
position: relative;
background: url("../images/com/bg_img.png") bottom center no-repeat;
background-size: 100% auto;
width: 100%;
padding:60px 0 160px;
box-sizing: border-box;
}

footer::before {
content: "";
width: 100%;
height: 100%;
background: #EDF9FF;
background: linear-gradient(0deg, rgba(237,249,255,1) 0%, rgba(237,249,255,1) 75%, rgba(237,249,255,0) 100%);
position: absolute;
left: 0;
bottom: 0;
z-index: -2;
}

footer .information .time_box{
width: 100%;
background-image: linear-gradient(#3754a9, #087ab6);
border-radius: 10px;
padding: 15px;
box-sizing: border-box;
margin-bottom: 30px;
}

footer .information .time_box h4{
text-align: center;
line-height: 1.45;
font-size: 16px;
font-weight: bold;
letter-spacing: 0.05em;
padding: 4px 5px;
background-color: rgb(255, 255, 255);
border-radius: 6px;
margin-bottom: 10px;
}

footer .information{
width: 90%;
margin: 0 auto 60px;
}

footer .information .info_ttl{
width: 100%;
color: #2973b2;
font-size: 22px;
font-weight: bold;
line-height: 1.2;
letter-spacing: .05em;
margin: 0 0 30px;
}

footer .information .info_ttl span{
display: block;
font-size: 10px;
font-weight: 500;
color: #2973b2;
line-height: 1.4;
letter-spacing: .08em;
position: relative;
padding-left: 15px;
margin-bottom: 15px;
}

footer .information .info_ttl span::before{
content:"";
height:90%;
width:5px;
border-radius:2px;
background-color:#2973b2;
position:absolute;
top:50%;
left:0;
-webkit-transform:translateY(-50%);
transform:translateY(-50%);
}

footer .information .information_box01{
width:100%;
background-image: linear-gradient(#3754a9, #087ab6);
border-radius: 10px;
padding: 15px;
box-sizing: border-box;
margin-bottom: 30px;
}

footer .information .information_box01 .gmap{
width: 100%;
position: relative;
margin-bottom: 20px;
}

footer .information .information_box01 .gmap iframe{
width: 100%;
border: 5px solid #FFF;
border-radius: 10px;
overflow: hidden;
}

footer .information .information_box01 .info_box1{

}

footer .information .information_box01 .info_box1 li{
width:100%;
}

footer .information .information_box01 p{
font-weight: 600;
color: #FFF;
line-height: 1.6;
margin-bottom: 20px;
}

footer .information .information_box02{
width: 100%;
padding: 15px;
box-sizing: border-box;
background-image: linear-gradient(#3754a9, #087ab6);
border-radius: 10px;
}

footer .information .information_box02 dl{
position: relative;
}

footer .information .information_box02 dl dt{
text-align: center;
line-height: 1.45;
font-size: 16px;
font-weight: bold;
letter-spacing: .05em;
padding: 4px 5px;
background-color:#FFF;
border-radius: 6px;
margin-bottom: 6px;
}

footer .information .information_box02 dl dd{
font-size: 14px;
font-weight: 600;
color: #FFF;
margin-bottom: 20px;
text-align: center;
}

footer .information .information_box02 dl dd span{
display: inline-block;
font-size: 20px;
font-weight: 800;
color: #FFF;
margin-left: 10px;
}


footer .address{
width: 90%;
margin: 0 auto 30px;
text-align: center;
}

footer .address .logo_img{
width: 240px;
margin: 0 auto 20px;
}

footer .address h3{
font-size: 20px;
font-weight: 500;
line-height: 1;
margin: 0 0 20px;
letter-spacing: .1rem;
}

footer .copy{
text-align: center;
font-size: 10px;
line-height: 1;
color: #999;
}


.fot_fix_btn{
width: 100%;
position: fixed;
bottom: 0;
left: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #FFF;
z-index: 5;
}

.fot_fix_btn li{
width: 33.1%;
background-image: linear-gradient(#3754a9, #087ab6);
}

.fot_fix_btn li a{
display:block;
padding: 5px;
box-sizing: border-box;
color: #FFF;
text-align: center;
}

.fot_fix_btn li a i{
font-size: 18px;
}

.fot_fix_btn li a span{
display: block;
font-size: 12px;
font-weight: bold;
text-align: center;
}


/*main
--------------------------------------------------*/
main{
position: relative;
width: 100%;
height: 100%;
padding-top: 60px;
box-sizing: border-box;
}

main .com_contents{
width: 90%;
margin: 0 auto 40px;
padding-bottom: 40px;
box-sizing: border-box;
}

main .section_wrap,
main .section_wrap2{
position:relative;
width: 90%;
margin: auto;
}

main .page_l{
width: 100%;
position: relative;
}

.link_list{
margin-bottom: 30px
}

.link_list li{
width:100%;
margin-bottom:15px;
}

.link_list li:last-child{
margin-bottom: 0;
}

.link_list2{
margin-bottom:30px
}

.link_list2 li{
width:100%;
margin-bottom:15px;
}

.link_list2 li:last-child{
margin-bottom: 0;
}

main .com_box{
margin: 0 auto 40px;
}

main .side{
width: 100%;
position: relative;
}

main .side .side_box{
position: relative;
background: linear-gradient(135deg, #0B60B0 0%, #40A2D8 100%);
border-radius: 10px;
padding: 20px 20px 25px;
margin-bottom: 18px;
}

main .side .side_box .side_ttl {
color: #fff;
font-size: 18px;
font-weight: bold;
line-height: 1.2;
letter-spacing: .1em;
padding-bottom: 14px;
border-bottom: solid 1px #a2c5e3;
margin-bottom: 20px;
}

main .side .side_box .side_list{
position:relative
}

main .side .side_box .side_list li {
margin-bottom: 15px;
}

main .side .side_box .side_list li:last-child {
margin-bottom: 0;
}

main .side .side_box .side_list li a {
display: block;
color: #fff;
font-size: 14px;
font-weight: 500;
line-height: 1.2;
text-decoration: none;
padding-left: 25px;
position: relative;
}

main .side .side_box .side_list li a .sub{
display: block;
font-size: .7rem;
margin-top: 5px;
}

main .side .side_box .side_list li a::before {
content: "";
height: 15px;
width: 15px;
background: url("../images/com/arr.png") no-repeat center/cover;
position: absolute;
top: 5px;
left: 0;
}

main .side .side_box .side_list li a:hover{
text-decoration: underline;
}


/*hed
----------------------------------------*/
.hed{
margin-bottom: 40px;
position: relative;
}

.hed::after {
content: "";
width:calc(100% - 3%);
height: 100%;
background: #f5f9fc;
border-radius: 0 20px 20px 0;
position: absolute;
left: 0;
top: 0;
z-index: -1;
}

.hed .hed_msg{
width: 90%;
position: relative;
padding:35px 15px 0;
box-sizing: border-box;
-webkit-transform: none;
transform: none;
margin-bottom: 35px;
}

.hed .hed_msg h1{
font-size: 20px;
line-height: 1.4;
margin-bottom: 10px;
}

.hed .hed_msg .en{
color: #0b60b0;
font-size: 10px;
font-weight: 500;
line-height: 1.4;
letter-spacing: .1em;
margin-bottom: 30px;
}

.hed .breadcrumb-wrap {
width: 90%;
padding-left:5%;
position: relative;
}

.hed .breadcrumb-wrap::before {
content: "";
width: 12px;
height: 12px;
background: url("../images/com/icon_home.png") no-repeat center/contain;
position: absolute;
left: 0;
top: 6px;
}

.hed .breadcrumb-wrap .breadcrumb {
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
align-items: stretch;
display: flex;
}

.hed .breadcrumb-wrap .breadcrumb .item {
font-size: 12px;
font-weight: bold;
position: relative;
white-space: nowrap;
}

.hed .breadcrumb-wrap .breadcrumb .item a {
text-decoration: underline;
color: #0b60b0;
}

.hed .breadcrumb-wrap .breadcrumb .item:not(:last-of-type) {
padding-right: 17px;
margin-right: 10px;
}

.hed .breadcrumb-wrap .breadcrumb .item:not(:last-of-type)::after {
content: "/";
font-size: 12px;
position: absolute;
right: 0;
top: 0px;
display: inline-block;
text-decoration: inherit;
}

.hed .hed_img {
width: calc(100% - 15px);
position: relative;
bottom: 0;
right: -15px;
}

.hed .hed_img img{
border-radius: 20px 0 0 20px;
overflow: hidden;
}



/*ttl
--------------------------------------------------*/
.en_ttl{
position: relative;
display:block;
font-size:12px;
font-weight:500;
color:#2973b2;
line-height:1.4;
letter-spacing:.08em;
padding-left:10px;
margin-bottom:15px
}

.en_ttl::before {
content:"";
height:90%;
width:3px;
border-radius:2px;
background-color:#2973b2;
position:absolute;
top:50%;
left:0;
-webkit-transform:translateY(-50%);
transform:translateY(-50%)
}

.ttl{
display: block;
font-size: 20px;
font-weight: 600;
line-height: 1.5;
letter-spacing: .1em;
margin-bottom: 20px;
}

.r_ttl{
display: block;
font-size: 18px;
font-weight: 600;
line-height: 1.5;
letter-spacing: .14em;
margin-bottom: 30px;
color: #2973b2;
}

.s_ttl{
display: block;
font-size: 16px;
font-weight: 600;
line-height: 1.5;
letter-spacing: .14em;
margin-bottom: 30px;
}

.s_ttl span{
color: #2973b2;
font-weight: 800;
}


.hed_ttl_box{
position: relative;
margin:0 auto 60px;
padding-top: 40px;
box-sizing: border-box;
align-items: center;
border-bottom: 1px solid rgba(255,255,255,.2);
display: flex;
flex-direction: column;
width: 100%;
}

.hed_ttl_box .hed_ttl_box_body{
padding-bottom:45px;
position: relative;
}

.hed_ttl_box .hed_ttl_box_body::before{
background-color:#FFF;
content: "";
display: block;
height: 6px;
left: 50%;
margin-top: -1px;
position: absolute;
bottom: 0;
transform: translateX(-50%);
width: 100%;
}

.hed_ttl_box .hed_ttl_box_body .ttl{
color: #FFF;
text-align: center;
margin-bottom:0;
}

.com_sub_ttl{
padding: 30px 36px;
box-sizing: border-box;
background: #f8f7f6;
position: relative;
margin: 0 0 30px;
}

.com_sub_ttl::before{
background-color:#0246a7;
content: "";
display: block;
left: 0;
position: absolute;
top: 0;
width: 6px;
height:100%;
}

.com_ttl {
font-size: 20px;
font-weight: bold;
line-height: 1.4;
letter-spacing: .1em;
padding-top: 15px;
margin-bottom: 20px;
position: relative;
}


.com_ttl::before {
content: "";
width: 30px;
height: 4px;
background: #0b60b0;
border-radius: 10px;
position: absolute;
left: 0;
top: 0;
}

.com_ttl_s {
font-size:18px;
font-weight: bold;
line-height: 1.5;
letter-spacing: .12em;
background: #f5f9fc;
padding: 8px 10px;
border-radius: 6px;
margin-bottom:30px;
}


.com_ttl_ss {
font-size: 16px;
letter-spacing: .04em;
line-height: 1.2;
font-weight: bold;
border-bottom: 1px solid #ddd;
position: relative;
padding-bottom: 10px;
margin-bottom: 20px;
}

.com_ttl_ss::before {
content: "";
background: #0b60b0;
width: 100px;
height: 1px;
position: absolute;
left: 0;
bottom: -1px;
}

.com_redtxt {
font-size: 18px;
letter-spacing: .04em;
line-height: 1.6;
font-weight: bold;
position: relative;
color:rgb(11, 96, 176);
margin-bottom: 30px;
}

.com_redtxt2 {
font-size: 28px;
letter-spacing: .04em;
line-height: 1.4;
font-weight: 300;
position: relative;
color:rgb(11, 96, 176);
margin-bottom: 20px;
}



/* ボタン共通設定 */
.vision__value__link {
margin:1rem auto 0;
text-align: center;
}

.vision__value__link .boxbutton {
width:100%;
margin:0 auto;
}

.boxbutton {
align-items:center;
background-color:#0f5690;
border-radius:.5rem;
color:#FFF !important;
display:flex;
flex-flow:row nowrap;
font-size:.8rem;
font-style:normal;
font-weight:700;
height:auto;
justify-content:flex-start;
letter-spacing:0;
line-height:1;
min-height:1.4rem;
padding:1rem 0 1rem 1rem;
box-sizing: border-box;
position:relative;
width:-moz-fit-content;
width:fit-content;
transform: .5s;
}

.boxbutton:hover{
background-color:#357eb9;
transform: .5s;
}

.vision__value__link .boxbutton a:hover{
color: #FFF;
}

.boxbutton:before {
background-color:hsla(0,0%,100%,.4);
height:100%;
right:50px;
top:0;
width:1px
}
.boxbutton:after,
.boxbutton:before {
content:"";
display:block;
position:absolute
}

.boxbutton:after {
background-color:#fff;
clip-path:polygon(0 0,100% 50%,0 100%);
height:.6rem;
right:1rem;
top:calc(50% - .4rem);
width:.5rem
}

.boxbutton--nextarrow,
.boxbutton--prevarrow {
border:1px solid #d9d9d9;
border-radius:.5rem;
color:transparent;
display:block;
font-size:0;
height:3rem;
letter-spacing:0;
line-height:0px;
position:relative;
}

.boxbutton--nextarrow:after,
.boxbutton--prevarrow:after {
background-color:#0f5690;
clip-path:polygon(100% 0,0 50%,100% 100%);
content:"";
display:block;
height:.8rem;
position:absolute;
right:calc(50% - .4rem);
top:calc(50% - .4rem);
width:.8rem
}
.boxbutton--nextarrow.disabled,
.boxbutton--prevarrow.disabled {
opacity:.2;
pointer-events:none
}
.boxbutton--prevarrow:after {
clip-path:polygon(100% 0,0 50%,100% 100%)
}

.boxbutton--reverse {
padding:1.4rem 3rem 1.4rem 9.6rem
}
.boxbutton--reverse:before {
left:6.6rem
}
.boxbutton--reverse:after {
clip-path:polygon(100% 0,0 50%,100% 100%);
left:2.9rem
}

.boxbutton.boxbutton--whiteborder {
background-color:#fff;
border:1px solid #d9d9d9;
color:#0f5690;
}
.boxbutton.boxbutton--whiteborder:before {
background-color:#d9d9d9
}
.boxbutton.boxbutton--whiteborder:after {
background-color:#0f5690
}

.page_title {
font-size: 1.4em;
line-height: 1.2;
color: #FFFFFF;
padding-top: 30px;
text-shadow: 1px 1px 3px #000;
}


.table_s {
width: 100%;
border: 1px solid #ddd;
font-size:.8rem;
}

.table_s tr th,
.table_s tr td {
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}

.table_s tr th {
background:#008dcf;
padding: 5px;
line-height: 1.6;
text-align: center;
color: #FFF;
}

.table_s tr td {
padding: 5px;
text-align: center;
background: #FFF;
font-weight: bold;
color: #008dcf;
}

.table_s tr td span{
display: block;
font-size: .7rem;
}


.table_n {
width: 100%;
border: 1px solid #ddd;
font-size:.8rem;
}

.table_n tr th,
.table_n tr td {
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}

.table_n tr th {
background:#ea8e16;
padding: 5px;
line-height: 1.6;
text-align: center;
color: #FFF;
}

.table_n tr td {
padding: 5px;
text-align: center;
background: #FFF;
font-weight: bold;
color: #ea8e16;
}

.table_n tr td span{
display: block;
font-size:.8rem;
}



/*btn
-----------------------------------*/
.button02{
display: inline-block;
width: 100%;
font-weight: bold;
color: #fff;
position: relative;
text-align: left;
text-decoration: none;
border: 2px solid #0e3a70;
background: #0e3a70;
padding: 12px 50px 12px 19px;
box-sizing: border-box;
-webkit-transition: all .3s;
transition: all .3s;
border-radius: .6rem;
font-size: 14px;
}

.button02.max{
max-width: 300px;
}

.button02::before{
content: "";
background: url(../images/com/white_ar.png) no-repeat center/contain;
background-image: url("../images/com/white_ar.png");
width: 22px;
height: 9px;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
right: 20px;
z-index: 2px;
-webkit-transition: all .3s;
transition: all .3s;
}

.button02.white{
background: #fff;
color: #0e3a70;
}

.button02.white::before{
background-image: url(../images/com/blue_ar.png);
}

.button02.white:hover{
background: #0e3a70;
color: #fff;
border-color: #fff;
}

.button02.white:hover::before{
background-image: url(../images/com/white_ar.png);
}

.button02 .sub{
font-size: .8rem;
margin-left: 10px;
}

/*list
-----------------------------------*/
.dot_list{
position: relative;
margin-left: 5px;
}

.dot_list li {
font-size: 14px;
padding-left:15px;
position: relative;
}

.dot_list li::before {
content: "●";
color: #0b60b0;
font-size: 10px;
position: absolute;
top: 3px;
left: 0;
}

.dot_list li a{
color: #2973b2;
}

.dot_list li a:hover{
text-decoration: underline;
}

.ol_list{
position: relative;
margin-left:15px;
list-style:decimal;
}

.ol_list li {
position: relative;
font-size: 14px;
margin-left: 15px;
}

.ol_list li a{
color: #2973b2;
}

.ol_list li a:hover{
text-decoration: underline;
}


.com_btn_list{
width: 100%;
margin: 0 auto 30px;
}

.com_btn_list li{
width:100%;
margin: 0 0 10px;
}

.com_btn_list li:last-child{
margin-bottom: 0;
}

.com_btn_list li a{
width: 100%;
background: linear-gradient(135deg, #0B60B0 0%, #40A2D8 100%);
padding:5px 10px;
box-sizing:border-box;
text-align: center;
color: #FFF;
font-weight: bold;
border-radius: 50rem;
display: block;
font-size: 14px;
}



/*table
----------------------------------*/
.table01 {
width: 100%;
border-top: 1px solid #ddd;
border-right: 1px solid #ddd;
font-size: 14px;
}

.table01 tr th {
width: 100%;
font-weight:bold;
background-color:#f5f9fc;
border: 1px solid #ddd;
padding: 10px;
box-sizing: border-box;
display: block;
}

.table01 tr td {
display: block;
background-color:#fff;
border: 1px solid #ddd;
padding: 10px;
box-sizing: border-box;
}

.table01 tr td a{
color: #2973b2;
}

.table01 tr td a:hover{
text-decoration: underline;
}


.table03 {
width: 800px;
}

.table03 tr th,
.table03 tr td {
border: 1px solid #ddd;
}

.table03 tr th {
background: rgba(61, 165, 221, 0.07);
padding: 10px;
line-height: 1.6;
font-size: 15px;
text-align: center;
}

.table03 tr td {
padding: 10px;
}


.table03_c {
width:800px;
}

.table03_c tr th,
.table03_c tr td {
border: 1px solid #ddd;
}

.table03_c tr th {
background: rgba(61, 165, 221, 0.07);
padding: 10px;
line-height: 1.6;
font-size: 15px;
text-align: center;

}

.table03_c tr td {
padding: 10px;
text-align: center;
}

.table03_c tr td .s_txt{
font-size: .9rem;
}


.table03_c tr td code{
font-size: .7rem;
}


}