@charset "UTF-8";
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  box-sizing: border-box;
  font-size: 15px;
  color: #222;
}
body {
  margin: 0 auto;
  color: #1A1A1A;
  /* -webkit-font-smoothing: antialiased; */
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
  display: block;
}
img {
  border: 0;
  max-width: 100%;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  color: #000;
}
body {
  font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
}
@media screen and (max-width: 820px) {
    body{
        font-size: 4vw;
    }
}
div, dl, dt, dd, ul, ol, li, pre, form, blockquote, th, td, p, h1, h2, h3, h4, h5, h6,figure {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
ul, ol {
  list-style: none;
}
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

a {
    text-decoration: none;
}

a:hover {
    opacity: 0.8;
    filter:alpha(opacity=80);
    transition: 0.2s;
    cursor: pointer;
}

*{ box-sizing:border-box; }

button,label{ cursor:pointer; }

img{
    max-width:100%;
    height:auto;
}


@media screen and (max-width: 820px) {
    .pc-only{ display: none !important; /* PCのみ表示 */ }
}
@media screen and (min-width: 821px) {
    .sp-only{ display: none !important; /* SPのみ表示 */ }
}

.inner{
    max-width: 1300px;
    width:100%;
    margin: 0 auto;
    padding: 0 50px;
}
@media screen and (max-width: 820px) {
    .inner{
        padding: 0 20px;
    }
}

/*------------------------------------------------------------
	WRAP
------------------------------------------------------------*/
.wrap{
    background-image: url("../images/body_bg.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: top center;
}


@media only screen and (max-width: 820px) {
    .wrap{
        background-image: url("../images/body_bg_sp.png");
        width:100vw;
        overflow-x: hidden;
        background-position: top -13.333333vw center;
    }
}




/*------------------------------------------------------------
	HEADER
------------------------------------------------------------*/
#header {
    position: fixed;
    z-index:999;
    top:2.083333vw;
    left:1.302083vw;
    width:calc(100% - 2.604167vw);
    height:5.9375vw;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background-color: #fff;
    border-radius: 1.041667vw;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
@media only screen and (max-width: 820px) {
    #header {
        top:0;
        left:0;
        width:100vw;
        height:23.2vw;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        
        border-radius: 0;
        box-shadow: none;
    }
}


/* logo */
.header_logo{
    padding-left: 1.041667vw;
    font-size:0.9375vw;
    font-weight: bold;
    flex-grow: 1;
}
.header_logo a{
    color:#1A1A1A;
    vertical-align: text-bottom;
}
.header_logo img{
    width: 14.0625vw;
    height: auto;
    margin-right: 0.260417vw;
}
.header_logo span{
    transform: translateY(-0.520833vw);
    display: inline-block;
}
@media only screen and (max-width: 820px) {
    .header_logo{
        padding-left: 1.041667vw;
        font-size:2.933333vw;
    }
    .header_logo img{
        width: 49.6vw;
        margin-right: 1.333333vw;
    }
    .header_logo span{
        transform: translateY(-0.520833vw);
        display: inline-block;
    }
}

/* menu */
.header_menu > ul{
	display: flex;
    align-items: center;
    justify-content: flex-start;
}
.header_menu > ul > li{
    position: relative;
}
.header_menu > ul > li > a,
.header_menu > ul > li > button{
    display: block;
    padding: 2.291667vw 1.041667vw;
    color: #0C64A0;
    font-size: 0.9375vw;
    font-weight: bold;
    border: none;
    height:5.9375vw;
    background-color: transparent;
    
}
.header_menu > ul > li > a img,
.header_menu > ul > li > button img{
    width:1.302083vw;
    height: auto;
    vertical-align: middle;
    margin-right: 5px;
}
@media only screen and (max-width: 820px) {
    .header_menu{
        position: fixed;
        top: 23.2vw;
        left:100vw;
        border-top: 1px solid #B1C4CB;
        width:100vw;
        height: calc(100vh - 23.2vw);
        overflow-y: scroll;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all  0.5s ease;
        background-color: #fff;
        display: block;
        padding: 6.666667vw 5.333333vw 16vw;
    }
    .header_menu.is-open{
        left:0;
    }
    .header_menu > ul{
        display: block;
    }
    .header_menu > ul > li{
        border-bottom: 1px solid #0C64A0;
    }
    .header_menu > ul > li:last-child{
        border-bottom: none;
    }
    .header_menu > ul > li > a,
    .header_menu > ul > li > button{
        width:100%;
        padding: 6.666667vw 0;
        font-size: 4.8vw;
        height:auto;
        text-align: left;
    }
    .header_menu > ul > li > a img,
    .header_menu > ul > li > button img{
        width:6.666667vw;
        margin-right: 1.333333vw;
    }
}

/* menu - drop */
@media only screen and (min-width: 820px) {
    .header_menu_drop{
        position: absolute;
        left:0;
        top:5.479167vw;
        display: none;
    }
    .header_menu > ul > li:hover .header_menu_drop{
        display: block;
    }
    .header_menu_drop_inner{
        padding: 1.5625vw;
        border: 1px solid #B1C4CB;
        border-radius: 0.520833vw;
        font-size: 0.9375vw;
        position: relative;
        background-color: #fff;
        width:20.833333vw;
        color: #1A1A1A;
        font-weight: bold;
    }
    .header_menu_drop_inner::before{
        content: "";
        width: 1.354167vw;
        height: 0.78125vw;
        background-image: url("../images/header_drop_arr.png");
        background-size: 100% auto;
        background-position: center center;
        position: absolute;
        top:-0.78125vw;
        left:1.666667vw;
    }
    .header_menu_drop_inner a{
        color: #1A1A1A;
        display: block;
    }
    .header_menu_drop_inner ul li p a{
        padding: 0.78125vw 0.520833vw;
    }
    .header_menu ul li:nth-child(1) .header_menu_drop_inner ul li:nth-child(2n) a{
        background-color: #F0F3F7;
    }

    .header_menu_drop_inner ul li ol{
        border-left: 1px solid #578FB5;
        padding-left: 0.520833vw;
        margin-top: 0.520833vw;
    }

    .header_menu_drop_inner ul li ol li a{
        padding: 0.78125vw 0.520833vw;
    }
    .header_menu_drop_inner ul li ol li:nth-child(2n) a{
        background-color: #F0F3F7;
    }
}
@media only screen and (max-width: 820px) {
    .header_menu_drop{
        position: relative;
        top:0;
        display: none;
    }
    .header_menu_drop.is-open{
        display: block;
    }
    .header_menu_drop_inner{
        padding: 0 2.666667vw 2.666667vw;
        border: none;
        border-radius: 0.520833vw;
        font-size: 4vw;
        width:100%;
        color: #1A1A1A;
        font-weight: bold;
    }
    .header_menu_drop_inner::before{
        display: none;
    }
    .header_menu_drop_inner a{
        color: #1A1A1A;
        display: block;
    }
    .header_menu_drop_inner ul li p a{
        padding: 2.666667vw;
    }
    .header_menu ul li:nth-child(1) .header_menu_drop_inner ul li:nth-child(2n) a{
        background-color: #F0F3F7;
    }

    .header_menu_drop_inner ul li ol{
        border-left: 1px solid #578FB5;
        padding-left: 2.666667vw;
        margin-top: 2.666667vw;
    }

    .header_menu_drop_inner ul li ol li a{
        padding: 2.666667vw;;
    }
    .header_menu_drop_inner ul li ol li:nth-child(2n) a{
        background-color: #F0F3F7;
    }
}

/* sns */
.header_sns{
    margin-right: 1.041667vw;
}
.header_sns img{
    width:3.125vw;
    height: auto;
}
@media only screen and (max-width: 820px) {
    .header_sns{
        display: none;
    }
}


/* cta */
.header_cta ul{
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
}
.header_cta ul li{
    
}
.header_cta ul li a{
    display: block;
    height: 5.9375vw;
    text-align: center;
    font-weight: bold;
}
.header_cta_contact a{
    font-size: 1.041667vw;
    color: #0A65A0;
    background-color: #FFE305;
    padding: 1.458333vw 1.458333vw;
}
.header_cta_entry a{
    font-size:0.9375vw;
    color: #fff;
    background-color: #4DA454;
    padding:2.291667vw 1.458333vw;
    border-radius: 0 1.041667vw 1.041667vw 0;
}

@media only screen and (max-width: 820px) {
    .header_cta ul{
        display: none;
    }
}

/* sp */
@media only screen and (max-width: 820px) {
    .header_sp{
        padding-right: 2.666667vw;
    }
    .header_sp button{
        width: 17.866667vw;
        height: 17.866667vw;
        background-color: transparent;
        border: none;
        background-image: url("../images/header_sp_open.png");
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: center center;
    }
    .header_sp button.is-open{
        background-image: url("../images/header_sp_close.png");
    }
    .header_menu_sp{
        padding-top: 2.666667vw;
    }
    .header_menu_sp ul li {
        margin-bottom: 2.666667vw;
        width: 100%;
    }
    .header_menu_sp ul li a{
        text-align: center;
        display: block;
        height:16vw;
        line-height: 16vw;
        font-weight: bold;
        font-size: 4vw;
    }
    .header_menu_sp .header_menu_sp_sns a{
        border: 1px solid #DBE1EA;
        color: #0A65A0;
    }
    .header_menu_sp .header_menu_sp_sns a img{
        width:10.666667vw;
        height: 10.666667vw;
        margin-right: 2.666667vw;
        vertical-align: middle;
    }
    .header_menu_sp .header_menu_sp_contact a{
        background-color: #FFE305;
        color: #0A65A0;
    }
    .header_menu_sp .header_menu_sp_entry a{
        background-color: #4DA454;
        color: #fff;
    }
}


/*------------------------------------------------------------
	FOOTER
------------------------------------------------------------*/
#footer {
    color: #fff;
    background-color: #0A65A0;
    width:100vw;
    padding: 3.125vw 0 2.604167vw;
}

/* nav */
.footer_nav{
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 4.166667vw;
}
.footer_nav ul{
    padding: 0 1.822917vw;
}
.footer_nav ul li{
    margin-bottom: 0.78125vw;
}
.footer_nav ul li a,
.footer_nav ul li h2{
    color: #fff;
    font-size: 0.9375vw;
    border: none;
    font-family: inherit;
    background-color: transparent;
    padding: 0;
}
.footer_nav ul li button{
    font-weight: bold;
    pointer-events: none;
}
.footer_nav ul li a h2{
    font-weight: bold;
    font-size: 1.25vw;
}
@media only screen and (max-width: 820px) {
    .footer_nav{
        display: block;
        margin-bottom: 8vw;
        padding: 0 5.333333vw;
    }
    .footer_nav ul{
        padding: 2.666667vw 1.822917vw;
        border-bottom: 1px solid #fff;
    }
    .footer_sp_toggle{
        display: none;
    }
    .footer_sp_toggle.is-open{
        display: block;
    }
    .footer_nav ul li:not(:first-child){
        border-left: 1px solid #fff;
        margin-bottom: 0;
        padding-left: 2.666667vw;
    }
    .footer_nav ul li.sp-only{
        font-size: 4.266667vw;
        font-weight: bold;
        margin-bottom: 2.666667vw;
    }
    .footer_nav ul li a{
        color: #fff;
        font-size: 4.266667vw;
        padding: 2.666667vw 0;
        display: block;
    }
    .footer_nav ul li a::before{
        content: "";
        width: 2.666667vw;
        height: 1px;
        display: inline-block;
        vertical-align: middle;
        background-color: #fff;
        margin-right: 2.666667vw
    }
    .footer_nav ul li h2 a::before{
        display: none !important;
    }
    .footer_nav ul li a h2{
        font-weight: bold;
        font-size: 1.25vw;
    }
    .footer_sp {
        border: none;
        background-color: transparent;
        color: #fff;
        font-weight: bold;
        font-size: 4.266667vw;
        background-image: url("../images/footer_sp_open.png");
        background-repeat: no-repeat;
        background-position: center right 8vw;
        background-size: 4vw auto;
        width:100%;
        padding: 6.666667vw 2.666667vw;
        text-align: left;
        border-bottom: 1px solid #fff;
    }
    .footer_sp.is-open{
        background-image: url("../images/footer_sp_close.png");
        border-bottom: none;
    }
}


/* btn */
.footer_btn{
    padding: 0 15.625vw;
}
.footer_btn a{
    display: inline-block;
    margin-right: 1.5625vw;
    padding-left: 2.083333vw;
    font-size: 0.9375vw;
    font-weight: bold;
    color: #0A65A0;
    background-color: #fff;
    width:17.65625vw;
    height: 3.90625vw;
    line-height: 3.90625vw;
    border-radius: 37.5px;
    box-shadow: 0 0.260417vw 0 #133B55;
    background-image: url("../images/footer_icn.png");
    background-repeat: no-repeat;
    background-size: 1.822917vw 1.822917vw;
    background-position: center right 1.041667vw;
}
@media only screen and (max-width: 820px) {
    .footer_btn{
        padding: 0 5.333333vw;
    }
    .footer_btn a{
        display: block;
        margin-right: 0;
        margin-bottom: 2.666667vw;
        padding-left: 10.666667vw;
        font-size: 4.8vw;
        width:100%;
        height: 20vw;
        line-height: 20vw;
        border-radius: 10vw;
        box-shadow: 0 1.333333vw 0 #133B55;
        background-size: 9.333333vw 9.333333vw;
        background-position: center right 5.333333vw;
    }
}


/*　bottom　*/
.footer_bottom {
	border-top: 1px solid #fff;
    margin-top: 4.166667vw;
    padding: 2.604167vw 0;
    position: relative;
}
.footer_bottom_inner{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.footer_bottom_inner_address {
    
}
.footer_bottom_inner_address h2{
    font-size: 1.666667vw;
    font-weight: bold;
}
.footer_bottom_inner_address h2 span{
    display: block;
    font-size: 1.041667vw;
    margin-top: 0.260417vw;
}
.footer_bottom_inner_address p{
    margin-top: 2.083333vw;
    font-size: 0.833333vw;
    line-height: 1.25vw
}
.footer_bottom_inner_copy ul{
    display: flex;
    justify-content: flex-end;
    margin-bottom: 0.78125vw;
}
.footer_bottom_inner_copy ul li{
    border-right: 1px solid #fff;
}
.footer_bottom_inner_copy ul li:first-child{
    border-left: 1px solid #fff;
}
.footer_bottom_inner_copy ul li a{
    color: #fff;
    padding: 0.260417vw 1.041667vw;
    display: block;
    font-size: 0.833333vw;
}
.footer_bottom_inner_copy p{
	font-size: 0.625vw;
    text-align: right;
}

@media only screen and (max-width: 820px) {
    .footer_bottom {
        margin-top: 8vw;
        padding: 13.333333vw 0 26.666667vw;
    }
    .footer_bottom_inner{
        display: block;
    }
    .footer_bottom_inner_address{
        margin-bottom: 10.666667vw;
    }
    .footer_bottom_inner_address h2{
        font-size: 6.4vw;
    }
    .footer_bottom_inner_address h2 span{
        font-size: 4.266667vw;
        margin-top: 0;
    }
    
    .footer_bottom_inner_address p{
        margin-top: 2.666667vw;
        font-size: 4.266667vw;
        line-height: 6.4vw;
    }
    .footer_bottom_inner_copy ul{
        display: block;
        margin-bottom: 10.666667vw;
    }
    .footer_bottom_inner_copy ul li{
        border-right: none;
        margin-bottom: 5.333333vw;
    }
    .footer_bottom_inner_copy ul li:first-child{
        border-left: none;
    }
    .footer_bottom_inner_copy ul li a{
        padding: 0;
        font-size: 4.266667vw;
        text-decoration: underline;
    }
    .footer_bottom_inner_copy p{
        font-size: 2.933333vw;
        text-align: center;
    }
}

/* pagetop */
.pagetop{
    position: fixed;
    z-index:8888;
    right:80px;
    bottom: 80px;
}
.pagetop.is-fixed{
    position: absolute;
    top:-110px;
    bottom: auto;
}
.pagetop img{
    width:80px;
    height: auto;
}
@media only screen and (max-width: 820px) {
    .pagetop{
        right:5.333333vw;
        bottom: 5.333333vw;
    }
    .pagetop.is-fixed{
        top:auto;
        bottom: 36.533333vw;
    }
    .pagetop img{
        width:21.333333vw;
        height: auto;
    }
}


/*------------------------------------------------------------
	.page_title
------------------------------------------------------------*/
.page_title {
    display: flex;
    padding: 10.833333vw 6.25vw 0 10.416667vw;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    background-image:url("../images/page_title_bg.png");
    background-repeat: no-repeat;
    background-size: 40.729167vw auto;
    background-position: left bottom;
}
.page_title_img{
    width: 47.916667vw;
}
.page_title_txt {
    font-family: "Zen Kaku Gothic New", sans-serif;
    
}
.page_title_parent{
    color: #0C64A0;
    font-weight: 700;
    font-size: 2.34375vw;
}
.page_title_txt_h1{
    color: #0C64A0;
    font-weight: 700;
	font-size: 3.645833vw;
}
.page_title_txt_h1 span{
    font-size: 2.604167vw;
}
.page_title_txt_sub{
    margin-top: 2.083333vw;
    font-size: 1.666667vw;
    line-height: 2.604167vw;
}
.page_title_txt_sub02{
    font-size: 1.041667vw;
    margin-top: 2.083333vw;
}

@media only screen and (max-width: 820px) {
    .page_title {
        display: block;
        padding: 28.533333vw 5.333333vw 21.333333vw;
        background-size: 100% auto;
        background-position: center bottom;
    }
    .page_title_img{
        width: 100%;
        margin-bottom: 21.333333vw;
    }
    .page_title_parent{
        font-size: 5.333333vw;
    }
    .page_title_txt{
        padding: 0 7.466667vw;
    }
    .page_title_txt_h1{
        font-size: 6.4vw;
    }
    
    .page_title_txt_h1 span{
        font-size: 5.333333vw;
    }
    .page_title_txt_sub{
        margin-top: 2.666667vw;
        font-size: 4.266667vw;
        line-height: 6.666667vw;
    }
    .page_title_txt_sub02{
        font-size: 3.2vw;
        margin-top: 2.666667vw;
    }   
}

/*------------------------------------------------------------
	COMMON : title
------------------------------------------------------------*/

/* .title_m(文字のみタイトル) */
.title_m{
    font-size:32px;
    color: #0C64A0;
    font-weight: bold;
    margin-bottom: 45px;
    line-height: 1.5em;
    letter-spacing: 0;
}
@media only screen and (max-width: 820px) {
    .title_m{
        font-size:5.333333vw;
        margin-bottom: 5.333333vw;
        line-height: 8.533333vw;
    }
}

/* .ttl_bg01(帯付きタイトル、グラデボーダー) */
/* .ttl_bg02(帯付きタイトル、白ボーダー) */
.title_bg01,
.title_bg02{
    color: #fff;
    background-color: #0C64A0;
    position: relative;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
    padding: 10px 32px;
    height: 55px;
}
.title_bg01::before,
.title_bg02::before{
    content:"";
    position: absolute;
    top:0;
    left:0;
    width:12px;
    height: 55px;
    display: block;
}
.title_bg01::before{
    background-image: linear-gradient(0deg, rgba(227, 240, 255, 1) 0%, rgba(206, 244, 229, 1) 100%);
}
.title_bg02::before{
    background-color: #fff;
}

@media only screen and (max-width: 820px) {
    .title_bg01,
    .title_bg02{
        font-size: 4.8vw;
        margin-bottom: 2.666667vw;
        padding: 4vw 8vw;
        min-height: 14.666667vw;
        height: auto;
    }
    .title_bg01::before,
    .title_bg02::before{
        width:3.2vw;
        height: 100%;
    }
}

/* .title_border(丸付きボーダー) */
.title_border{
    border-bottom: 3px solid #0C64A0;
    padding: 0 0 10px 15px;
    margin-bottom: 10px;
    position: relative;
    width: 100%;
    font-size: 20px;
    font-weight: bold;
}
.title_border::before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 6px;
    background-color: #0C64A0;
    position: absolute;
    bottom: -8px;
    left: -1px;
}

@media only screen and (max-width: 820px) {
    .title_border{
        border-bottom: 0.8vw solid #0C64A0;
        padding: 0 0 1.333333vw 4vw;
        margin-bottom: 2.666667vw;
        font-size: 4.8vw;
    }
    .title_border::before {
        width: 3.2vw;
        height: 3.2vw;
        border-radius: 1.6vw;
        bottom: -2.133333vw;
        left: -0.266667vw;
    }
}

/*------------------------------------------------------------
	COMMON : table
------------------------------------------------------------*/
.table_normal table{
    width:100%;
    border-top:5px solid #72B0D9;
    background-color: #fff;
}
.table_normal table tr{
    border-bottom:5px solid #72B0D9;
}
.table_normal table tr th{
    padding: 25px 10px;
    font-weight: bold;
    text-align: left;
    position: relative;
}
.table_normal table tr:nth-child(odd) th{
    background-color: #D4E7F4;
}
.table_normal table tr:nth-child(even) th{
    background-color: #E7F6FF;
}
.table_normal table tr th span{
    float: right;
    font-size: 15px;
    font-weight: normal;
}
.table_normal table tr td{
    padding: 25px 10px;
}
@media only screen and (max-width: 820px) {
    .table_normal table tr th{
        padding: 4vw 2.666667vw;
        display: block;
        width: 100%;
    }
    .table_normal table tr th span{
        font-size: 4vw;
    }
    .table_normal table tr td{
        padding: 4vw 2.666667vw;
        display: block;
        width: 100%;
    }
}

/*------------------------------------------------------------
	COMMON : box
------------------------------------------------------------*/

/* .box_blue */
.box_blue{
    border: 5px solid #0c64a0;
    background-color: #fff;
    padding: 30px;
    border-radius: 10px;
    line-height: 1.8em;
}
@media only screen and (max-width: 820px) {
    .box_blue{
        padding: 5.333333vw;
        border-radius: 2.666667vw;
    }
}

/*------------------------------------------------------------
	COMMON : link
------------------------------------------------------------*/
/* .links_img 画像付きリンク */
.links_img ul{ 
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.links_img ul li a{
    display: block;
}
.links_img ul li.links_img_3{
    width: calc( (100% - 60px) / 3 );
    margin-right: 30px;
    margin-bottom: 30px;
}
.links_img ul li.links_img_3:nth-child(3n){
    margin-right: 0;
}
.links_img ul li.links_img_2{
    width: calc( (100% - 30px) / 2 );
    margin-bottom: 30px;
}
.links_img ul li figure{
    position: relative;
    display: block;
}
.links_img ul li figure img{
    width: 100%;
    height: auto;
}
.links_img ul li figure figcaption{
    position: absolute;
    left:0;
    bottom: 30px;
    width:306px;
    height: 65px;
    line-height: 24px;
    background-image: url("../images/links_img_ribbon.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size:100% auto;
    color:#fff;
    font-size: 20px;
    font-weight: bold;
    padding: 18px 20px;
}
.links_img ul li figure figcaption.is-2line{
    padding: 8px 20px;
}

@media only screen and (max-width: 820px) {
    .links_img ul li a{
        display: block;
    }
    .links_img ul li.links_img_3{
        width: 48vw;
        margin-right: 4vw;
        margin-bottom: 0;
    }
    .links_img ul li.links_img_3:nth-child(3n){
        margin-right: 4vw;
    }
    .links_img ul li.links_img_2{
        width: 48vw;
        margin-bottom: 0;
        margin-right: 4vw;
    }
    .links_img ul li figure img{
        width: 48vw;
        height: auto;
    }
    .links_img ul li figure figcaption{
        left:2.133333vw;
        bottom: 4.8vw;
        width:42.666667vw;
        height: 10.933333vw;
        line-height: 1;
        background-image: url("../images/links_img_ribbon_sp.png");
        font-size: 3.466667vw;
        padding: 2vw 4vw;
    }
    .links_img ul li figure figcaption.is-2line{
        padding: 2vw 4vw;
    }
}

/* .links_txt01 シャドウ付きボタンリンク */
.links_txt01 ul{ 
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.links_txt01 ul li{
    margin-right: 20px;
    width:calc((100% - 60px) / 4);
}
.links_txt01 ul li:nth-child(4n){
    margin-right: 0;
}
.links_txt01 ul li a{
    display: block;
    width:100%;
    height: 71px;
    line-height: 65px;
    background-color: #fff;
    border: 3px solid #0c64a0;
    color: #0c64a0;
    font-size:18px;
    font-weight: bold;
    text-align: center;
    border-radius: 15px;
    box-shadow: 0 5px 0 #0c64a0;
}
@media only screen and (max-width: 820px) {
    .links_txt01 ul{ 
        display: block;
    }
    .links_txt01 ul li{
        margin-right: 0;
        width:100%;
        margin-bottom: 2.666667vw;
    }
    .links_txt01 ul li:nth-child(4n){
        margin-right: 0;
    }
    .links_txt01 ul li a{
        display: block;
        width:100%;
        height: 18.666667vw;
        line-height: 17vw;
        font-size:4.266667vw;
        border-radius: 2.133333vw;
        box-shadow: 0 1.333333vw 0 #0c64a0;
    }
}


/* .links_txt02 交互に色違いボックスリンク */
.links_txt02 ul{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.links_txt02 ul li{
    margin-right: 15px;
    width:100%;
}
.links_txt02 ul li:last-child{
    margin-right: 0;
}
.links_txt02 ul li a{
    display: block;
    color: #fff;
    text-align: center;
    font-size:20px;
    line-height: 35px;
    height:114px;
    padding: 25px 0;
    width: 100%;
    font-weight: bold;
    border-radius: 8px;
}
.links_txt02 ul li:nth-child(2n-1) a{
    background-color: #0C64A0;
    box-shadow: 0 10px 0 #0A4167;
}
.links_txt02 ul li:nth-child(2n) a{
    background-color: #5A9AC6;
    box-shadow: 0 10px 0 #296F9F;
}

@media only screen and (max-width: 820px) {
    .links_txt02 ul{
        display: block;
    }
    .links_txt02 ul li{
        margin-right: 0;
        margin-bottom: 5.333333vw;
    }
    .links_txt02 ul li a{
        font-size:4.266667vw;
        line-height: 6.333333vw;
        height:17.066667vw;
        padding: 5.333333vw 0;
        border-radius: 2.133333vw;
    }
    .links_txt02 ul li:nth-child(2n-1) a{
        box-shadow: 0 2.666667vw 0 #0A4167;
    }
    .links_txt02 ul li:nth-child(2n) a{
        box-shadow: 0 2.666667vw 0 #296F9F;
    }
}
