/* ============================== common ============================== */
.v3-text_Titles{
    font-size:46px;
    font-weight: 800;
    margin: 0 auto .8em 0;
    line-height: 1.2em;
}
@media only screen and (max-width: 599px) {
.v3-text_Titles{
    font-size:2em;
}
}
.v3-textlink{
    font-size: 18px;
    line-height:18px;
    font-weight: 600;
    text-decoration: none;
    display: flex;
    align-items: center;
}
@media only screen and (max-width: 599px) {
.v3-textlink{
    font-size: 16px;
    line-height:16px;
}
}
.v3-textlink-blue{
    color:#3192CE;
}
.v3-textlink::after{
    content: "";
    background: url(../img/v3common/arrow_black.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 10px;
    height: 16px;
    display: inline-block;
    padding-left:.8em;
}
.v3-textlink-blue::after{
    content: "";
    background: url(../img/v3common/arrow_blue.svg);
    background-size: auto;
    background-position: center;
    background-repeat: no-repeat;
    width: 10px;
    height: 16px;
    display: inline-block;
}
.v3-label-White{
    background:#fff;
    border-radius: 4px;
    padding:6px 44px;
    line-height:1em;
    color:#4C5B5C;
    font-weight: 600;
    letter-spacing: 100;
    font-size:12px;
}
.v3-text-bold a{
    text-decoration: none;
}
.v3-text-bold{
    font-weight: 600;
}
.v3-flex-left{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    position: relative;
}
@media only screen and (max-width: 599px) {
.v3-flex-left{
    display: block;
}
}
.v3-flex-center{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items:flex-start;
    position: relative;
}
.v3-flex-lr{
    display: flex;
    flex-wrap: wrap;
    justify-content:space-between;
    align-items: center;
    position: relative;
}
.v3-flex-right{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    position: relative;
}
.v3-inner996{
    width:82%;
    max-width:996px;
    margin:0 auto;
}
@media only screen and (max-width: 599px) {
.v3-inner996{
    width:92%;
}
}
.v3-innerfull{
    width:100%;
    position: relative;
}
@media only screen and (max-width: 599px) {
.v3-innerfull{
    width:100%;
    margin:0 auto;
}
}
.v3-button-blue{
    background:#3192CE;
    color:#fff;
    font-weight: 600;
    font-size:14px;
    padding:1em 4em;
    border-radius: 4px;
    margin:40px auto 70px;
    text-decoration: none;
    box-shadow:0px 0px 2px 2px rgba(0,0,0,0.1);
    min-width: 260px;
    text-align: center;
    display: inline-block;
}
.v3-button-white{
    background:#fff;
    color:#3192CE;
    border:2px solid #3192CE;
    font-weight: 600;
    font-size:14px;
    padding:1em 4em;
    border-radius: 4px;
    margin:48px auto 92px;
    text-decoration: none;
    box-shadow:0px 0px 2px 2px rgba(0,0,0,0.1);
    min-width: 260px;
    text-align: center;
    display: inline-block;
}
@media only screen and (max-width: 599px) {
.v3-button-blue,
.v3-button-white{
    margin:40px auto 50px;
}
}
.bgcolor-gray{
    background:#efefef;
}
.bgcolor-bluegradation {
    background: -moz-linear-gradient(top, #0794D3, #07ADCE);
    background: -webkit-linear-gradient(top, #0794D3, #07ADCE);
    background: linear-gradient(to bottom, #0794D3, #07ADCE);
}
.bgcolor-bluegradation .v3-headline2{
    color:#fff;
}
.dates{
    font-size:12px;
    color:#111;
}
.v3-recommend{
    display: flex;
    flex-wrap: wrap;
    width:100%;
    border-top:1px solid #ccc;
    align-items: baseline;
}
@media only screen and (max-width: 599px) {
.v3-recommend{
    justify-content: space-between;
}
}
.v3-recommend h3{
    width:100%;
    font-size:20px;
}
@media only screen and (max-width: 599px) {
.v3-recommend h3{
    font-size:16px;
}
}

/* ============================== footer ============================== */
.top-footer-contents,
.top-footer-sns{
    display: none !important;
}
.v3-toppage .top-footer-contents,
.v3-toppage .top-footer-sns{
    display: flex !important;
}
.v3-footer{
    letter-spacing:.08em;
}
.v3-footer img{
    width:100%;
}
@media only screen and (max-width: 768px) {
.v3-footer img{
    width:62%;
}
}
@media only screen and (max-width: 599px) {
.v3-footer img{
    width:100%;
}
}
.v3-footer{
    background: -moz-linear-gradient(top, #fff, #D5E9F5);
    background: -webkit-linear-gradient(top, #fff, #D5E9F5);
    background: linear-gradient(to bottom, #fff, #D5E9F5);
    padding-top: 70px;
}
.v3-footer .v3-inner996{
    width:82%;
    max-width:996px;
    margin:0 auto;
}
@media only screen and (max-width: 768px) {
.v3-footer .v3-inner996{
    width:92%;
}
}
.v3-footer .v3-innerfull{
    width:100%;
    position: relative;
}
@media only screen and (max-width: 768px) {
.v3-footer .v3-innerfull{
    width:100%;
    margin:0 auto;
}
}
.v3-footer .top-footer-contents{
    align-items: stretch;
    margin:0 auto 40px;
}
@media only screen and (max-width: 768px) {
.v3-footer .top-footer-contents{
    display: block;
}
}
.v3-footer .top-footer_items{
    width:48%;
    max-width:480px;
    padding:70px;
    border-radius: 4px;
    background:#fff;
    box-shadow:0px 0px 4px 2px rgba(0,0,0,0.05);
    text-align: center;
}
@media only screen and (max-width: 768px) {
.v3-footer .top-footer_items{
    width:100%;
    max-width: 100%;
    padding:28px 28px 42px 28px;
    margin-bottom:1em;
}
}
@media only screen and (max-width: 599px) {
.v3-footer .top-footer_items{
    padding:28px;
}
}
.v3-footer .top-footer_items .v3-button-white,
.v3-footer .top-footer_items .v3-button-blue{
    display: block;
    padding: 1em;
    margin:0 auto 24px;
    min-width:0;
}
@media only screen and (max-width: 768px) {
.v3-footer .top-footer_items .v3-button-white,
.v3-footer .top-footer_items .v3-button-blue{
    margin:0 auto 1em;
    max-width:80%;
}
}
@media only screen and (max-width: 599px) {
.v3-footer .top-footer_items .v3-button-white,
.v3-footer .top-footer_items .v3-button-blue{
    margin:0 auto 1em;
    max-width:100%;
}
}
.v3-footer .top-footer_items a:last-child{
    margin:0 auto;
}
.v3-footer .top-footer_items .v3-headline2{
    padding:0;
}
.v3-footer .headline_subtitles{
    font-size:12px;
    font-weight: 600;
    margin-bottom:50px;
}
@media only screen and (max-width: 768px) {
.v3-footer .headline_subtitles{
    margin-bottom:2em;
}
}
.v3-footer .top-footer-sns{
    display: flex;
    flex-wrap: wrap;
    max-width:996px;
    margin:0 auto 40px;
    justify-content: center;
}
@media only screen and (max-width: 768px) {
.v3-footer .top-footer-sns{
    width:80%;
}
}
.v3-footer .hlrnchan{
    max-width:408px;
    height: 100%;
}
@media only screen and (max-width: 768px) {
.v3-footer .hlrnchan{
    max-width: 62%;
    min-height: auto;
    object-fit: contain;
}
}
@media only screen and (max-width: 599px) {
.v3-footer .hlrnchan{
    max-width: 100%;
}
}
.v3-footer .snsList{
    list-style: none;
    display: flex;
    margin:66px 2em;
    padding:0;
}
@media only screen and (max-width: 768px) {
.v3-footer .snsList{
    margin:1em 0;
}
}
.v3-footer .snsList li{
    margin-right:2em;
}
.v3-footer .snsList li:last-child{
    margin-right:0;
}
.v3-footer .snsList li.facebook a{
    color:#3B579D;
}
.v3-footer .snsList li.twitter a{
    color:#1DA1F2;
}
.v3-footer .snsList li a{
    text-decoration: none;
    font-size:18px;
    font-weight: 600;
}
@media only screen and (max-width: 768px) {
.v3-footer .snsList li a{
    font-size:16px;
}
}
@media only screen and (max-width: 599px) {
.v3-footer .snsList li a{
    font-size:14px;
}
}
.v3-footer .snsList li a i{
    margin-right:0.5em;
}
.v3-footer .footer-cont{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
@media only screen and (max-width: 768px) {
.v3-footer .footer-cont{
    display: block;
}
}
.v3-footer .footer_link{
    flex:1;
}
.v3-footer .footer_link ul{
    margin:0 4em 0 0;
    padding:0;
    list-style: none;
}
@media only screen and (max-width: 768px) {
.v3-footer .footer_link ul{
    margin:0;
    width:50%;
}
}
.v3-footer .footer_link ul li{
    padding:.4em 0;
}
@media only screen and (max-width: 768px) {
.v3-footer .footer_link ul li{
    padding:.28em 0;
}
}
.v3-footer .footer_link ul li a{
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    color:#3192CE;
}
@media only screen and (max-width: 768px) {
.v3-footer .footer_link ul li a{
    font-size:12px;
}
}
.v3-footer .footer_menu{
    display: flex;
}
@media only screen and (max-width: 768px) {
.v3-footer .footer_menu{
/*
    display: block;
    */
}
}
.v3-footer .company_info{
    width: 39%;
    font-size: 14px;
    border-left: 2px solid #111;
    padding-left: 1.4em;
    line-height: 2.2em;
}
@media only screen and (max-width: 768px) {
.v3-footer .company_info{
    width: 100%;
    border:none;
    background:#fff;
    padding:24px 20px;
    margin:1em 0;
    line-height: 1.8em;
    font-size: 12px;
}
}
.v3-footer .company_info strong{
    font-weight: 600;
}
.v3-footer .company_info p{
    margin:0;
    padding:0;
}
.v3-footer .company_info ul{
    list-style: none;
    margin:0;
    padding:0;
}
.site-titles{
    width:100%;
    display: flex;
    align-items: center;
    margin-bottom:38px;
}
@media only screen and (max-width: 768px) {
.v3-footer .site-titles{
    display: block;
}
}
.v3-footer .site-logo{
    display: block;
    width:200px;
    margin-right:1em;
}
@media only screen and (max-width: 768px) {
.v3-footer .site-logo{
    display: block;
    width: 60%;
    text-align: center;
    margin: 0 auto 1em;
}
}
.v3-footer .site-titles .v3-textlink{
    font-size:.9em;
    padding-right: 1em;
}
@media only screen and (max-width: 768px) {
.v3-footer .site-titles .v3-textlink {
    font-size: inherit;
    padding-right: 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
}
.v3-footer address{
    width:100%;
    text-align: center;
    font-weight: 600;
    font-size:12px;
    padding:120px 0 80px;
}
@media only screen and (max-width: 768px) {
.v3-footer address{
    padding:40px 0;
}
}
.v3-footer .company_name{
    font-size:14px;
    font-weight: 600;
}
.v3-footer .company_address{
    padding-bottom:1em !important;
}