@charset "utf-8";

body {
	background: #FFF;
}

#wrapper {
    /*display: none;*/
    position: relative;
    z-index: 10;
}

.bg01 {
    background: #0371AB;
}

.underlayer #head:before {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/contents/bg_contents.png) repeat 0 0;
    content: "";
    z-index: 0;
}

@media screen and (max-width:768px){
    br.sp_br,
    .sp_none {
        display: none;
    }
}

@media screen and (min-width: 768px){
	.br-pc { 
		display:block;
}
	.br-sp { 
		display:none;
	}
}

@media screen and (max-width: 768px){
	.br-pc { 
		display:none; 
	}
	.br-sp { 
		display:block; 
	}
}
/************************************************

	loader

*************************************************/
#loading_body {
    position: absolute;
    width: 100%;
    height: 15000px;
    top: 0px;
    left: 0px;
    background: #FFF;
    z-index: 1000;
}
#loading {
    width: 280px;
    height: 70px !important;
    position: fixed;
    top: 50%;
    left: 50%;
    margin: -35px -140px; 
    z-index: 1001;
}
    #loading p img {
        width: 100%;
        height: auto;
    }

#loader {
    width: 276px;
    height: 20px;
    position: absolute;
    bottom: 0%;
    left: 50%;
    margin: -10px -138px;
}
    #loader div {
        height: 12px;
        width: 12px;
        background: #481E9A;
        border-radius: 50%;
        position: absolute;
        animation: animate 1.4s ease infinite;
        -webkit-animation: animate 1.4s ease infinite;
        animation-delay: .32s;
        -webkit-animation-delay: .32s;
    }
    #loader div:nth-child(2) {
        background: #189DD6;
        transform: translateX(22px);
        -webkit-transform: translateX(22px);
        animation-delay: .40s;
        -webkit-animation-delay: .40s;
    }
    #loader div:nth-child(3) {
        background: #E128A0;
        transform: translateX(44px);
        -webkit-transform: translateX(44px);
        animation-delay: .56s;
        -webkit-animation-delay: .56s;
    }
    #loader div:nth-child(4) {
        background: #1373C7;
        transform:translateX(66px);
        -webkit-transform: translateX(66px);
        animation-delay: .64s;
        -webkit-animation-delay: .64s;
    }
    #loader div:nth-child(5) {
        background: #1897A8;
        transform: translateX(88px);
        -webkit-transform: translateX(88px);
        animation-delay: .72s;
        -webkit-animation-delay: .72s;
    }
    #loader div:nth-child(6) {
        background: #F9E600;
        transform: translateX(110px);
        -webkit-transform: translateX(110px);
        animation-delay: .80s;
        -webkit-animation-delay: .80s;
    }
    #loader div:nth-child(7) {
        background: #8ED32A;
        transform: translateX(132px);
        -webkit-transform: translateX(132px);
        animation-delay: .88s;
        -webkit-animation-delay: .88s;
    }
    #loader div:nth-child(8) {
        background: #6D9BBF;
        transform: translateX(154px);
        -webkit-transform: translateX(154px);
        animation-delay: .96s;
        -webkit-animation-delay: .96s;
    }
    #loader div:nth-child(9) {
        background: #FF8E12;
        transform: translateX(176px);
        -webkit-transform: translateX(176px);
        animation-delay: 1.04s;
        -webkit-animation-delay: 1.04s;
    }
    #loader div:nth-child(10) {
        background: #222189;
        transform: translateX(198px);
        -webkit-transform: translateX(198px);
        animation-delay: 1.12s;
        -webkit-animation-delay: 1.12s;
    }
    #loader div:nth-child(11) {
        background: #01A9B2;
        transform: translateX(220px);
        -webkit-transform: translateX(220px);
        animation-delay: 1.20s;
        -webkit-animation-delay: 1.20s;
    }
    #loader div:nth-child(12) {
        background: #C9017E;
        transform: translateX(242px);
        -webkit-transform: translateX(242px);
        animation-delay: 1.28s;
        -webkit-animation-delay: 1.28s;
    }
    #loader div:nth-child(13) {
        background: #F7BC3C;
        transform: translateX(264px);
        -webkit-transform: translateX(264px);
        animation-delay: 1.36s;
        -webkit-animation-delay: 1.36s;
    }

@keyframes animate {
    0%{left: 0px; top: 0px;}
    5%{left: -2px; top: 4px; width: 16px; height: 8px; -webkit-filter: blur(0.1px);}
    10%{left: -1px; top: 4px; width: 14px; height: 10px; -webkit-filter: blur(0.1px);} 
    /*halfway up*/
    15%{left: 1px; top: -17px; width: 10px; height: 20px; -webkit-filter: blur(0.3px);} 
    /*top*/
    22%{left: 0px; top: -34px; width: 12px; height: 12px; -webkit-filter: blur(0.2px);} 
    /*halfway down*/
    29%{left: 1px; top: -17px; width: 10px; height: 14px; -webkit-filter: blur(0.3px);} 
    /*bottom*/
    34%{left: 1px; top: 0px;  width: 10px; height: 14px; -webkit-filter: blur(0.2px);}
    /*elastic bottom*/
    40%{left: -1px; top: 4px; width: 14px; height: 10px; -webkit-filter: blur(0.1px);} 
    /*end*/
    43%{left: 0px; top: 0px; width: 12px; height: 12px;-webkit-filter: blur(0px)} 
    100%{left: 0px; top: 0px;}
}
@-webkit-keyframes animate {
    0%{left: 0px; top: 0px;}
    5%{left: -2px; top: 4px; width: 16px; height: 8px; -webkit-filter: blur(0.1px);}
    10%{left: -1px; top: 4px; width: 14px; height: 10px; -webkit-filter: blur(0.1px);} 
    /*halfway up*/
    15%{left: 1px; top: -17px; width: 10px; height: 20px; -webkit-filter: blur(0.3px);} 
    /*top*/
    22%{left: 0px; top: -34px; width: 12px; height: 12px; -webkit-filter: blur(0.2px);} 
    /*halfway down*/
    29%{left: 1px; top: -17px; width: 10px; height: 14px; -webkit-filter: blur(0.3px);} 
    /*bottom*/
    34%{left: 1px; top: 0px;  width: 10px; height: 14px; -webkit-filter: blur(0.2px);}
    /*elastic bottom*/
    40%{left: -1px; top: 4px; width: 14px; height: 10px; -webkit-filter: blur(0.1px);} 
    /*end*/
    43%{left: 0px; top: 0px; width: 12px; height: 12px;-webkit-filter: blur(0px)} 
    100%{left: 0px; top: 0px;}
}


/************************************************
	
	Header

*************************************************/
#header {
	width: 100%;
    z-index: 1000;
}
#head #header {
    position: relative;
    margin-bottom: 20px;
}
	#header #logo {
		float: left;
		margin: 0;
		padding: 20px 0 0 20px;
	}
#header nav {
    float: right;
}
    #header nav ul,
    #header nav li {
        float: left;
    }
        #header nav li a {
            color: #FFF;
            font-weight: bold;
            font-size: 0.9rem;
        }
#header nav li a:hover {
    opacity: 0.7;
}
    #header nav ul:nth-of-type(1) {
        padding: 25px 20px 0 0;
    }
        #header nav ul:nth-of-type(1) li {
            margin-left: 20px;
        }
    #header nav ul:nth-of-type(2) {
        background: rgba(20,72,156,0.9);
    }
        #header nav ul:nth-of-type(2) li:nth-of-type(1) {
            border-right: 1px solid #10387A;
        }
        #header nav ul:nth-of-type(2) li:nth-of-type(2) {
            border-left: 1px solid #1A58BF;
            border-right: 1px solid #10387A;
        }
        #header nav ul:nth-of-type(2) li:nth-of-type(3) {
            border-left: 1px solid #1A58BF;
        }
            #header nav ul:nth-of-type(2) li a {
                display: block;
                padding: 40px 15px 10px 15px;
                text-align: center;
                font-size: 0.8rem;
            }
            #header nav ul:nth-of-type(2) li#school a {
                background: url(../images/ico/ico_school01.png) no-repeat center 12px;
                background-size: 24px 20px;
            }
            #header nav ul:nth-of-type(2) li#access a {
                background: url(../images/ico/ico_access01.png) no-repeat center 12px;
                background-size: 24px 20px;
            }
            #header nav ul:nth-of-type(2) li#contact a {
                background: url(../images/ico/ico_contact01.png) no-repeat center 12px;
                background-size: 24px 20px;
            }

#sp_menu,
.sp_gnav {
	display: none;
}

@media screen and (max-width:1170px){
    #header nav li a {
        font-size: 0.7rem;
    }
    #header nav ul:nth-of-type(2) li a {
        padding: 40px 7px 7px 7px;
        font-size: 0.7rem;
    }
}

@media screen and (max-width:1000px){
    #header #logo {
        padding: 10px 0 0 10px;
    }
    #header #logo img {
        width: 220px;
        height: auto;
    }
            #header nav ul:nth-of-type(1),
            #header nav ul:nth-of-type(2) li a {
                font-size: 0.7rem;
            }
}
@media screen and (max-width:768px){
    #header {
        padding: 0;
    }
    #header nav {
        display: none;
    }
    #sp_menu {
        display: block;
        background: rgba(20,72,156,0.9);
        position: fixed;
        top: 0;
        right: 0;
        float: right;
        width: 24px;
        height: 24px;
        padding: 15px;
        line-height: 1.0;
        cursor: pointer;
        z-index: 1000;
    }
    #sp_menu span {
        display: block;
        position: relative;
        left: 0;
        height: 3px;
        background: #FFF;
        transition: all 0.2s ease-in-out 0s;
    }
    #sp_menu span:nth-of-type(1) {
        transform-origin: left top;
        top: 0;
    }
    #sp_menu span:nth-of-type(2) {
        transform-origin: left center;
        top: 6px;
    }
    #sp_menu span:nth-of-type(3) {
        transform-origin: left bottom;
        top: 12px;
    }
    #sp_menu.selected span:nth-of-type(1) {
        transform: rotate(45deg);
        left: 1px;
        top: -1px;
    }
    #sp_menu.selected span:nth-of-type(2) {
        display: none;
    }
    #sp_menu.selected span:nth-of-type(3) {
        transform: rotate(-45deg);
        bottom: -1px;
        left: 1px;
    }
    
    body.fixed {
        position: fixed;
        width: 100%;
        height: 100%;
    }
    .sp_gnav_overlay {
        z-index: 10000;
        background: rgba(0,0,0,0.85) url(../images/ico/ico_close01.png) no-repeat 15% 10px;
        background-size: 20px;
        position: fixed;
        top: 0;
        width: 100%;
        height: 100%;
    }
    .sp_gnav {
        display: block;
        position: fixed;
        background: #FFF url(../images/gnav/bg_sp_gnav.gif) repeat-y left top;
        background-size: 5px 500px;
        padding-left: 5px;
        box-sizing: border-box;
        z-index: 10001;
        top: 0;
        right: -75%;
        width: 75%;
        height: 100vh;
    }
    .sp_gnav_inner {
        overflow: auto;
        overflow-x: hidden;
        height: 100vh;
    }
    .iPhone .sp_gnav_inner {
        height: calc(100vh - 70px);
    }
    .sp_gnav .box {
        height: auto !important;
    }
    .sp_gnav a {
        display: block;
        padding: 13px 10px;
        color: #14489C;
    }
    .sp_gnav a.current {
        background: #F0FCFF;
    }
    .sp_gnav a.blank:link,
    .sp_gnav a.blank:visited {
        background: url(../images/ico/ico_blank02.png) no-repeat right 10px center;
        background-size: 15px;
        padding-right: 30px;
        color: #14489C;
    }
    .sp_gnav dt,
    .sp_gnav li,
    .sp_gnav p {
        /*border-bottom: 1px solid #051329;*/
        border-top: 1px solid #CCC;
    }
    .sp_gnav dt,
    .sp_gnav p {
        font-weight: bold;
    }
    .sp_gnav .box:first-child dt {
        border-top: none;
    }
    .sp_gnav .box:last-child {
        border-bottom: 1px solid #CCC;
    }
    .sp_gnav dt a {
        float: left;
        width: 84%;
        box-sizing: border-box;
        /*border-right: 1px solid #051329;*/
    }
    .sp_gnav dt span {
        float: right;
        display: block;
        width: 16%;
        background: #EEE;
        padding: 13px 10px;
        box-sizing: border-box;
        /*border-left: 1px solid #13428E;*/
        color: #333;
        text-align: center;
        cursor: pointer;
    }
    .sp_gnav dd li a {
        padding: 10px 10px 10px 20px;
        font-size: 0.75rem;
    }
    .sp_gnav dd li a::before {
        content: "-";
        padding-right: 7px;
        color: #14489C;
    }
    

    .sp_gnav .sp_gnav_inner > ul {
        border-top: 1px solid #CCC;
        border-bottom: 1px solid #CCC;
    }
        .sp_gnav .sp_gnav_inner > ul li {
            width: 33.333%;
            width: calc( 100% / 3 );
            float: left;
            text-align: center;
            border-top: none;
            box-sizing: border-box;
            border-right: 1px solid #CCC;
            font-weight: bold;
        }
        .sp_gnav .sp_gnav_inner > ul li:last-child {
            border-right: none;
        }
            .sp_gnav .sp_gnav_inner > ul li a {
                background: #14489C;
                color: #FFF;
                padding: 28px 5px 10px;
                font-size: 0.7rem;
            }
            .sp_gnav .sp_gnav_inner > ul li#school a {
                background: #14489C url(../images/ico/ico_school01.png) no-repeat center 10px;
                background-size: 16px 13px;
            }
            .sp_gnav .sp_gnav_inner > ul li#access a {
                background: #14489C url(../images/ico/ico_access01.png) no-repeat center 10px;
                background-size: 16px 13px;
            }
            .sp_gnav .sp_gnav_inner > ul li#contact a {
                background: #14489C url(../images/ico/ico_contact01.png) no-repeat center 10px;
                background-size: 16px 13px;
            }
    
    .pointer_events {
        pointer-events: none;
    }
}



/************************************************

	gnav

*************************************************/
#gnav {
    width: 100%;
    background: rgba(20,72,156,0.9);
    transition: .3s;
}
#head #gnav {
    position: relative;
}
#gnav.fixed,
#head #gnav.fixed {
    position: fixed;
    top: 0;
    z-index: 10000;
}
#gnav > ul {
    width: 1000px;
    margin: 0 auto;
    position: relative;
    box-sizing: border-box;
}
/*#gnav.fixed > ul {
    width: 1000px;
    padding: 0;
}*/
@media all and (-ms-high-contrast: none){
    #gnav > ul {
        width: 1001px;
    }
}
/*IE10+（Edgeも全て含む）*/
_:-ms-lang(x), #gnav > ul {
  width: 1001px;
}
	#gnav > ul > li {
        width: 166.6px;
        width: calc(1000px / 6);
		float: left;
        text-align: center;
	}
    /*#gnav > ul > li:nth-child(1),
    #gnav > ul > li:nth-child(5) {
        width: 13.5%;
    }
    #gnav > ul > li:nth-child(2),
    #gnav > ul > li:nth-child(3),
    #gnav > ul > li:nth-child(4){
        width: 17%;
    }
    #gnav > ul > li:nth-child(6) {
        width: 22%;
    }*/
		#gnav > ul > li a {
            display: block;
            padding: 35px 0;
			font-size: 1.05rem;
            color: #FFF;
            transition: .2s;
		}
        .underlayer #gnav > ul > li > a {
            padding: 25px 0;
        }
        #gnav.fixed > ul > li > a {
            padding: 15px 0;
		}
        #gnav > ul > li > a.current {
            background: rgba(0,49,108,0.6);
		}
		#gnav > ul > li > a:hover,
        #gnav > ul > li.select > a {
            background: #FFF;
            color: #00479C;
		}
            #gnav > ul > li > a span {
                display: inline-block;
                width: 100%;
                border-left: 1px solid rgba(255,255,255,0.3);
                box-sizing: border-box;
            }
            #gnav > ul > li:last-child > a span {
                border-right: 1px solid rgba(255,255,255,0.3);
            }

#gnav .dropmenu {
    display: none;
    position: absolute;
    left: 0;
    background: #FFF url(../images/gnav/bg_dropmenu.gif) repeat-y left top;
    /*background-size: contain;*/
    width: 1000px;
    /*width: calc(100% - 40px);
    margin: 0 20px;*/
    padding: 50px 55px;
    box-sizing: border-box;
    text-align: left;
    z-index: 10000;
}
    #gnav .dropmenu a {
        color: #222;
        padding: 0;
    }
    #gnav .dropmenu a:hover {
        color: #00479C;
    }
    #gnav .dropmenu dl {
        float: left;
        width: 25%;
    }
    #gnav .dropmenu dd {
        margin-top: 15px;
    }
        #gnav .dropmenu dd a {
            display: inline-block;
            background: url(../images/ico/ico_arrow01.png) no-repeat right center;
            background-size: 10px 16px;
            padding-right: 20px;
            font-weight: bold;
            font-size: 1.3rem;
        }
    #gnav .dropmenu ul {
        float: right;
        width: 70%;
        border-left: 1px solid #CCC;
        padding-left: 4%;
        box-sizing: border-box;
    }
        #gnav .dropmenu ul li {
            float: left;
            width: 50%;
            margin-bottom: 15px;
        }
        #gnav .dropmenu ul li a::before {
            content: "-";
            padding-right: 7px;
            /*transition: all 0.25s ease-in-out 0s;*/
        }
        #gnav .dropmenu ul li a:hover::before {
            content: "●";
            color: #00479C;
            font-size: 0.8rem;
        }
            #gnav .dropmenu ul li a {
                display: inline-block;
            }

@media screen and (max-width:1000px){
    #gnav > ul {
        width: 100%;
    }
    #gnav > ul > li {
        width: calc(100% / 6);
    }
    #gnav .dropmenu {
        width: 100%;
    }
}

@media screen and (max-width:930px){
    #gnav .dropmenu {
        padding: 30px 35px;
    }
    #gnav .dropmenu dt img {
        width: 100%;
        height: auto;
    }
}

@media screen and (max-width:768px){
    #gnav {
        display: none;
    }
}



/************************************************

	snav

*************************************************/
#snav {
    background: #F0F4FD;
    padding: 30px 150px;
}
    #snav a {
        background: url(../images/ico/ico_arrow05.gif) no-repeat left center;
        padding: 5px 0 5px 45px;
        color: #0E3067;
        font-weight: bold;
        transition: .3s;
    }
    #snav a:hover {
        opacity: 0.7;
    }
    #snav dt {
        text-align: center;
        font-size: 1.4rem;
    }
    #snav li {
        width: 50%;
        float: left;
        margin: 25px 0 0 0;
        padding-left: 30px;
        box-sizing: border-box;
        font-size: 1.1rem;
    }
        #snav li a {
            background-size: 23px;
            padding: 5px 0 5px 35px;
        }

@media screen and (max-width:1000px){
    #snav {
        padding: 30px 100px;
    }
}

@media screen and (max-width:850px){
    #snav {
        padding: 30px 50px;
    }
}

@media screen and (max-width:768px){
    #snav {
        padding: 15px;
    }
    #snav a {
        background-size: 15px !important;
        padding: 3px 0 3px 25px !important;
    }
    #snav dt {
        font-size: 1.0rem;
    }
    #snav li {
        width: 100%;
        float: none;
        margin: 12px 0 0 0;
        padding-left: 0;
        font-size: 0.85rem;
    }
}

/************************************************
	
	contents
	
*************************************************/
#contents {
	width: 100%;
	margin: 0 auto;
}
.underlayer #contents {
    position: relative;
    background: #FFF;
    padding: 50px 0;
}

.contents_inner {
    width: 1000px;
    margin: 0 auto;
}
.bg01 .contents_inner {
    padding: 50px 0;
}

@media screen and (max-width:1000px){
	.contents_inner {
		width: 100%;
		padding: 0 20px;
		box-sizing: border-box;
	}
    .bg01 .contents_inner {
        padding: 50px 20px;
    }
}

@media screen and (max-width:768px){
    .underlayer #contents {
        padding: 20px 0;
    }
	.contents_inner {
		padding: 0 10px;
	}
    .bg01 .contents_inner {
        padding: 15px 10px;
    }
}



/************************************************

	Footer

*************************************************/
#footer {
    background: #0E3067 url(../images/footer/bg_footer.gif) repeat-x left top;
    padding: 55px 0 0;
}
.underlayer #footer {
    position: relative;
}
.footer_inner {
    max-width: 1000px;
    margin: 0 auto;
}

#footer nav.sitemap {
    padding-bottom: 50px;
    border-bottom: 1px solid #051329;
}
    #footer nav.sitemap a {
        color: #FFF;
        transition: .2s;
    }
    #footer nav.sitemap a:hover {
        opacity: 0.7;
    }
    #footer nav.sitemap .box {
        float: left;
        width: 25%;
        padding: 0 2%;
        box-sizing: border-box;
        border-right: 1px solid #051329;
        border-left: 1px solid #13428E;
    }
    #footer nav.sitemap .box:first-child {
        border-left: none;
        padding: 0 2% 0 0;
    }
    #footer nav.sitemap .box:last-child {
        border-right: none;
        padding: 0 0 0 2%;
    }
    #footer nav.sitemap dl {
        margin-bottom: 15px;
    }
    #footer nav.sitemap dt,
    #footer nav.sitemap p {
        margin-bottom: 10px;
        font-size: 0.8rem;
        font-weight: bold;
    } 
    #footer nav.sitemap li {
        font-size: 0.75rem;
        margin-bottom: 5px;
        text-indent: -1em;
        padding-left: 1em;
    }
    #footer nav.sitemap li::before {
        content: "-";
        padding-right: 7px;
        color: #FFF;
    }
    #footer nav.sitemap li.bold {
        font-size: 0.8rem;
    }

#footer nav#school_nav {
    padding: 50px 0;
    border-top: 1px solid #13428E;
}
    #footer nav#school_nav .footer_add p {
        float: left;
        color: #FFF;
    }
#footer nav#school_nav ul {
    margin: 20px 0 0 35px;
}
    #footer nav#school_nav ul li {
        float: left;
        width: 225px;
        height: 12px;
        margin: 0 16px 7px 0;
    }
        #footer nav#school_nav ul li img {
            width: 100%;
            height: auto;
        }
#footer a:hover img {
    opacity: 0.8;
}

#copy {
    background: #0A1F43;
    padding: 20px 0;
    color: #FFF;
}
    #copy ul {
        float: left;
        margin-top: 5px;
    }
    #copy li {
        float: left;
        border-right: 1px solid #FFF;
        padding-right: 10px;
        margin-right: 10px;
        font-size: 0.7rem;
        line-height: 1.0;
    }
    #copy li:last-child {
        border-right: none;
        padding-right: 0;
        margin-right: 0;
    }
        #copy li a {
            color: #FFF;
            transition: .2s;
        }
        #copy li a:hover {
            opacity: 0.7;
        }
#copy p {
    font-size: 0.9rem;
    float: right;
}

#to_top {
    position: fixed;
    right: 10px;
    bottom: 10px;
    width: 50px;
    height: 50px;
    z-index: 30;
}
#to_top a {
    display: block;
    position: absolute;
}

@media screen and (max-width:1000px){
    .footer_inner {
        width: 100%;
        box-sizing: border-box;
        padding: 0 10px;
    }
    #footer nav#school_nav ul li {
        width: 30%;
        height: auto;
        margin: 0 3% 5px 0;
    }
    #footer nav#school_nav .footer_add p {
        float: none;
    }
    #copy ul {
        float: none;
        margin-bottom: 10px;
        text-align: center;
    }
    #copy li {
        float: none;
        display: inline-block;
    }
    #copy p {
        width: 100%;
        text-align: center;
    }
}

@media screen and (max-width:820px){
    #footer {
        background-size: 100% 5px;
        padding: 30px 0 0;
    }
    #footer nav#school_nav {
        padding-bottom: 20px;
    }
    #footer nav#school_nav ul li {
        width: 48%;
        margin: 0 0 5px 0;
    }
    #footer nav#school_nav ul li:nth-child(even) {
        float: right;
    }
}

@media screen and (max-width:768px){
    #footer nav.sitemap {
        display: none;
    }

    #footer nav#school_nav {
        padding: 0 0 20px;
        border-top: none;
    }
    #footer nav#school_nav p img {
        width: auto;
        height: 30px;
    }
    #footer nav#school_nav ul li {
        height: 12px;
    }
    
    #to_top,
    #to_top img {
        width: 40px;
        height: 40px;
    }
}




/************************************************

	Box

*************************************************/
section {
	padding: 0 0 80px;
    margin: 0;
}
.contents_inner > section:last-child {
    padding: 0;
}

section .inner {
    margin: 0 10px;
}

.section_inner {
    margin-bottom: 50px;
}

.column01 {
    background: #EEE;
    padding: 20px 20px 5px;
}
.column02 {
    background: #EEE;
    padding: 20px;
}
.column03 {
    background: #EBF8FA;
    padding: 20px;
}
.column04 {
    background: #EBF8FA;
    padding: 50px;
}
.column05 {
    border: 5px solid #0E3067;
    padding: 50px;
}
    .column05_ttl {
        background: #0E3067;
        padding: 15px 50px 10px;
        color: #FFF;
        text-align: center;
        font-weight: bold;
        font-size: 1.7rem;
    }
.column06 {
    background: #FFF;
    border: 1px solid #0071AB;
    padding: 20px;
}
.column07 {
    background: #FFF;
    border: 1px solid #0071AB;
    padding: 30px;
}


.unit_2col01 .box_a {
    width: 48%;
    float: left;
}
.unit_2col01 .box_b {
    width: 48%;
    float: right;
}

.unit_2col02 .box_a {
    width: 46%;
    float: left;
}
.unit_2col02 .box_b {
    width: 46%;
    float: right;
}

.unit_2col03 .box_a {
    width: 46%;
    float: right;
}
.unit_2col03 .box_b {
    width: 46%;
    float: left;
}

.unit_2col04 .box_a {
    width: 48% !important;
    float: left !important;
    margin: 0 !important;
}
.unit_2col04 .box_b {
    width: 48% !important;
    float: right !important;
}

.unit_3col_list01 li,
.unit_3col_list01 dl {
    width: 30%;
    float: left;
    margin: 0 5% 0 0;
}
.unit_3col_list01 li:last-child,
.unit_3col_list01 dl:last-child {
    margin: 0;
}

.unit_4col_list01 li {
    width: 19.75%;
    float: left;
    margin: 0 7% 0 0;
}
.unit_4col_list01 li:last-child {
    margin: 0;
}

.unit_4col_list02 li {
    width: 23.5%;
    float: left;
    margin: 0 2% 0 0;
}
.unit_4col_list02 li:last-child {
    margin: 0;
}

@media screen and (max-width:768px){
    section {
	    padding: 0 0 40px;
    }
    .section_inner {
        margin-bottom: 25px;
    }
    .column01,
    .column02,
    .column03 {
        padding: 10px;
    }
    .column04 {
        padding: 15px;
    }
    .column05 {
        border: 3px solid #0E3067;
        padding: 15px;
    }
        .column05_ttl {
            padding: 10px 15px 8px;
            font-size: 1.1rem;
        }
    .column06,
    .column07 {
        padding: 10px;
    }
    .unit_2col01 .box_a {
        width: 100%;
        float: none;
        margin-bottom: 15px;
    }
    .unit_2col01 .box_b {
        width: 100%;
        float: none;
    }
    .unit_2col02 .box_a {
        width: 100%;
        float: none;
        margin-bottom: 15px;
    }
    .unit_2col02 .box_b {
        width: 100%;
        float: none;
    }
    
    .unit_2col03 .box_a {
        width: 100%;
        float: none;
        margin-bottom: 15px;
    }
    .unit_2col03 .box_b {
        width: 100%;
        float: none;
    }
    
    .unit_3col_list01 li,
    .unit_3col_list01 dl {
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
    }
    .unit_3col_list01 li:last-child,
    .unit_3col_list01 dl:last-child {
        margin: 0;
    }
}


/************************************************

	topic_path

************************************************/
#topic_path {
    position: relative;
	margin: 20px;
	font-size: 0.8rem;
	color: #FFF;
}
	#topic_path li {
		float: left;
		padding-right: 8px;
		padding-left: 13px;
		background: url(../images/ico/ico_arrow02.png) no-repeat 0 45%;
        background-size: 6px 9px;
	}
	#topic_path li.home {
		padding-left: 0;
		background: none;
	}
		#topic_path li a {
			color: #FFF;
		}
        #topic_path li a:hover {
            opacity: 0.7;
        }

@media screen and (max-width:768px){
    #topic_path {
        margin: 10px;
        font-size: 0.7rem;
    }
}


/************************************************

	Title

*************************************************/
.ttl_box {
    position: relative;
    padding: 100px 75px 45px;
    color: #FFF;
    font-size: 1.15rem;
}
.ttl_box.large {
    padding: 225px 75px 45px;
}
    .ttl_box h1 {
        margin: 0 0 10px;
        font-family: "Sawarabi Mincho";
        font-size: 3.0rem;
        font-weight: normal;
        line-height: 1.0;
    }
    .ttl_box p {
        width: 550px;
        margin-top: 20px;
    }

.h2_ttl01 {
    background: url(../images/contents/bg_ttl01.png) no-repeat center bottom;
    padding-bottom: 20px;
    margin-bottom: 40px;
    font-family: "Sawarabi Mincho";
    text-align: center;
    font-size: 3.0rem;
    font-weight: normal;
    line-height: 1.0;
}
.h2_ttl01.white {
    background: url(../images/contents/bg_ttl02.png) no-repeat center bottom;
    color: #FFF;
}

.h2_ttl02 {
    background: url(../images/contents/bg_ttl03.png) no-repeat center bottom;
    padding-bottom: 30px;
    margin-bottom: 40px;
    text-align: center;
    font-size: 2.0rem;
    line-height: 1.2;
    color: #0C3066;
}
    .h2_ttl02 small {
        font-size: 1.2rem;
    }

.h2_ttl03 {
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 40px;
    text-align: center;
    font-size: 2.3rem;
    line-height: 1.2;
    color: #0C3066;
}
.h2_ttl03::after {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    content: "";
    width: 32px;
    height: 3px;
    background: #0C3066;
}

.h2_ttl04 {
    padding-bottom: 5px;
    margin-bottom: 20px;
    border-bottom: 1px solid #0E3067;
    font-size: 1.5rem;
    color: #0E3067;
}

.h2_ttl05 {
    margin: 40px 0 80px;
    text-align: center;
}
    .h2_ttl05 span {
        position: relative;
        padding: 30px 40px;
        font-family: "Sawarabi Mincho";
        font-size: 2.3rem;
        font-weight: normal;
        line-height: 1.0;
        color: #3F96A5;

    }
    .h2_ttl05 span::before {
        position: absolute;
        content: "";
        width: 80px;
        height: 80px;
        top: 0;
        left: 0;
        border-top: 1px solid #3F96A5;
        border-left: 1px solid #3F96A5;
    }
    .h2_ttl05 span::after {
        position: absolute;
        content: "";
        width: 80px;
        height: 80px;
        bottom: 0;
        right: 0;
        border-bottom: 1px solid #3F96A5;
        border-right: 1px solid #3F96A5;
    }

.h3_ttl01 {
    position: relative;
    margin-bottom: 30px;
    padding-bottom: 20px;
}
.h3_ttl01::after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 40px;
    height: 5px;
    background: #CCC;
}
    .h3_ttl01 span {
        display: block;
        color: #666;
        font-size: 1.2rem;
    }
    .h3_ttl01 p {
        color: #0071AB;
        font-size: 1.7rem;
    }
    .h3_ttl01 p::first-letter {
        font-size: 2.5rem;
    }

.h3_ttl02,
.h4_ttl01,
.h5_ttl01 {
    background: url(../images/ico/ico_ttl01.png) no-repeat left 0.2em;
    padding-left: 25px;
    margin-bottom: 15px;
    font-size: 1.3rem;
}

@media screen and (max-width:768px){
    .ttl_box,
    .ttl_box.large{
        padding: 20px 10px 25px;
        font-size: 0.9rem;
    }
    .ttl_box h1 {
        margin: 0 0 5px;
        font-size: 1.6rem;
    }
    .ttl_box p {
        width: 100%;
        margin-top: 10px;
    }
    .h2_ttl01 {
        padding-bottom: 10px;
        margin-bottom: 20px;
        font-size: 1.8rem;
    }
    .h2_ttl02,
    .h2_ttl03 {
        background-size: 100px 2px;
        padding-bottom: 15px;
        margin-bottom: 20px;
        font-size: 1.3rem;
    }
        .h2_ttl02 small {
            font-size: 1.0rem;
        }
    .h2_ttl03::after {
        height: 2px;
    }
    .h2_ttl04 {
        padding-bottom: 3px;
        margin-bottom: 10px;
        font-size: 1.1rem;
    }
    
    .h2_ttl05 {
        margin: 20px 0 35px;
    }
        .h2_ttl05 span {
            padding: 15px 20px;
            font-size: 1.4rem;
        }
        .h2_ttl05 span::before,
        .h2_ttl05 span::after{
            width: 40px;
            height: 40px;
        }
    
    .h3_ttl01 {
        margin-bottom: 20px;
        padding-bottom: 15px;
    }
    .h3_ttl01::after {
        width: 30px;
        height: 3px;
    }
        .h3_ttl01 span {
            font-size: 0.9rem;
        }
        .h3_ttl01 p {
            font-size: 1.2rem;
        }
        .h3_ttl01 p::first-letter {
            font-size: 1.5rem;
        }
    
    .h4_ttl01,
    .h3_ttl02,
    .h5_ttl01 {
        margin-bottom: 10px;
        font-size: 1.0rem;
    }
}




/************************************************

	List

*************************************************/
.li_float01 li {
    float: left;
    margin: 0 18px 5px 0;
}

.li_none01 li {
	margin: 0 0 10px 0;
}
    .li_none01 li:last-child {
        margin: 0;
    }

.li_disc01 li {
	list-style: disc;
	margin: 0 0 5px 18px;
}

.li_circle01 li {
	list-style: circle;
	margin: 0 0 10px 18px;
}

.li_decimal01 li {
	list-style: decimal;
	margin: 0 0 5px 20px;
}

.li_float_disc01 li {
    float: left;
    list-style: disc;
    margin: 0 18px 5px 18px;
}

.li_style01 li {
    margin-bottom: 10px;
}
.li_style01 li::before {
    content: "●";
    color: #3F96A5;
}

.li_style02 li {
    margin-bottom: 5px;
    text-indent: -1em;
    padding-left: 1em;
    font-weight: bold;
}
.li_style02 li::before {
    content: "●";
    color: #3F96A5;
}

.li_style03 li {
    margin-bottom: 5px;
    text-indent: -1em;
    padding-left: 1em;
    font-size: 0.85rem;
}
.li_style03 li::before {
    content: "●";
    color: #3F96A5;
}

.li_style04 li {
    margin-bottom: 7px;
    text-indent: -1em;
    padding-left: 1em;
}
.li_style04 li::before {
    content: "●";
    color: #3F96A5;
}


/************************************************

	fade

*************************************************/
.fade {
    opacity: 0;
    transform: translate(0,60px); 
    -webkit-transform: translate(0,60px); 
    transition: .8s;
}
.fade_set {
    opacity: 1.0;
    transform: translate(0,0); 
    -webkit-transform: translate(0,0);
}



/************************************************

	link

*************************************************/
.link01 {
    text-decoration: underline;
}
.link01:hover {
    text-decoration: none;
}

.blank:link,
.blank:visited {
	background: url(../images/ico/ico_blank01.png) no-repeat right 0.1em;
    background-size: 12px;
	padding-right: 18px;
    color: #006DD9;
}
.blank:hover {
    text-decoration: none;
}

.blank02:link,
.blank02:visited {
	background: url(../images/ico/ico_blank02.png) no-repeat right 0.1em;
    background-size: 12px;
	padding-right: 18px;
    text-decoration: underline;
}
.blank02:hover {
    text-decoration: none;
}

.anchor_link.col2 li {
    width: 46%;
    float: left;
}
.anchor_link.col2 li:last-child {
    float: right;
}
.anchor_link.col3 li {
    width: 30%;
    float: left;
    margin: 0 5% 0 0;
}
.anchor_link.col3 li:last-child {
    margin-right: 0;
}
.anchor_link.col3.list li {
    margin: 0 5% 30px 0;
}
.anchor_link.col3.list li:nth-child(3n) {
    margin: 0 0 30px 0;
}

.anchor_link a {
    display: block;
    background: #FFF url(../images/ico/ico_arrow_b01.png) no-repeat right 10px center;
    background-size: 10px 6px;
    border: 2px solid #0371AB;
    padding: 20px 10px;
    color: #0371AB;
    font-weight: bold;
    font-size: 1.1rem;
    text-align: center;
    transition: .3s;
}
.anchor_link a:hover {
    background: #0371AB url(../images/ico/ico_arrow_b02.png) no-repeat right 10px center;
    background-size: 10px 6px;
    color: #FFF;
}

.freecall01 {
    background: url(../images/ico/ico_freecall01.png) no-repeat left center;
    background-size: 40px 31px;
    padding-left: 50px;
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.0;
}

.freedial01 {
    background: url(../images/ico/ico_freedial01.png) no-repeat left center;
    background-size: 40px 31px;
    padding-left: 50px;
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.0;
}
.tel01 {
    background: url(../images/ico/ico_tel01.png) no-repeat left center;
    background-size: 40px 31px;
    padding-left: 50px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.0;
}
.mail01 {
    background: url(../images/ico/ico_mail01.png) no-repeat left center;
    background-size: 40px 31px;
    padding-left: 50px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.0;
}

@media screen and (max-width:768px){
    .blank:link,
    .blank:visited {
        background-size: 10px;
    }
    
    .anchor_link.col2 li,
    .anchor_link.col3 li {
        width: 100%;
        float: none;
        margin: 0 0 10px 0;
    }
    .anchor_link a {
        font-size: 0.95rem;
    }
    
    .freecall01 {
        background-size: 32px 26px;
        padding-left: 40px;
        font-size: 1.7rem;
    }
}


/************************************************

	Btn

*************************************************/
.btn01 a,
button.btn01 {
    width: 300px;
    background: rgba(255,255,255,0.7);
    display: inline-block;
    border: 2px solid #00479C;
    padding: 20px 15px;
    box-sizing: border-box;
    color: #00479C;
    font-weight: bold;
    font-size: 1.1rem;
    text-align: center;
    transition: .2s;
}
.btn01.w400 a {
    width: 400px;
}
.btn01.w650 a {
    width: 650px;
}
.btn01.contact a {
    background: url(../images/ico/ico_contact02.png) no-repeat 20px center;
    background-size: 30px 26px;
}
.btn01.tel a {
    background: url(../images/ico/ico_contact03.png) no-repeat 20px center;
    background-size: 30px 26px;
}

.btn01 a:hover,
button.btn01:hover {
    opacity: 0.7;
}

.btn01 a span,
button.btn01 span {
    display: block;
    background: url(../images/ico/ico_arrow01.png) no-repeat center right;
    background-size: 6px 10px;
    padding-right: 15px;
}

.btn01.prev a span,
button.btn01.prev span {
    background: url(../images/ico/ico_arrow_prev01.png) no-repeat center left;
    background-size: 6px 10px;
    padding-left: 15px;
}

.btn01 a.blank {
    background: url(../images/ico/ico_blank02.png) no-repeat center right 15px;
    background-size: 12px;
	padding-right: 18px;
    color: #00479C;
}
    .btn01 a.blank span {
        background: none;
    }

.btn02 {
    background: #FFF url(../images/ico/ico_arrow01.png) no-repeat center right 5px;
    background-size: 6px 10px;
    display: inline-block;
    border: 1px solid #00479C;
    padding: 5px 20px 5px 10px;
    margin-left: 10px;
    box-sizing: border-box;
    color: #00479C !important;
    font-weight: bold;
    font-size: 0.8rem;
    text-align: center;
    transition: .2s;
}
.btn02:hover {
    opacity: 0.7;
}

.index_btn01 > li {
    margin-bottom: 1px;
}
    .index_btn01 > li a {
        display: block;
    }
        .index_btn01 > li a .img {
            width: 58%;
            overflow: hidden;
        }
            .index_btn01 > li a .img img {
                transition: all 0.25s ease-in-out 0s;
            }
            .index_btn01 > li a:hover .img img {
                transform: scale(1.05);
            }
        .index_btn01 > li a .txt {
            width: 42%;
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
        }
            .index_btn01 > li a .txt dl {
                width: 78%;
                padding-right: 20px;
                box-sizing: border-box;
            }
                .index_btn01 > li a .txt dl dt {
                    position: relative;
                    padding-bottom: 10px;
                    margin-bottom: 25px;
                    font-size: 2.0rem;
                    font-weight: bold;
                }
                .index_btn01 > li a .txt dl dt::after {
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    right: 0;
                    margin: 0 auto;
                    content: "";
                    width: 32px;
                    height: 3px;
                }
        .index_btn01 > li:nth-child(odd) a .img {
            float: right;
        }
        .index_btn01 > li:nth-child(odd) a .txt {
            float: left;
            background: #0371AB;
            color: #FFF;
        }
            .index_btn01 > li:nth-child(odd) a .txt dl {
                background: url(../images/ico/ico_arrow02.png) no-repeat right center;
                background-size: 10px 16px;
            }
            .index_btn01 > li:nth-child(odd) a .txt dl dt::after {
                background: #FFF;
            }
        .index_btn01 > li:nth-child(even) a .img {
            float: left;
        }
        .index_btn01 > li:nth-child(even) a .txt {
            float: right;
            color: #0371AB;
        }
        .index_btn01 > li:nth-child(even):last-child a .txt {
            border-bottom: 1px solid #D5D5D5;
        }
            .index_btn01 > li:nth-child(even) a .txt dl {
                background: url(../images/ico/ico_arrow03.png) no-repeat right center;
                background-size: 10px 16px;
            }
                .index_btn01 > li:nth-child(even) a .txt dl dt::after {
                    background: #0371AB;
                }
                .index_btn01 > li:nth-child(even) a .txt dl dd {
                    color: #222;
                }

        .index_btn01 > li a .txt::after,
        .index_btn01 > li a .txt::before,
        .index_btn01 > li a .txt dl::after,
        .index_btn01 > li a .txt dl::before {
            background-color: rgba(255,255,255,0);
            content: '';
            display: block;
            position: absolute;
            z-index: 10;
            transition: all .4s ease;
            -webkit-transition: all .4s ease;
        }
        .index_btn01 > li a .txt::after {
            height: 2px;
            left: 10px;
            top: 10px;
            width: 0px;
        }
        .index_btn01 > li a .txt::before {
            bottom: 10px;
            height: 2px;
            right: 10px;
            width: 0px;
        }
        .index_btn01 > li a .txt dl::after {
            bottom: 10px;
            height: 0px;
            left: 10px;
            width: 2px;
        }
        .index_btn01 > li a .txt dl::before {
            height: 0px;
            right: 10px;
            top: 10px;
            width: 2px;
        }
        .index_btn01 > li a:hover .txt::after,
        .index_btn01 > li a:hover .txt::before {
            width: 100%;
            width: calc(100% - 20px);
        }
        .index_btn01 > li a:hover .txt dl::after,
        .index_btn01 > li a:hover .txt dl::before {
            height: 100%;
            height: calc(100% - 20px);
        }

        .index_btn01 > li:nth-child(odd) a:hover .txt::after,
        .index_btn01 > li:nth-child(odd) a:hover .txt::before {
            background-color: rgba(255,255,255,1.0);
        }
        .index_btn01 > li:nth-child(odd) a:hover .txt dl::after,
        .index_btn01 > li:nth-child(odd) a:hover .txt dl::before {
            background-color: rgba(255,255,255,1.0);
        }

        .index_btn01 > li:nth-child(even) a:hover .txt::after,
        .index_btn01 > li:nth-child(even) a:hover .txt::before {
            background-color: rgba(3,113,171,1.0);
        }
        .index_btn01 > li:nth-child(even) a:hover .txt dl::after,
        .index_btn01 > li:nth-child(even) a:hover .txt dl::before {
            background-color: rgba(3,113,171,1.0);
        }

.sp_btn01 {
    display: block;
    position: relative;
    color: #FFF !important;
    overflow: hidden;
}
    .sp_btn01 img {
        transition: all 0.25s ease-in-out 0s;
    }
    .sp_btn01:hover img {
        transform: scale(1.05);
    }

    .sp_btn01::after,
    .sp_btn01::before,
    .sp_btn01 .btn_inner::after,
    .sp_btn01 .btn_inner::before {
        background-color: rgba(255,255,255,0);
        content: '';
        display: block;
        position: absolute;
        z-index: 10;
        transition: all .4s ease;
        -webkit-transition: all .4s ease;
    }
    .sp_btn01::after {
        height: 2px;
        left: 10px;
        top: 10px;
        width: 0px;
    }
    .sp_btn01::before {
        bottom: 10px;
        height: 2px;
        right: 10px;
        width: 0px;
    }
    .sp_btn01 .btn_inner::after {
        bottom: 10px;
        height: 0px;
        left: 10px;
        width: 2px;
    }
    .sp_btn01 .btn_inner::before {
        height: 0px;
        right: 10px;
        top: 10px;
        width: 2px;
    }
    .sp_btn01:hover::after,
    .sp_btn01:hover::before {
        background-color: rgba(255,255,255,1.0);
        width: 100%;
        width: calc(100% - 20px);
    }
    .sp_btn01:hover .btn_inner::after,
    .sp_btn01:hover .btn_inner::before {
        background-color: rgba(255,255,255,1.0);
        height: 100%;
        height: calc(100% - 20px);
    }

    .sp_btn01 p {
        display: flex;
        position: absolute;
        top: 0;
        left: 0;
        background: rgba(0,0,0,0.4);
        width: 100%;
        height: 100%;
        padding: 10px;
        box-sizing: border-box;
        text-align: center;
        align-items: center;
        justify-content: center;
        transition: all 0.25s ease-in-out 0s;
    }
    .sp_btn01:hover p {
        opacity: 0.7;
    }
    .sp_btn01 p span {
        background: url(../images/ico/ico_arrow02.png) no-repeat right center;
        background-size: 10px 16px;
        padding-right: 20px;
        line-height: 1.2;
        font-size: 1.2rem;
        font-weight: bold;
        transition: all 0.25s ease-in-out 0s;
    }
    .sp_btn01.big p span {
        font-size: 1.6rem;
    }
    .sp_btn01 p span.blank {
        background: url(../images/ico/ico_blank01.png) no-repeat right center;
        background-size: 14px;
    }

.pdf_btn01 a {
    width: 460px;
    margin: 0 auto;
    position: relative;
    display: flex;
    background: url(../images/ico/ico_arrow03.png) no-repeat right 20px center, url(../images/ico/ico_pdf01.gif) no-repeat 40px center;
    background-size: 10px 16px, 74px 90px;
    justify-content: center;
    align-items: center;
    border: 2px solid #0371AB;
    padding: 50px 20px;
    box-sizing: border-box;
    color: #0371AB;
    font-size: 1.6rem;
    font-weight: bold;
    transition: .3s;
}
.pdf_btn01 a::before {
    position: absolute;
    content: "";
    width: 30px;
    height: 30px;
    background: #FFF;
    top: -2px;
    right: -2px;
    z-index: 1;
}
.pdf_btn01 a::after {
    position: absolute;
    content: "";
    width: 43px;
    height: 2px;
    top: 13px;
    right: -8px;
    z-index: 2;
    background: #0371AB;
    transform: rotate(45deg);
}
.pdf_btn01 a:hover {
    opacity: 0.7;
}

.pdf_btn02 a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #0371AB;
    padding: 20px;
    box-sizing: border-box;
    color: #0371AB;
    transition: .3s;
}
.pdf_btn02 a::before {
    position: absolute;
    content: "";
    width: 30px;
    height: 30px;
    background: #FFF;
    top: -2px;
    right: -2px;
    z-index: 1;
}
.pdf_btn02 a::after {
    position: absolute;
    content: "";
    width: 43px;
    height: 2px;
    top: 13px;
    right: -8px;
    z-index: 2;
    background: #0371AB;
    transform: rotate(45deg);
}
.pdf_btn02 a:hover {
    opacity: 0.7;
}
.pdf_btn02 dl {
    width: 100%;
    background: url(../images/ico/ico_arrow03.png) no-repeat right center;
    background-size: 10px 16px;
    padding-right: 20px;
}
    .pdf_btn02 dl dt {
        background: #FFF url(../images/ico/ico_pdf01.gif) no-repeat left 0.2em;
        background-size: 60px 72px;
        padding: 5px 12px 10px 75px;
        margin-bottom: 10px;
        border-bottom: 1px dashed #0371AB;
        font-weight: bold;
        font-size: 1.5rem;
    }
    .pdf_btn02.excel dl dt {
        background: #FFF url(../images/ico/ico_excel01.gif) no-repeat left 0.2em;
        background-size: 60px 72px;
    }
    .pdf_btn02 dl dd {
        font-size: 0.8rem;
    }

.pdf_btn03 a {
    width: 100%;
    margin: 0 auto;
    position: relative;
    display: flex;
    background: url(../images/ico/ico_arrow03.png) no-repeat right 25px center, url(../images/ico/ico_pdf01.gif) no-repeat 15px center;
    background-size: 6px 10px, 29px 35px;
    padding: 20px 15px;
    justify-content: center;
    align-items: center;
    border: 2px solid #0371AB;
    box-sizing: border-box;
    color: #0371AB;
    font-size: 1.0rem;
    font-weight: bold;
    transition: .3s;
}
.pdf_btn03 a::before {
    position: absolute;
    content: "";
    width: 30px;
    height: 30px;
    background: #FFF;
    top: -2px;
    right: -2px;
    z-index: 1;
}
.pdf_btn03 a::after {
    position: absolute;
    content: "";
    width: 43px;
    height: 2px;
    top: 13px;
    right: -8px;
    z-index: 2;
    background: #0371AB;
    transform: rotate(45deg);
}
.pdf_btn03 a:hover {
    opacity: 0.7;
}

.pdf_btn_list01 li {
    width: 31.5%;
    float: left;
    margin: 0 2.75% 20px 0;
}
.pdf_btn_list01 li:nth-child(3n) {
    margin: 0 0 20px 0;
}
    .pdf_btn_list01 li a {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        border: 2px solid #0371AB;
        padding: 13px;
        box-sizing: border-box;
        color: #0371AB;
        font-size: 0.85rem;
        transition: .3s;
    }
    .pdf_btn_list01 li a::before {
        position: absolute;
        content: "";
        width: 30px;
        height: 30px;
        background: #FFF;
        top: -2px;
        right: -2px;
        z-index: 1;
    }
    .pdf_btn_list01 li a::after {
        position: absolute;
        content: "";
        width: 43px;
        height: 2px;
        top: 13px;
        right: -8px;
        z-index: 2;
        background: #0371AB;
        transform: rotate(45deg);
    }
    .pdf_btn_list01 li a:hover {
        opacity: 0.7;
    }

.pdf_btn_list01 li dl {
    width: 100%;
    background: url(../images/ico/ico_arrow03.png) no-repeat right center;
    background-size: 6px 10px;
    padding-right: 20px;
}
.pdf_btn_list01 li dl dt {
    background: #FFF url(../images/ico/ico_pdf01.gif) no-repeat left 0.2em;
    background-size: 20px 24px;
    padding: 5px 12px 10px 28px;
    margin-bottom: 10px;
    border-bottom: 1px dashed #0371AB;
    font-weight: bold;
}




.to_top {
	text-align: right;
	margin-top: 5px;
}

.to_top a {
	background: url(../images/icon_top.png) no-repeat center left;
	background-size: 8px 8px;
	padding-left: 12px;
	font-size: 80%;
	text-decoration: underline;
}

@media (min-width: 1500px) {
    .index_btn01 {
        width: 1500px;
        margin: 0 auto;
    }
}
    
@media (max-width: 768px) {
    .btn01 a,
    .btn01.w400 a,
    .btn01.w650 a,
    button.btn01 {
        width: 100% !important;
        display: block;
        padding: 15px;
        font-size: 1.0rem;
    }
    
    .btn01.contact a {
        background: url(../images/ico/ico_contact02.png) no-repeat 10px center;
        background-size: 25px 21px;
    }
    
    .index_btn01 > li {
        /*margin: 10px;*/
        /*border: 3px solid #0371AB;*/
    }
    .index_btn01 > li:nth-child(odd) {
        border-top: 10px solid #0371AB;
    }
    .index_btn01 > li:nth-child(even) {
        border-top: 10px solid #FFF;
    }
    .index_btn01 > li a .img,
    .index_btn01 > li a .txt {
        width: 100%;
        float: none !important;
    }
    .index_btn01 > li a .txt {
        padding: 25px 0;
    }
        .index_btn01 > li a .txt dl {
            width: 90%;
        }
            .index_btn01 > li a .txt dl dt {
                margin-bottom: 15px;
                font-size: 1.2rem;
            }
            .index_btn01 > li a .txt dl dt::after {
                height: 2px;
            }
    
    .sp_btn01 p span {
        background-size: 8px 12px;
        padding-right: 12px;
        font-size: 0.95rem;
    }
    .sp_btn01.big p span {
        font-size: 1.2rem;
    }
    .sp_btn01 p span.blank {
        background-size: 10px;
    }
    
    .pdf_btn01 a {
        width: 100%;
        background: url(../images/ico/ico_arrow03.png) no-repeat right 10px center, url(../images/ico/ico_pdf01.gif) no-repeat 25px center;
        background-size: 10px 16px, 37px 45px;
        padding: 30px 20px;
        font-size: 1.2rem;
    }
    
    .pdf_btn02 a {
        padding: 15px;
    }
    .pdf_btn02 dl {
        background-size: 6px 10px;
    }
        .pdf_btn02 dl dt {
            background-size: 30px 36px;
            padding: 5px 0 10px 40px;
            font-size: 1.05rem;
        }
        .pdf_btn02.excel dl dt {
            background-size: 30px 36px;
        }
        .pdf_btn02 dl dd {
            font-size: 0.8rem;
        }
    
    .pdf_btn_list01 li {
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
    }
}


/************************************************

	table

************************************************/
@media screen and (-webkit-min-device-pixel-ratio:0){
    table {
      border-collapse: inherit;
    }
}
.table01 {
	border-left: 1px solid #CCC;
	border-top: 1px solid #CCC;
}
	.table01 th,
	.table01 td {
		border-right: 1px solid #CCC;
		border-bottom: 1px solid #CCC;
		padding: 10px;
		vertical-align: top;
	}
	.table01 th {
		text-align: left;
	}


.form_table01 th,
.form_table01 td {
    border-bottom: 1px solid #CCC;
    padding: 20px 0;
    box-sizing: border-box;
    vertical-align: top;
    text-align: left;
}
.form_table01 th {
    width: 230px;
}
	
@media screen and (max-width:768px){
    .table01 th,
	.table01 td {
        padding: 6px;
        font-size: 0.8rem;
    }
    .form_table01 th,
    .form_table01 td {
        display: block;
        width: 100%;
    }
    .form_table01 th {
        border-bottom: none;
        padding: 15px 0 0;
    }
    .form_table01 td {
        padding: 15px 0;
    }
}

.zebra tr td {
	background: #FFF;
}
.zebra tr:nth-child(odd) td {
	background: #EEE;
}


/************************************************

	accordion

*************************************************/
.accordion01 > dd {
    border: 2px solid #0371AB;
    padding: 15px 15px 0;
}
.btn_accordion01 {
    position: relative;
    border: 2px solid #0371AB;
    padding: 15px;
    color: #0371AB;
    font-weight: bold;
    font-size: 1.1rem;
    cursor: pointer;
    transition: .3s;
}
.btn_accordion01::after {
    position: absolute;
    top: 23%;
    right: 10px;
    content: "+";
    color: #0371AB;
    text-align: center;
    font-weight: bold;
    font-size: 1.3rem;
    transition: .3s;
}
.btn_accordion01:hover,
.btn_accordion01.selected {
    background: #0371AB;
    color: #FFF;
}
.btn_accordion01:hover::after,
.btn_accordion01.selected::after {
    color: #FFF;
}
.btn_accordion01.selected::after {
    content: "－";
}

@media screen and (max-width:768px){
    .accordion01 > dd {
        padding: 10px 10px 0;
    }
    .btn_accordion01 {
        padding: 10px;
        font-size: 1.0rem;
    }
    .btn_accordion01::after {
        top: 20%;
        font-size: 1.0rem;
    }
}


/************************************************

	text

*************************************************/
.cpt {
	text-align: center;
	font-size: 0.85rem;
}

.must {
	background: #FF7373;
    padding: 3px 10px;
    border-radius: 10px;
    color: #FFF;
    font-size: 0.8rem;
    font-weight: bold;
}

.notes {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 0.75rem;
}

.txt_dec01 {
    padding: 3px 10px;
    border: 1px solid #0C3066;
    text-align: center;
    color: #0C3066;
    font-size: 1.05rem;
    font-weight: bold;
}
    .txt_dec01 strong {
        font-size: 1.6rem;
    }

.txt_dec02 {
    display: inline-block;
    padding: 3px 10px;
    border: 1px solid #3F96A5;
    text-align: center;
    color: #3F96A5;
    font-size: 1.05rem;
}

.txt_dec03 {
    background: #0C3066;
    padding: 3px 10px;
    text-align: center;
    color: #FFF;
}

strong.imp {
    background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #FADD16 0%) repeat scroll 0 0;
}

.imp02 {
    background: #FF7373;
    padding: 3px 10px;
    color: #FFF;
    font-weight: bold;
    font-size: 1.1rem;
}

@media screen and (max-width:768px){
    .txt_dec01,
    .txt_dec02 {
        font-size: 0.95rem;
    }
    .imp02 {
        font-size: 0.9rem;
    }
}


/************************************************

	form

*************************************************/
input[type="button"],
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="submit"],
textarea {
   -webkit-appearance: none;
   border-radius: 0;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
select,
textarea {
	padding: 10px;
	font-size: 1.0rem;
	font-family: "YuGothic","游ゴシック","游ゴシック体",'メイリオ',Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	border: 1px solid #DDD;
}
	::-webkit-input-placeholder {
		color: #999;
	}
	::-moz-placeholder {
		color: #999;
		opacity: 1.0;
	}
	:-moz-placeholder {
		color: #999;
	}
    :-ms-input-placeholder {
		color: #999;
	}

input[type="radio"],
input[type="checkbox"] {
	margin: 5px;
}

.iPhone select {
    height: 3.0em;
    -webkit-appearance: none;
    border-radius: 0;
    background: #FFF url(../images/ico/ico_select01.png) no-repeat right 10px center;
    background-size: 10px 9px;
    padding-right: 25px;
}

.btn_input01 {
	width: 50%;
	margin: 10px auto 0;
}

	.btn_input01 input[type="submit"] {
		width: 100%;
		box-sizing: border-box;
		font-weight: bold;
		font-size: 120%;
		background: -moz-linear-gradient(top, #FFF, #D5D5D5);
		background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#D5D5D5));
		background: -ms-linear-gradient(top, #FFF 0%, #D5D5D5 100%); 
		border: 1px solid #CCC;
		border-radius: 5px;
		padding: 13px 7px;
		text-align: center;
		text-shadow: 1px 1px 1px #FFF;
		cursor: pointer;
		outline: none;
	}

.check01,
.radio01 {
    position: relative;
    display: inline-block;
}
    .check01 input,
    .radio01 input {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        width: 100%;  
        height: 100%;
    }
    .check01 input[type="checkbox"] + label,
    .radio01 input[type="radio"] + label {
        display: block;
        background-position: left center;
        background-repeat: no-repeat;
        padding: 2px 0 0 27px;
    }
    .check01 input[type="checkbox"] + label {
        background-image: url(../images/ico/ico_check01_off.png);
        background-size: 20px;
    }
    .radio01 input[type="radio"] + label {
        background-image: url(../images/ico/ico_radio01_off.png);
        background-size: 20px;
    }
    .check01 input[type="checkbox"]:checked + label {
        background-image: url(../images/ico/ico_check01_on.png);
    }
    .radio01 input[type="radio"]:checked + label {
        background-image: url(../images/ico/ico_radio01_on.png);
    }

.err {
    background: #FFD7D8;
    padding: 3px;
    margin-top: 5px;
    color: #B00;
    font-weight: bold;
    font-size: 0.8rem;
}
	
@media screen and (max-width:768px){
    select {
        width: 100%;
        box-sizing: border-box;
    }
	.btn_input01 {
		width: 100%;
	}
}




/************************************************

	stepbar

*************************************************/
.stepbar {
    position: relative;
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    text-align: center;
    width: 100%;
    overflow: hidden;
    *zoom: 1;
}
    .stepbar .step {
        position: relative;
        float: left;
        display: inline-block;
        line-height: 59px;
        padding: 0 40px 0 20px;
        background-color: #eee;
        box-sizing: border-box;
        font-size: 1.2rem;
        font-weight: bold;
    }
    .stepbar .step:before,
    .stepbar .step:after {
        position: absolute;
        left: -15px;
        display: block;
        content: '';
        background-color: #eee;
        border-left: 4px solid #FFF;
        width: 20px;
        height: 30px;
    }
    .stepbar .step:after {
        top: 0;
        -moz-transform: skew(30deg);
        -ms-transform: skew(30deg);
        -webkit-transform: skew(30deg);
        transform: skew(30deg);
    }
    .stepbar .step:before {
        bottom: 0;
        -moz-transform: skew(-30deg);
        -ms-transform: skew(-30deg);
        -webkit-transform: skew(-30deg);
        transform: skew(-30deg);
    }
    .stepbar .step:first-child:before, .stepbar .step:first-child:after {
        content: none;
    }
    .stepbar .step.current {
        color: #FFF;
        background-color: #0E3067;
    }
    .stepbar .step.current:before, .stepbar .step.current:after {
        background-color: #0E3067;
    }
    .stepbar.step2 .step {
        width: 50%;
    }
    .stepbar.step3 .step {
        width: 33.333%;
    }
    .stepbar.step4 .step {
        width: 25%;
    }
    .stepbar.step5 .step {
        width: 20%;
    }

@media screen and (max-width:768px){
    .stepbar .step {
        padding: 0 18px 0 10px;
        font-size: 0.9rem;
    }
    /*.stepbar .step:first-child {
        padding: 0 15px 0 10px;
    }*/
    .stepbar .step:before,
    .stepbar .step:after {
        left: -10px;
        width: 15px;
    }
}


/************************************************

	form

*************************************************/
.border01 {
    border-bottom: 1px dashed #0071AB;
}

.border02 {
    border-bottom: 1px solid #0C3066;
    padding-bottom: 10px;
}


/************************************************

	Margin Padding

*************************************************/
.m10 {margin: 10px !important;}
.mb5 {margin-bottom: 5px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb15 {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb25 {margin-bottom: 25px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb50 {margin-bottom: 50px !important;}
.mt5 {margin-top: 5px !important;}
.mt10 {margin-top: 10px !important;}
.mt15 {margin-top: 15px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt40 {margin-top: 40px !important;}
.mt50 {margin-top: 50px !important;}
.ml5 {margin-left: 5px !important;}
.ml10 {margin-left: 10px !important;}
.ml20 {margin-left: 20px !important;}
.ml30 {margin-left: 30px !important;}
.ml40 {margin-left: 40px !important;}
.mr5 {margin-right: 5px !important;}
.mr10 {margin-right: 10px !important;}
.mr20 {margin-right: 20px !important;}
.mr30 {margin-right: 30px !important;}
.p10 {padding: 10px !important;}
.p20 {padding: 20px !important;}
.pt10 {padding-top: 10px !important;}
.pb5 {padding-bottom: 5px !important;}
.pb10 {padding-bottom: 10px !important;}
.pl40 {padding-left: 40px !important;}

.mb30_sp {margin-bottom: 30px !important;}
.mb40_sp {margin-bottom: 40px !important;}
.mr20_sp {margin-right: 20px !important;}
.mr40_sp {margin-right: 40px !important;}
.ml40_sp {margin-left: 40px !important;}

@media screen and (max-width:768px){
    .mb30_sp {margin-bottom: 15px !important;}
    .mb40_sp {margin-bottom: 20px !important;}
    .mr20_sp {margin-right: 10px !important;}
    .mr40_sp {margin-right: 20px !important;}
    .ml40_sp {margin-left: 20px !important;}
}

/************************************************

	Width

*************************************************/
.w40 {width: 40px;}
.w50 {width: 50px;}
.w60 {width: 60px;}
.w80 {width: 80px;}
.w100 {width: 100px;}
.w150 {width: 150px;}
.w200 {width: 200px;}
.w300 {width: 300px;}
.w350 {width: 350px;}
.w450 {width: 450px;}
.w700 {width: 700px;}
.w750 {width: 750px;}
.w_full { 
	width: 100%;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
	box-sizing: border-box;
}

.w46per_sp {
    width: 46%;
    box-sizing: border-box;
}

.img_fl_w160 {width: 160px;}
.img_fl_w250 {width: 250px;}
.img_fl_w380 {width: 380px;}

@media screen and (max-width:768px){
    .img_fl_w160 {width: 100px;}
    .img_fl_w250 {width: 100px;}
    .img_fl_w380 {width: 150px;}
    
    .w46per_sp {
        width: 100%;
    }
}


/************************************************

	Float Align

*************************************************/
.f_left {float: left;}
.f_right {float: right;}

.center {text-align: center !important;}
.left {text-align: left !important;}
.right {text-align: right !important;}


/************************************************

	clearfix

*************************************************/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
