@charset "utf-8";


/*=======================================
TOPページ
=======================================*/


/*
hero
*/

.hero{
	width: 100%;
	height: auto;
	aspect-ratio: 128 / 63;
	background:#F0EDE4;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	}
@media screen and (max-width: 900px) {
.hero{
	width: 100%;
	height: calc(100svh - 54px);
	align-items: flex-start;
	aspect-ratio: auto;
	flex-wrap: wrap;
	flex-direction: column;
	}
	}

.hero > div{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	}

.hero > div:first-child{
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(/assets/images/hero2025.jpg);
	background-size: cover;
	}
@media screen and (max-width: 900px) {
.hero > div:first-child{
	width: 100%;
	height: calc(100% - (100vw - 5%));
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	}
	}

.hero > div:first-child img{
	width: 100%;
	height: 100%;
	}
@media screen and (max-width: 900px) {
.hero >div:first-child img{
	width: 100%;
	height: auto;
	}
	}

.hero > div:last-child{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	row-gap: 25px;
	flex-direction: column;
	}
@media screen and (max-width: 900px) {
.hero > div:last-child{
	height: calc(100vw - 5%);
	row-gap: 15px;
	}
	}

.hero > div:last-child picture{
	width: 70%;
	height: auto;
	}
@media screen and (max-width: 900px) {
.hero > div:last-child picture{
	width: 85%;
	}
	}

.hero > div:last-child img{
	width: 100%;
	height: 100%;
	}

div.btn{
	display: block;
	width: auto;
	}

div.btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 215px;
	height: 35px;
	background-color:#A72D2A;
	border-radius: 9999px;
	-webkit-border-radius: 9999px;
	-moz-border-radius: 9999px;
	}

div.btn a:hover{
	background-color:#8D1916;
	}

div.btn a p{
	color:#fff !important;
	line-height: 35px;
	}

.hero > div:last-child > p{
	text-align: center;
	line-height: 1.5em;
	font-size: .8em;
	}

/*
intro
*/

.intro{
	border-top: 1px solid #ccc;
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	}
@media screen and (max-width: 900px) {
.intro{
	flex-direction: column;
	}
	}

.intro div{
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	}

@media screen and (max-width: 900px) {
.intro div:first-child{
	padding: 30px 0;
	}
	}

.intro div:first-child img{
	width: 10%;
	height: auto;
	}
@media screen and (max-width: 900px) {
.intro div:first-child img{
	width: 20%;
	}
	}

.intro div:first-child p{
	width: 80%;
	margin-top: 30px;
	line-height: 1.6em;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break:break-all;
	}
@media screen and (max-width: 900px) {
.intro div:first-child p{
	width: 86%;
	}
	}

.intro div:last-child{
	border-left: 1px solid #ccc;
	}
@media screen and (max-width: 900px) {
.intro div:last-child{
	border-left: none;
	}
	}

.intro div:last-child img{
	width: 100%;
	height: auto;
	}

/*
sub
*/

.sub{
	width: 100%;
	height: auto;
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-direction: row;
	}

.sub > div:first-child{
	width: calc(100% - 160px);
	height: auto;
	border-right: 1px solid #ccc;
	}
@media screen and (max-width: 900px) {
.sub > div:first-child{
	width: 100%;
	border-right: none;
	}
	}

/*
hit
*/

.sub > div:first-child .hit{
	width: 100%;
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	}
@media screen and (max-width: 900px) {
.sub > div:first-child .hit{
	flex-direction: column;
	}
	}

.sub > div:first-child .hit > div{
	width: 100%;
	border-right: 1px solid #ccc;
	border-top: 4px solid #A72D2A;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	padding: 50px 0;
	}
@media screen and (max-width: 900px) {
.sub > div:first-child .hit > div{
	padding: 40px 0;
	}
	}


.sub > div:first-child .hit > div:last-child{
	border-right: none;
	}

.sub > div:first-child .hit > div > div{
	width: 80%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	}
@media screen and (max-width: 900px) {
.sub > div:first-child .hit > div > div{
	width: 90%;
	}
	}

.sub > div:first-child .hit > div > div > h3{
	color:#A72D2A;
	font-weight: 700;
	font-size: 1.8em;
	}

.sub > div:first-child .hit > div > div > p{
	font-weight: 500;
	margin-top: 15px;
	}

.sub > div:first-child .hit > div > div > div{
	}
@media screen and (max-width: 900px) {
.sub > div:first-child .hit > div > div > div{
	width: 100%;
	margin-top: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	column-gap: 15px;
	}
	}

@media screen and (max-width: 900px) {
.sub > div:first-child .hit > div > div > div > .img{
	width: 40%;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	}
	}

.sub > div:first-child .hit > div > div > div > .img img{
	width: 100%;
	margin-top: 45px;
	}
@media screen and (max-width: 900px) {
.sub > div:first-child .hit > div > div > div > .img img{
	height: 100%;
	width: auto;
	margin-top: 0;
	}
	}

.sub > div:first-child .hit > div > div > div > img{
	width: 100%;
	}

.sub > div:first-child .hit > div > div > div ul{
	width: 90%;
	margin-top: 20px;
	}
@media screen and (max-width: 900px) {
.sub > div:first-child .hit > div > div > div ul{
	width: calc(60% - 10px);
	margin-top: 0;
	}
	}

.sub > div:first-child .hit > div > div > div ul li{
	}

.sub > div:first-child .hit > div > div > div ul li a{
	}

.sub > div:first-child .hit > div > div > div ul li a p{
	display: inline-flex;
	align-items: center; 
	gap: .5em;
	line-height: 2;
	font-weight: 500;
	}

.sub > div:first-child .hit > div > div > div ul li a p::before{
	content: "";
	width: 1em;
	aspect-ratio: 1;
	background: url(../images/arrow-right.svg) no-repeat center / contain;
	flex: 0 0 auto;
	}

.sub > div:first-child .hit > div > div > div ul li a:hover p{
	text-decoration: underline;
	}

.sub > div:first-child .hit > div > div > div .btn{
	margin-top: 20px;
	max-width: 100%;
	}

.sub > div:first-child .hit > div > div > div .btn a{
	margin-top: 0;
	}

/*
recent
*/

.recent{
	width: 100%;
	height: auto;
	text-align: center;
	border-top: 4px solid #A72D2A;
	padding: 50px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	}
@media screen and (max-width: 900px) {
.recent{
	padding: 40px 0;
	}
	}

.recent > h3{
	color:#A72D2A;
	font-weight: 700;
	font-size: 1.8em;
	}

.recent > p{
	font-weight: 500;
	margin-top: 15px;
	}

.recent > div{
	margin-top: 50px;
	width: 70%;
	}
@media screen and (max-width: 900px) {
.recent > div{
	margin-top: 35px;
	width: 90%;
	}
	}

.recent > div ul{
	}

.recent > div ul li{
	border-top: 1px solid #ccc;
	padding: 20px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	}
@media screen and (max-width: 900px) {
.recent > div ul li{
	flex-direction: column;
	}
	}

.recent > div ul li p{
	text-align: left;
	line-height: 1.6em;
	}

.recent > div ul li p:first-child{
	width: 160px;
	color:#A72D2A;
	}
@media screen and (max-width: 900px) {
.recent > div ul li p:first-child{
	width: 100%;
	}
	}

.recent > div ul li p:last-child{
	width: calc(100% - 160px);
	}
@media screen and (max-width: 900px) {
.recent > div ul li p:last-child{
	margin-top:10px;
	width: 100%;
	}
	}

.recent > div ul li a{
	font-weight: 500;
	}

.recent > div ul li p:last-child a:hover {
	color:#A72D2A;
	text-decoration: underline;
	}

.recent > div.btn{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 50px;
	}
@media screen and (max-width: 900px) {
.recent > div.btn{
	margin-top: 20px;
	}
	}




/*
sidebar
*/


.sub > div:last-child{
	width: 160px;
	height: auto;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding:20px 0;
	}
@media screen and (max-width: 900px) {
.sub > div:last-child{
	display: none;
	}
	}

.sub > div:last-child > div{
	width: 130px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	}

.sub > div:last-child > div .officialpartners {
	position: relative;
	width: 100%;
	}

.sub > div:last-child > div .officialpartners p{
	display: none;
	}

.sub > div:last-child > div .officialpartners_detail{
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	}

.sub > div:last-child > div .officialpartners_detail > p{
	width:100%;
	font-size: .8em;
	font-weight: 500;
	text-align: center;
	margin-top: 30px;
	padding-bottom: 5px;
	border-bottom: 1px solid #ccc;
	}

.sub > div:last-child > div .officialpartners_detail > a{
	width:100%;
	margin-top: 15px;
	border: 1px solid #ccc;
	}

.sub > div:last-child > div .officialpartners_detail > a img{
	width:100%;
	}








