

/* ********** */
/* フッター開始 */


/* footer-contact END */
.footer_contact_container {
    padding-top: 0;
    padding-bottom: 8.3333rem;
}
.footer_contact_item_wrap {
    width: 100%;
    max-width: 28.75rem;
    border-radius: 1.6666rem;
    background: rgba(255, 255, 255, .5);
/*
    background: rgba( 255, 255, 255, 0.4 );
    box-shadow: 0 8px 32px 0 rgba( 31, 38, 135, 0.37 );
    backdrop-filter: blur( 2.5px );
    -webkit-backdrop-filter: blur( 2.5px );
*/
    border-radius: 10px;
    border: 1px solid rgba( 255, 255, 255, 0.18 );
    padding: 4.1666rem 1.25rem 1.6666rem;
    margin: 0 auto 0;
}
.footer_contact_container .common_subtitle {
    margin-bottom: 4.1666rem;
}
.footer_contact_container .common_subtitle p {
    font-weight: 400;
}
.footer_contact_container .main_btn_wrap {
    margin-bottom: 4.1666rem;
}
.footer_contact_body_r {
    /* display: flex;
    justify-content: space-between; */
    display: grid;
    list-style-type: none;
    gap: 1.25rem;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 2.5rem;
}
.footer_contact_body_r.footer_contact_body_r_full {
		gap: 0;
	  grid-template-columns: repeat(1, 1fr);
}
.footer_contact_image {
}
.footer_contact_image img {
    max-width: 100%;
    border-radius: 1.25rem;
}
.footer_contact_container .common_subtitle {
/*     margin-bottom: 1.6666rem; */
	margin-bottom: 4.1666rem;
}
.footer_contact_container .common_subtitle h2::before {
    background: #A3E318;
}
.footer_letter_wrap {
    margin-bottom: 2.5rem;
	margin-bottom: 4.1666rem;
}
.footer_letter {
/*     padding-left: 2.2222rem; */
}

/*
.footer_letter p {
    font-family: "vdl-penletter", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 1.8333rem;
    line-height: 5rem;
    letter-spacing: .02em;
    transform: rotate(-5deg);
}
*/
.footer_letter p {
		text-align: center;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 3rem;
    letter-spacing: .01em;
    margin-top: -.5em;
    margin-bottom: -.5em;
}
.footer_letter.footer_letter_tl p{
	text-align: left;
	font-size: 1.2rem;
}


/* footer-contact END */



.footer {
    background: #465DAA;
    padding-left: 2.5000rem;
    padding-right: 2.5000rem;
    padding-bottom: 2.5000rem;
}
.footer_container {
    padding-top: 5.8333rem;
}
.footer_body_l {}
.footer_body_r {}
.footer_logo {
    text-align: center;
    margin-bottom: 5.8333rem;
}
.footer_logo p {
    font-family: "dincondensed", sans-serif;
    font-size: 4.1666rem;
    line-height: .8em;
}
.footer_logo img {
	width: 14.2333rem;
}
.footer_sns {
    margin-bottom: 4.1666rem;
}
.footer_sns_list {
    display: flex;
    gap: 1.25rem;
}
.footer_sns_item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.3153rem;
    height: 3.3153rem;
    border-radius: 50%;
    box-shadow: .0694rem .0694rem .1388rem rgba(109, 109, 109, .75);
}
.footer_sns_item li {
    display: inline-block;
}
.footer_sns_item img , .footer_sns_item svg {
    height: 1.6576rem;
}

		.footer_sns_list .snsicon {
			width: 1.6651rem;
			height: 1.6651rem;
		}
/*  */
.footer_page_links_outer {
    margin-bottom: 2.5rem;
}
.footer_page_links {}
.footer_page_links_top {
    display: flex;
    justify-content: space-between;
    border-bottom: .08333rem solid #FFF;
}
.footer_page_links_top.sp-none {
    display: none;
}
.footer_page_links_top.pc-none {
    display: flex;
}
.footer_page_links_top.active {
    margin-bottom: 1.111rem;
}
.footer_page_links:first-child  .footer_page_links_top {
    border-top: .08333rem solid #FFF;
}
.footer_page_links:last-child .footer_page_links_top {
    margin-bottom: 0;
}
.footer_page_links_top_text {
    flex-grow: 1;
    display: flex;
    align-items: center;
    position: relative;
    height: 5rem;
    font-size: 1rem;
    line-height: 1em;
    font-weight: 500;
    letter-spacing: .05em;
    transition: all .2s linear;
}
.footer_page_links_top_text[color="1"]:hover {
    color: #FF4600;
    color: #999999;
}
.footer_page_links_top_text[color="2"]:hover {
    color: #FFB400;
    color: #999999;
}
.footer_page_links_top_text[color="3"]:hover {
    color: #A3E318;
    color: #999999;
}
.footer_page_links_top_text[color="4"]:hover {
    color: #2ED2FF;
    color: #999999;
}
.footer_page_links_top_text span.footer_page_links_top_text_main {
    min-width: 10rem;
    font-size: 1.6667rem;
    font-weight: 700;
    line-height: 1em;
    color: #FFF;
}
.footer_page_links_top_text span.footer_page_links_top_text_sub {
    font-size: 1rem;
    line-height: inherit;
    font-weight: 500;
    letter-spacing: .05em;
    color: #FFF;
}
.footer_open {
    display: flex;
    position: relative;
    width: 2.5rem;
}
.footer_open span {
    position:absolute;
    top: 50%;
    right: 0;
    background: #FFF;
    background-image: url(../../img/common/chevron_right_bl.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 0.2646rem auto;
    width: 1.6667rem;
    height: 1.6667rem;
    transition: all .5s;
    transform: translateY(-50%);
    border-radius: 50%;
}
.footer_page_links_list {
    display: none;
    list-style-type: none;
    padding-left: 2.851rem;
    margin-top: 0;
    margin-bottom: 2.592rem;
}
.footer_page_links_list.active {
    display: block;
}
.footer_page_links:last-child .footer_page_links_list {
    margin-bottom: 0;
}
.footer_page_links_list li {
    margin-bottom: 1.111rem;
}
.footer_page_links_list li a {
    font-size: .8888rem;
    font-weight: 400;
    transition: all .2s linear;
}
.footer_page_links_list[color="1"] li a:hover {
    color: #FF4600;
}
.footer_page_links_list[color="2"] li a:hover {
    color: #FFB400;
}
.footer_page_links_list[color="3"] li a:hover {
    color: #A3E318;
}
.footer_page_links_list[color="4"] li a:hover {
    color: #2ED2FF;
}
.footer_page_links_list li:last-child {
    margin-bottom: 0;
}
/*  */



.footer_copy_wrap {
}
.footer_policy_link {
    margin-bottom: 4.1667rem;
}
.footer_policy_link a {
    font-size: 1rem;
    line-height: 1em;
    font-weight: 400;
    letter-spacing: .05em;
    color: #FFF;
}
.footer_button_link {
    margin-bottom: 1.6666rem;
}
.footer_button_link a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    width: 100%;
    height: 10rem;
    background: #465DAA;
    border-radius: 1.24583rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    transition: all .2s linear;
}
.footer_button_link a::before {
    content: "";
    position: absolute;
    right: 1.4375rem;
    width: 3.59375rem;
    height: 3.59375rem;

    background-color: #FFF;
    background-image: url(../../img/common/arrow_or.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 1.0731rem auto;
    border-radius: 50%;
}
.footer_button_link a span {
    color: #FFF;
}
.footer_button_link a:hover {
    opacity: .7;
}
.footer_button_text_lg {
    font-family: "dincondensed", sans-serif;
    font-size: 3.59416rem;
    line-height: .8em;
    font-weight: 400;
    letter-spacing: -.025em;
    margin-bottom: 1rem;
}
.footer_button_text_xs {
    font-size: 1.0058rem;
    letter-spacing: .05em;
}
.footer_copy {}
.footer_copy p {
    text-align: center;
    color: #FFF;
    font-size: 1rem;
    line-height: 1em;
    font-weight: 500;
    letter-spacing: .03em;
}

.footer_policy_wrap_pc {display: none;}
.footer_contact_entry_wrap {
	position: relative;
	min-height: 24.1667rem;
	max-width: unset;
	background-image: url(../../img/common/sp-top-contact.png);
	background-repeat: no-repeat;
	background-size: 100%;
	width:100%;
	padding-top: 5.5833rem;
	padding-left: 1.2500rem;
	padding-bottom: 5.8333rem;
	padding-right: 0;
	overflow: hidden;
	border-radius: 2.4167rem;
}
.footer_contact_entry_wrap::before {
	content: "";
	position: absolute;
	inset:0;
	background: rgba(70 , 93 , 170 , .7);
}
.footer_contact_title_wrap {}
.footer_contact_title {
	color: #FFF;
	font-size: 3.3333rem;
	font-weight: 700;
	line-height: 1em;
	margin-bottom: 0.6667rem;
}
.footer_contact_title_mini {
	color: #FFF;
	font-size: 1.1667rem;
	line-height: 1em;
	font-weight: 700;
	letter-spacing: .05em;
	
	margin-bottom: 3.3333rem;
}
.footer_contact_body_l , .footer_contact_body_r {
	position: relative;
	z-index: 1;
}
.footer_contact_body_r {
	display: none;
}
.footer_contact_desc {
	color: #FFF;
}

@media (min-width: 768px) {
    
    /* footer-contact END */
    .footer_contact_container {
        padding-top: 0;
        padding-bottom: 8.3333rem;
        padding-left: 0;
        padding-right: 0;
    }
    .footer_contact_item_wrap {
        display: flex;
        max-width: 72.2222rem;
        border-radius: 2.2222rem;
        padding: 4.4444rem;
        margin: 0 auto;
    }
    .footer_contact_container .common_subtitle {
        margin-bottom: 1.6666rem;
        margin-bottom: 2.7777rem;
    }
    .footer_contact_container .common_subtitle h2 {
        flex-direction: column-reverse;
        align-items: start;
        font-size: 5rem;
        line-height: .8em;
    }
    .footer_contact_container .common_subtitle h2 p {
        padding-bottom: .8888rem;
        margin-left: 0;
    }
    .footer_contact_container .common_subtitle h2::before {
        top: calc(.8888rem + .8888rem + ((4rem - .5555rem) / 2));
        transform: 0;
    }
    .footer_contact_container .main_btn_wrap {
        margin-bottom: unset;
    }
    .footer_contact_body_l {
        width: 28.3333rem;
    }
    .footer_contact_entry_wrap .footer_contact_body_l {
	    flex: 1;
	    width: 50%;
    }
    .footer_contact_body_r {
	    display: block;
	    flex: 1;
	    width: 50%;
	    margin-bottom: 0;
    }
		.footer_contact_desc {
			font-size: 0.8889rem;
			line-height: 2.2222rem;
			font-weight: 700;
			
			letter-spacing: .1em;
			padding-top: 1.1111rem;
			
			margin-top: -0.6667rem;
			margin-bottom: -0.6667rem;
		}
    .footer_contact_image {
        max-width: 16.6666rem;
    }
		.footer_contact_body_r.footer_contact_body_r_full .footer_contact_image {
			max-width: 35rem;
		}
    .footer_contact_image img {
        border-radius: 1.6666rem;
    }
    .footer_letter_wrap {
        margin-bottom: 2.7777rem;
        margin-bottom: 6.1111rem;
    }
    .footer_letter {
        padding-left: 0;
    }
    /*
    .footer_letter p {
        font-size: 1.6666rem;
        line-height: 3.8888rem;
        letter-spacing: .04em;
        transform: rotate(-5deg);
        margin-top: -1.1111rem;
    }
    */
    .footer_letter p {
	    	text-align: start;
        font-size: 1.3333rem;
        line-height: 2.6666rem;
        letter-spacing: .01em;
        margin-top: -.6666rem;
        margin-bottom: -.6666rem;
    }
    
    /* footer-contact END */



    .footer {
        padding-top: 3.8889rem;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 2.7777rem;
    }
    .footer_container {
        display: flex;
        max-width: 72.2222rem;
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
        margin: auto;
    }
    .footer_body_l {
        width: 34.3333rem;
    }
    .footer_body_r {
        flex: 1;
    }
    .footer_logo {
        text-align: start;
        margin-bottom: 2.7777rem;
    }
    .footer_logo p {
        font-size: 3.8888rem;
        padding-left: .86111rem;
    }
		.footer_logo img {
				width: 8.9722rem;
		}
    .footer_sns {
        margin-bottom: 2.2222rem;
    }
    .footer_sns_list {
        gap: .8333rem;
    }
    .footer_sns_item {
        width: 2.2102rem;
        height: 2.2102rem;
        box-shadow: .0694rem .0694rem .1388rem rgba(109, 109, 109, .75);
    }
    .footer_sns_item img , .footer_sns_item svg {
        height: 1.1051rem;
    }
    .footer_sns_item:nth-child(6) img , .footer_sns_item:nth-child(6) svg {}

		.footer_sns_list .snsicon {
			width: 1.1051rem;
			height: 1.1051rem;
		}
    .footer_policy_wrap_pc {
        display: block;
    }
    .footer_policy {
        font-size: .7777rem;
        line-height: 1em;
        font-weight: 400;
        letter-spacing: .05em;
        transition: all .2s linear;
    }
    .footer_policy::before {
        position: relative;
        display: inline-block;
        content: "▶︎ ";
    }
    .footer_policy:hover {
        color: #465DAA;
    }
    
    /*  */
    .footer_page_links_outer {
        display: grid;
        gap: 2.7778rem 5rem;
				grid-template-columns: repeat(3, 1fr);
				
				padding-bottom: 1.1111rem;
		    margin-bottom: 1.1111rem;
		    
		    border-bottom: 0.0556rem solid #FFF;
    }
    .footer_page_links {
        position: relative;
    }
    .footer_page_links:nth-child(1) {}
    .footer_page_links_top {
        border-bottom: 0;
        margin-bottom: 1.2222rem;
    }
    .footer_page_links:last-child .footer_page_links_top {
        margin-bottom: 1.2222rem;
    }
    .footer_page_links_top.sp-none {
        display: none;
    }
    .footer_page_links_top.pc-none {
        display: flex;
    }
    .footer_page_links_top.active {
        margin-bottom: 1.111rem;
    }
    .footer_page_links:first-child  .footer_page_links_top {
        border-top: 0;
    }
    .footer_page_links_top_text {
        height: unset;
        flex-direction: column;
        align-items: start;
    }
    .footer_page_links_top_text span.footer_page_links_top_text_main {
	    	min-width: unset;
        font-size: 1.6667rem;
        line-height: 1em;
    }
    .footer_page_links_top_text span.footer_page_links_top_text_sub {
	    	display: none;
        font-size: .8888rem;
        line-height: 1em;
        font-weight: 700;
        letter-spacing: .05em;
    }
    .footer_open {
        display: none;
    }
    .footer_page_links_list {
        display: grid;
        gap: 0.8889rem;
        padding-left: 0;
        margin-bottom: 0;
    }
    .footer_page_links_list li {
        margin-bottom: 0;
    }
    .footer_page_links_list li a , .footer_policy_link a {
        font-size: 0.6667rem;
        font-weight: 700;
        letter-spacing: .05em;
        color: #FFF;
        white-space: nowrap;
        transition: .2s all linear;
    }
    .footer_page_links_list li a::before , .footer_policy_link a::before {
        display: inline-block;
        content: "･";
        font-size: 0.6667rem;
        margin-right: .1666rem;
    }
    .footer_page_links_list[color="1"] li a::before {
        color: #FF4600;
    }
    .footer_page_links_list[color="2"] li a::before {
        color: #FFB400;
    }
    .footer_page_links_list[color="3"] li a::before {
        color: #A3E318;
    }
    .footer_page_links_list[color="4"] li a::before {
        color: #2ED2FF;
    }
    .footer_page_links_list_contact a {
	    display: inline-block;
	    position: relative;
	    text-align: center;
	    background: #FFF;
	    width: 8.8889rem;
	    
	    border-radius: 0.2778rem;
	    
	    color: #465DAA;
	    font-size: 0.6667rem;
	    line-height: 2.2222rem;
	    font-weight: 700;
	    letter-spacing: .05em;
	    
	    transition: .2s all linear;
    }
    .footer_page_links_list_contact a::before {
	    content: "";
	    
	    position: absolute;
	    left: 0.5556rem;
	    top: 50%;
	    transform: translateY(-50%);
	    background: #465DAA;
	    
	    width: 0.2778rem;
	    height: 0.2778rem;
	    border-radius: 50%;
    }
    .footer_page_links_top_text:hover , .footer_page_links_list a:hover , .footer_page_links_list_contact a:hover , .footer_policy_link a:hover {
	    opacity: .7;
    }
    /*  */
    
    
    .footer_button_link {
        margin-bottom: 2.0833rem;
    }
    .footer_copy_wrap {
        display: flex;
        flex-direction: row-reverse;
        max-width: 72.2222rem;
        margin: auto;
    }
    .footer_policy_link {
	    flex:1;
	    margin-bottom: 0;
    }
    .footer_button_link a {
        width: 22.2222rem;
        height: 7.7777rem;
        border-radius: 1.1111rem;
        padding-left: 1.1111rem;
        padding-right: 1.1111rem;
    }
    .footer_button_link a::before {
        right: 1.1111rem;
        width: 2.7777rem;
        height: 2.7777rem;
    
        background-size: .8333rem auto;
    }
    .footer_button_text_lg {
        font-size: 2.7777rem;
        margin-bottom: .8333rem;
    }
    .footer_button_text_xs {
        font-size: .7777rem;
    }
    .footer_copy {
	    width: 34.3333rem;
    }
    .footer_copy p {
        text-align: start;
        font-size: 0.6667rem;
        padding-bottom: 0;
    }
		.footer_contact_entry_wrap {
			background-image: url(../../img/common/pc-top-contact.jpg);
			min-height: 22.2222rem;
			max-width: 100%;
			
			
			border-radius: 2.7778rem;
			
			padding-top: 6.1111rem;
			padding-left: 8.3333rem;
			padding-right: 8.3333rem;
			padding-bottom: 0;
		}
		.footer_letter_entry_wrap {
			margin-bottom: 4.1666rem;
		}
    .footer_contact_title {
	    margin-bottom: 0.5556rem;
    }
    .footer_contact_title_mini {
	  	font-size: 0.7778rem;
	  	line-height: 1em;
	  	margin-bottom: 2.7778rem; 
    }








    /* ********** */


}