@charset "UTF-8";
/* CSS Document */

footer section.parallax {
	position: relative;
	height: 400px;
	overflow: hidden;
}

footer section.parallax picture {
	display: block;
	width: 100%;
	height: 100%;
}

footer section.parallax img {
	display: block;
	width: 100%;
	height: 140%;
	object-fit: cover;
	object-position: center;
	will-change: transform;
	transform: translate3d(0, -20%, 0);
}
footer section.sponsor {
    padding: 80px 0 80px 0;
}
footer section.sponsor div.inner {
    width: 100%;
    max-width: 1280px;
    padding: 0 60px 0 60px;
    margin: 0 auto 0 auto;
}
footer section.sponsor div.inner div.headline h2 {
    font-family: 'hiragino_w7';
    text-align: center;
    color: var(--color-navy);
    font-size: 40px;
    line-height: 1;
}
footer section.sponsor div.inner div.headline h2 span {
    display: block;
    font-size: 30px;
    margin: 0 0 20px 0;
}
footer section.sponsor div.inner div.list {
    margin: 60px 0 0 0;
}
footer section.sponsor div.inner div.list ul {
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 20px;
}
footer section.sponsor div.inner div.list ul li {
    width: calc(100% / 4 - 20px);
}
footer section.sponsor div.inner div.list ul li a {
    display: block;
}
footer section.sponsor div.inner div.list ul li a:hover {
    opacity: 0.8;
}
footer section.sponsor div.inner div.list ul li a img {
    width: 100%;
}
footer section.links {
    background: linear-gradient(90deg, var(--color-gd1) 0%, var(--color-gd2) 100%);
    padding: 40px 0 40px 0;
}
footer section.links div.inner {
    width: 100%;
    max-width: 1280px;
    padding: 0 60px 0 60px;
    margin: 0 auto 0 auto;
}
footer section.links div.inner div.list ul {
    justify-content: flex-start;
    align-items: stretch;
    gap: 20px;
}
footer section.links div.inner div.list ul li {
    width: calc(100% / 4 - 20px);
}
footer section.links div.inner div.list ul li a {
    display: block;
}
footer section.links div.inner div.list ul li a:hover {
    opacity: 0.8;
}
footer section.links div.inner div.list ul li a img {
    width: 100%;
}
footer section.links div.inner div.office {
    margin: 60px 0 0 0;
}
footer section.links div.inner div.office h2 {
    text-align: center;
    color: var(--color-white);
    font-size: 24px;
    line-height: 1;
}
footer section.links div.inner div.office p {
    text-align: center;
    margin: 12px 0 0 0;
    font-size: 18px;
    line-height: 1.8;
    color: var(--color-white);
}
footer section.information {
    padding: 60px 0 60px 0;
}
footer section.information div.inner {
    width: 100%;
    max-width: 1280px;
    padding: 0 60px 0 60px;
    margin: 0 auto 0 auto;
}
footer section.information div.inner div.kobe_af {
    max-width: 480px;
    margin: 0 auto 40px;
}
footer section.information div.inner div.kobe_af a {
    display: block;
    transition: opacity 0.3s;
}
footer section.information div.inner div.kobe_af a:hover {
    opacity: 0.8;
}
footer section.information div.inner div.kobe_af a img {
    width: 100%;
}
footer section.information div.inner div.wrap {
    justify-content: space-between;
    align-items: center;
}
footer section.information div.inner div.wrap div.text {
    justify-content: flex-start;
    align-items: center;
    gap: 40px;
}
footer section.information div.inner div.wrap div.text div.logo {
    width: 140px;
}
footer section.information div.inner div.wrap div.text div.logo img {
    width: 100%;
}
footer section.information div.inner div.wrap div.text div.address {
    width: calc(100% - 140px);
}
footer section.information div.inner div.wrap div.text div.address h3 {
    font-size: 15px;
    line-height: 1;
}
footer section.information div.inner div.wrap div.text div.address p {
    margin: 8px 0 0 0;
    font-size: 15px;
    line-height: 1.8;
    font-family: 'hiragino_w4';
}
footer section.information div.inner div.wrap div.slogan {
    width: 200px;
}
footer section.information div.inner div.wrap div.slogan img {
    width: 100%;
}
footer section.copyright {
    position: relative;
}
footer section.copyright div.motif img {
    width: 100%;
}
footer section.copyright div.under {
    margin: -2.6rem 0 0 0;
}
footer section.copyright div.under div.inner {
    width: 100%;
    max-width: 1280px;
    padding: 0 80px 0 80px;
    margin: 0 auto 0 auto;
}
footer section.copyright div.under div.inner div.wrap {
    justify-content: space-between;
    align-items: center;
}
footer section.copyright div.under div.inner div.wrap div.text p {
    font-size: 13px;
    line-height: 1;
    color: var(--color-white);
}
footer section.copyright div.under div.inner div.wrap div.sns ul.list {
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
}
footer section.copyright div.under div.inner div.wrap div.sns ul.list li a img {
    height: 24px;
}
footer section.copyright div.page_top {
    position: absolute;
    bottom: 2rem;
    right: 80px;
    width: 100%;
    max-width: 40px;
    cursor: pointer;
    z-index: 10;
}
footer section.copyright div.page_top img {
    width: 100%;
}
@media only screen and (max-width: 1279px) {
	footer section.sponsor {
		padding: 60px 0;
	}
	footer section.sponsor div.inner {
		padding: 0 40px;
	}
	footer section.sponsor div.inner div.headline h2 {
		font-size: 32px;
	}
	footer section.sponsor div.inner div.headline h2 span {
		font-size: 24px;
	}
	footer section.sponsor div.inner div.list ul li {
		width: calc((100% - 40px) / 3);
	}
	footer section.links div.inner {
		padding: 0 40px;
	}
	footer section.information div.inner {
		padding: 0 40px;
	}
	footer section.copyright div.under div.inner {
		padding: 0 40px;
	}
}
@media only screen and (max-width: 767px) {
	footer section.parallax {
		height: 250px;
	}
	footer section.sponsor {
		padding: 40px 0;
	}
	footer section.sponsor div.inner {
		padding: 0 20px;
	}
	footer section.sponsor div.inner div.headline h2 {
		font-size: 24px;
	}
	footer section.sponsor div.inner div.headline h2 span {
		font-size: 18px;
		margin: 0 0 12px 0;
	}
	footer section.sponsor div.inner div.list {
		margin: 30px 0 0 0;
	}
	footer section.sponsor div.inner div.list ul {
		gap: 12px;
	}
	footer section.sponsor div.inner div.list ul li {
		width: calc((100% - 12px) / 2);
	}
	footer section.links {
		padding: 30px 0;
	}
	footer section.links div.inner {
		padding: 0 20px;
	}
	footer section.links div.inner div.list ul {
		gap: 12px;
		flex-wrap: wrap;
	}
	footer section.links div.inner div.list ul li {
		width: calc((100% - 12px) / 2);
	}
	footer section.links div.inner div.office {
		margin: 30px 0 0 0;
	}
	footer section.links div.inner div.office h2 {
		font-size: 18px;
	}
	footer section.links div.inner div.office p {
		font-size: 14px;
	}
	footer section.information {
		padding: 40px 0;
	}
	footer section.information div.inner {
		padding: 0 20px;
	}
	footer section.information div.inner div.kobe_af {
		max-width: 320px;
		margin: 0 auto 30px;
	}
	footer section.information div.inner div.wrap {
		flex-direction: column;
		align-items: center;
	}
	footer section.information div.inner div.wrap div.text {
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
	footer section.information div.inner div.wrap div.text div.logo {
		width: 100px;
	}
	footer section.information div.inner div.wrap div.text div.address {
		width: 100%;
		text-align: center;
	}
	footer section.information div.inner div.wrap div.text div.address h3 {
		text-align: center;
		font-size: 13px;
	}
	footer section.information div.inner div.wrap div.text div.address p {
		text-align: center;
		font-size: 13px;
	}
	footer section.information div.inner div.wrap div.slogan {
		width: 140px;
		margin: 30px auto 0;
	}
	footer section.copyright div.under {
		margin: 0 0 0 0;
		padding-bottom: 20px;
        background: linear-gradient(90deg, var(--color-gd1) 0%, var(--color-gd2) 100%);
	}
	footer section.copyright div.under div.inner {
		padding: 0 20px;
	}
	footer section.copyright div.under div.inner div.wrap {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
	footer section.copyright div.under div.inner div.wrap div.text p {
		font-size: 11px;
		line-height: 1.4;
		text-align: center;
		overflow-wrap: break-word;
		word-break: break-all;
	}
	footer section.copyright div.under div.inner div.wrap div.sns ul.list {
		justify-content: center;
	}
	footer section.copyright div.page_top {
		bottom: 1rem;
		max-width: 32px;
	}
}